[Insight-users] ITK exception caught in
main :itk::InvalidRequestedRegionError (0x82cb748)
Karthik Krishnan
Karthik.Krishnan at kitware.com
Fri Feb 3 13:44:30 EST 2006
charfeddine amir wrote:
> Hi Jim
> I didn't well understand your answer
probably because of the typo:
"You should need both the call to Update() and
UpdateLargestPossibleRegion()." instead reads
"You shouldn't need both the call to Update() and
UpdateLargestPossibleRegion()."
> but i think it's too important because i still have a similar problem :
>
> ITK exception caught in main
>
> itk::InvalidRequestedRegionError (0x82004f8)
> Location: "Image::PropagateRequestedRegion()"
> File: /usr/local/InsightToolkit-2.4.0/Code/Common/itkDataObject.cxx
> Line: 397
> Description: Requested region is (at least partially) outside the
> largest possible region.
>
> What should i add, did i forget something?
> thx in advance
>
> */"Miller, James V (GE, Research)" <millerjv at crd.ge.com>! /* a écrit :
>
> Amir,
>
> You should need both the call to Update() and
> UpdateLargestPossibleRegion(). The call to
> UpdateLargestPossibleRegion() should be fine.
>
> jim
>
> -----Original Message-----
> *From:* charfeddine amir [mailto:charfeddine_amir at yahoo.fr]
> *Sent:* Thursday, February 02, 2006 2:24 AM
> *To:* Miller, James V (GE, Research); insight insight
> *Subject:* RE: [Insight-users] ITK exception caught in main
> :itk::InvalidRequestedRegionError (0x82cb748)
>
> Hi Jim,
> thx very much
> i just add a call to the UpdateLargestPossibleRegion() method
> , and every thing was ok:
> .
> .
> m_ImageReader->SetFileName( FileNamesItr->c_str());
> m_ImageReader->Update();
> m_ImageReader->UpdateLargestPossibleRegion()
> .
> .
> Regards,
> Amir.
>
> */"Miller, James V (GE, Research)" <millerjv at crd.ge.com>/* a
> écrit :
>
> The problem is probably in your LoadNextImage() method.
>
> What ImageType is ImageFileReader loading? Is it a 2D or
> 3D image?
>
> When a pipeline is run the first time, it establishes a
> set of region requests at each stage in the pipeline. The
> last filter places a request on the filter before ! it,
> that filter places a request on the filter before it, ...
> When you changed the filename on the reader, the reader
> may no longer satisfy the request cached between it and
> the downstream filters. When you change a parameter like
> the slice to visualize (or the amount to shrink an image),
> you need to call UpdateLargestPossibleRegion() instead of
> Update() on the pipeline to renogiate the regions and
> ignore the previous cached versions.
>
>
> Jim
>
> -----Original Message-----
> *From:*
> insight-users-bounces+millerjv=crd.ge.com at itk.org!
> [mailto:insight-users-bounces+millerjv=crd.ge.com at itk.org]*On
> Behalf Of *charfeddine amir
> *Sent:* Wednesday, February 01, 2006 10:37 AM
> *To:* insight insight
> *Subject:* [Insight-users] ITK exception caught in
> main :itk::InvalidRequestedRegionError (0x82cb748)
>
> HI all
> i have this error and the program crash while triying
> to visualize Dicom Image.
> this program read all Dicom files belonging to the
> same serie, from a given directory.
> each file c! ontain many slice of a fantom.
> I take the ShapeDetectionLevelSet program from the
> InsightApplications and edit it do that.
> i start with pushing the Load Button, I select a dicom
> directory containing files, then program read all the
> Dicom files belonging to the same serie( the first one
> found), and read the first Dicom file, then i can
> visualize it when i click on the Display Button (under
> Load button),
> then i move to the next Dicom file! in serie with a
> counter (like fltk slider), and when i reclick on
> display, the program crash with the following message:
>
> ITK exception caught in main
>
> itk::InvalidRequestedRegionError (0x82cb748)
> Location: "Image::PropagateRequestedRegion()"
> File:
> /usr/local/InsightToolkit-2.4.0/Code/Common/itkDataObject.c!
> xx
> Line: 397
> Description: Requested region is (at least partially)
> outside the largest possible region.
>
> t! his is part of code i add:
>
> //function for loading the first serie in the
> directory dirname
> void
> ShapeDetectionLevelSetBase
> ::LoadInputDir( const char * dirname )
> {
>
> if( !dirname )
> {
> return;
> }
> nameGenerator->SetDirectory( dirname );
> seriesUID = nameGenerator->GetSeriesUIDs();
>
> seriesIdentifier = seriesUID.begin()->c_str();
>
>
> fileNames = nameGenerator->GetFileNames(
> seriesIdentifier ); FileNamesBegin =
> fileNames.begin();
> FileNamesItr = fileNames.end(); FileNamesEnd =
> fileNames.end();
>
> ListCardinal=0;
> ListPosition=1;
> while( FileNamesItr != FileNamesBegin )
> {
> ListCardinal++;
> FileNamesItr--;
> }
>
> LoadCurrentImage();
> }
>
> //function for! reading the first file in serie
> void
> ShapeDetectionLevelSetBase
> ::LoadCurrentImage()
> {
>
> ! m_ImageReader->SetFileName( FileNamesItr->c_str());
> m_ImageReader->Update();
> m_InputImage=m_ImageReader->GetOutput();
>
> // Allocate an image of seeds of the same size
> InputImageType::RegionType region
> =
> m_ImageReader->GetOutput()->GetLargestPossibleRegion();
>
> InputImageType::SizeType size = region.GetSize();
>
> for(unsigned int i=0; i<ImageDimension; i++)
> {
> if( size[i] < 10 )
> {
> this->ShowStatus("Image must be 3D and with at
> least 10 pixels along each Dimension.");
> itk::ExceptionObject excp;
> excp.SetDescription("Image must be 3D and with!
> at least 10 pixels along each Dimension.");
> throw ! excp;
> }
> }
>
>
> m_SeedImage->SetRegions( region );
> m_SeedImage->Allocate();
> m_SeedImage->FillBuffer(
> itk::NumericTraits<SeedImageType::PixelType>::Zero );
>
> m_FastMarchingFilter->SetOutputSize( region.GetSize() );
>
>
> m_InputImageIsLoaded = true;
> }
>
> //function for reading the next file in serie
> void
> ShapeDetectionLevelSetBase
> ::LoadNextImage( )
> {
> if ( FileNamesItr != FileNamesEnd )
> {
> FileNamesItr++;
> ListPosition++;
> m_ImageReader->SetFileName( FileNamesItr->c_str() );
> m_ImageReader->Update();
> m_InputImage=m_ImageReader->GetOutput();
> }
>
> //this->ShowInputImage();
>
> InputImageType::RegionType region
> =
> m_ImageReader->GetOutput()->GetLargestPossibleRegion();
>
> InputImageType::SizeType size = region.GetSize();
>
> for(unsigned int i=0; i<ImageDimension; i++)
> {
> if( size[i] < 10 )
> {
> this->ShowStatus("Image must be 3D and with at
> least 10 pixels along each Dimension.");
> itk::ExceptionObject excp;
> excp.SetDescription("Image must be 3D and wit! h
> at least 10 pixels along each Dimension.");
> throw excp;
> }
> }
>
>
> m_SeedImage->SetRegions( region );
> m_SeedImage->Allocate();
> m_SeedImage->FillBuffer(
> itk::NumericTraits<SeedImageType::PixelType>::Zero );
>
> m_FastMarchingFilter->SetOutputSize( region.GetSize() );
> }
>
> //function for reading the previous file in serie
> void
> ShapeDetectionLevelSetBase
> ::LoadPrevImage( )
> {
>
> if ( FileNamesItr != FileNamesBegin )
> {
> FileNamesItr--;
> ListPosition--;
> m_ImageReader->SetFileName( FileNamesItr->c_str() );
> m_ImageReader->Update();
> mm_IInputImage=m_ImageReader->GetOutput();
> }
>
> //this->ShowInputImage();
>
> InputImageType::RegionType region
> =
> m_ImageReader->GetOutput()->GetLargestPossibleRegion();
>
> InputImageType::SizeType size = region.GetSize();
>
> for(unsigned int i=0; i<ImageDimension; i++)
> {
> if( size[i] < 10 )
> {
> this->ShowStatus("Image must be 3D and with at
> least 10 pixels along each Dimension.");
> itk::ExceptionObject excp;
> excp.SetDescription("Image must be 3D and w! ith
> at least 10 pixels along each Dimension.");
> throw excp;
> }
> }
>
>
> m_SeedImage->SetRegions( region );
> m_SeedImage->Allocate();
> m_SeedImage->FillBuffer(
> itk::NumericTraits<SeedImageType::PixelType>::Zero );
> m_FastMarchingFilter->SetOutputSize( region.GetSize() );
>
> }
> /*********************************************************************************************/
>
>
> any comment is welcome
> thx
> Amir,
> ------------------------------------------------------------------------
> Nouveau : téléphonez moins cher avec Yahoo! Messenger
> ! Découvez les tarifs exceptionnels pour appeler la
> France et l'international. Téléchargez
> <http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.beta.messenger.yahoo.com>
> la version beta.
>
>
> ------------------------------------------------------------------------
> Nouveau : téléphonez moins cher avec Yahoo! Messenger !
> Découvez les tarifs exceptionnels pour appeler la France et
> l'international. Téléchargez
> <http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.beta.messenger.yahoo.com>
> la version beta.
>
>
> ------------------------------------------------------------------------
> Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les
> tarifs exceptionnels pour appeler la France et l'international.
> Téléchargez
> <http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.beta.messenger.yahoo.com>
> la version beta.
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Insight-users mailing list
>Insight-users at itk.org
>http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-users
mailing list