[Insight-users] InvalidRequestedRegionError with ExtractImageFilter
robert tamburo
robert.tamburo at gmail.com
Thu Mar 10 06:26:47 EST 2011
That error means desiredRegion is outside the bounds of image.
Not entirely sure how a 0-sized region is handled, but this looks
suspicious:
size[1]=0; //y-Dimension wird gelöscht
Also check whether slice is less than the size of image in the
y-direction,e.g.:
if(slice < size[1])
start[1]=slice; //constant y-value
else
// something else
On Thu, Mar 10, 2011 at 4:39 AM, Melanie Uks <meluks2010 at googlemail.com>wrote:
> Hi all,
>
> I try to extract a slide of a 3D image with the ExtractImageFilter. I
> mainly used the code I found in the Software Guide under "7.7 Extracting
> Slices". I always get this error:
>
> itk::InvalidRequestedRegionError (0153BF38)
> Location: "void __thiscall
> itk::DataObject::PropagateRequestedRegion(void) throw (class
> itk::InvalidRequestedRegionError)"
> File: ..\..\InsightToolkit-3.16.0\Code\Common\itkDataObject.cxx
> Line:397
> Description: Requested region is (at least partially outside the largest
> possible region.
>
> The image is a global variable and used with several (itk) functions. One
> of those is the ExtractImageFilter.
> This is the code:
>
> typedef itk::Image<PixelType, 2> OutputImageType; //dimension
> typedef itk::ExtractImageFilter<ImageType, OutputImageType>
> ExtractFilterType;
> ExtractFilterType::Pointer extractFilter = ExtractFilterType::New();
>
> ImageType::RegionType inputRegion = image->GetLargestPossibleRegion();
> //image size
> ImageType::SizeType size = inputRegion.GetSize();
> size[1]=0; //y-Dimension wird gelöscht
>
> ImageType::IndexType start = inputRegion.GetIndex();
> start[1]=slice; //constant y-value
>
> ImageType::RegionType desiredRegion; //region of the slide in the 3D
> inage
> desiredRegion.SetSize(size);
> desiredRegion.SetIndex(start);
>
> extractFilter->SetExtractionRegion(desiredRegion); //add region to
> filter
> extractFilter->SetInput(image); //Input: image
>
> OutputImageType::Pointer outimage = OutputImageType::New();
>
> try
> {
> extractFilter->Update(); //filtering
> outimage = extractFilter->GetOutput();
> }
> catch(itk::ExceptionObject &err)
> {
> std::cerr << "ExeptionObject caught!" << std::endl;
> std::cerr << "Image2QImage Slice extract." << std::endl;
> std::cerr << err << std::endl;
> }
>
> It would be great if someone knows what I have to change to avoid the
> error.
> Thanks in advance!
> Regards
>
> melanie
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110310/1ceccad8/attachment.htm>
More information about the Insight-users
mailing list