[ITK] [ITK-users] itkImageFileWriter + ExtractSliceImageFilter: largest region exception
Timothee Evain
tevain at telecom-paristech.fr
Tue Sep 8 15:43:53 EDT 2015
Hi Marcos,
Regarding the ExtractImageFilter, this is an expected result. As you can read here, http://www.itk.org/Doxygen/html/classitk_1_1ExtractImageFilter.html , setting the collapse direction is mandatory. The default setting is "Unknown" and the filter will not run correctly.
So I suggest you add:
extracter->DirectionCollapseToIdentity();
This should works.
Tim
----- Mail original -----
De: "Marcos" <fotosentido at gmail.com>
À: insight-users at itk.org
Envoyé: Mardi 8 Septembre 2015 21:06:25
Objet: Re: [ITK] [ITK-users] itkImageFileWriter + ExtractSliceImageFilter: largest region exception
Hi,
I know the input and desired regions, not sure how to look for the buffered region.
1. Reviewing my code I saw I didn't set the input image for the extracter, so I added:
extracter->SetInput(image);
Good, right? But no. Still the same error.
2. Then I tried switching to itkExtractImageFilter, and I got:
Exception at 0x7633c42d, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) at c:\itk-4.8.0-installed\include\itk-4.8\itkextractimagefilter.hxx:242
So I had to look inside this code (why don't throw me more info in the try catch?) to see what's happening, and I read this:
itkExceptionMacro ( << " It is required that the strategy for collapsing the direction matrix be explicitly specified. " << " Set with either myfilter->SetDirectionCollapseToIdentity() or myfilter->SetDirectionCollapseToSubmatrix() " << typeid ( ImageBase< InputImageDimension > * ). name () );
3. I also tried to insert a:
image->Update();
or
image->UpdateOutputData();
with same results.
I was thinking about passing the reader, but I'd like to apply changes to my image, so this method would receive a modified copy (no DeepCopy method like in vtk?)
Yes, the input image is connected to a pipeline:
itk::Image -> itk:: ImageToVTKImageFilter -> vtk:: vtkImageFlip -> vtkImageData -> vtkImageViewer2
Thanks again for your interest.
2015-09-08 16:16 GMT+02:00 Bradley Lowekamp < blowekamp at mail.nih.gov > :
Hello,
What is the buffered region for the input image? Is the input image connected to a pipeline?
Perhaps you just forgot to update the input image before running this function?
Brad
On Sep 7, 2015, at 5:21 PM, Marcos < fotosentido at gmail.com > wrote:
Hi,
I have a method that was exporting fine one frame from my itk::Image.
My method:
void Exporter :: exportOriginal ( QString fileName , ImageType :: Pointer image , int frame )
{
typedef itk :: ImageFileWriter < FrameImageType > WriterType ;
WriterType :: Pointer writer = WriterType :: New ();
writer -> SetFileName ( fileName . toStdString (). c_str ());
ImageType :: RegionType inputRegion = image -> GetLargestPossibleRegion ();
ImageType :: IndexType index = inputRegion . GetIndex ();
ImageType :: SizeType size = inputRegion . GetSize ();
index [ 0 ] = 0 ;
index [ 1 ] = 0 ;
index [ 2 ] = frame ;
// 3D to 2D
size [ 2 ] = 0 ;
ImageType :: RegionType outputRegion ;
outputRegion . SetIndex ( index );
outputRegion . SetSize ( size );
typedef itk :: Testing :: ExtractSliceImageFilter < ImageType , FrameImageType > ExtractType ;
ExtractType :: Pointer extracter = ExtractType :: New ();
extracter -> SetExtractionRegion ( outputRegion );
writer -> SetInput ( extracter -> GetOutput ());
try
{
writer -> Update ();
}
catch ( itk :: ExceptionObject & ex )
{
std : cerr << ex << std :: endl ;
}
}
as inputRegion, I have:
index: [0, 0, 0]
size: [512, 512, 12]
as outputRegion, I have:
index: [0, 0, 1] # first frame
size: [512, 512, 0]
But I'm not sure what happened, now with every image I got an exception:
itkimagefilewriter.hxx:287: " Largest possible region does not fully contain requested paste IO region "
By the way, my try catch is not getting the exception message, I had to look inside the writer class.
Any ideas? Thank you.
_____________________________________
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.php
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://public.kitware.com/mailman/listinfo/insight-users
_____________________________________
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.php
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://public.kitware.com/mailman/listinfo/insight-users
_______________________________________________
Community mailing list
Community at itk.org
http://public.kitware.com/mailman/listinfo/community
_____________________________________
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.php
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://public.kitware.com/mailman/listinfo/insight-users
More information about the Community
mailing list