[Insight-users] InvalidRequestedRegionError with ExtractImageFilter
alba garin
albagarin1986 at hotmail.com
Thu Mar 10 05:01:20 EST 2011
Hi,
i took a look to your code and i am newbie but i think that you have to define the same region (inputRegion and desiredRegion should be the same i mean... doing sth like this it works).<code> ImageType::RegionType _region = img->GetLargestPossibleRegion();
ImageType::IndexType _index = _region.GetIndex();
_index[0] = 110;
_index[1] = 95;
_index[2] = 25;
ImageType::SizeType _size = _region.GetSize();
_size[0] = 35;
_size[1] = 55;
_size[2] = 10;
_region.SetIndex( _index );
_region.SetSize( _size );
extractFilter->SetExtractionRegion( _region );
try
{
extractFilter->Update();
}
catch( itk::ExceptionObject &e )
{
std::cerr << e.GetDescription() << std::endl;
exit( EXIT_FAILURE );
}</code> Another option could be that the error could appear when defining the size (SizeType) and the start (IndexType).
hope it helps.Alba
Date: Thu, 10 Mar 2011 10:39:45 +0100
From: meluks2010 at googlemail.com
To: insight-users at itk.org
Subject: [Insight-users] InvalidRequestedRegionError with ExtractImageFilter
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/1982acd2/attachment.htm>
More information about the Insight-users
mailing list