[Insight-users] itkRegionOfInterestImageFilter question

Luis Ibanez luis.ibanez at kitware.com
Wed Aug 10 11:17:15 EDT 2005


Hi Moti,


It seems that you never passed the "desiredRegion"
to the itk::RegionOfInterestImageFilter ("_filter")



Please look at the usage of this filter in the ITK
Software Guide

    http://www.itk.org/ItkSoftwareGuide.pdf

in Section 7.6, "Extracting Region", pdf-page 298.




The source code of the example is available at


    Insight/Examples/IO/
      ImageReadRegionOfInterestWrite.cxx



Regards,


    Luis


----------------------------
freiman at cs.huji.ac.il wrote:
> Hello!
> I have the follwoing problem.
> i read A 3D image, then extract a region of interest and save it.
> when i try to read the extracted region again, i got a garbage image.
> below is my code:
> 
> //reading part
>         VoxIo::Pointer imageio = VoxIo::New();
> 	imageio->SetFileDimensionality (3);
> 	imageio->SetDimensions (0,dim_x);
> 	imageio->SetDimensions (1,dim_y);
> 	imageio->SetDimensions (2,dim_z);
> 	imageio->SetByteOrderToLittleEndian();
> 	imageio->SetSpacing (0, spacing_x);
> 	imageio->SetSpacing (1, spacing_y);
> 	imageio->SetSpacing (2, spacing_z);
> 	imageio->SetOrigin (0,origin_x);
> 	imageio->SetOrigin (1,origin_y);
> 	imageio->SetOrigin (2,origin_z);
> 	imageio->SetHeaderSize (512);
> 	imageio->SetFileTypeToBinary();
> 	
> 	ReaderType::Pointer reader = ReaderType::New();
> 	reader->SetFileName(volumeName.c_str());
> 	reader->SetImageIO (imageio);
> 	reader->Update();
> 
> //extract roi part
> 	ImageType::Pointer image = reader->GetOutput();
>         ImageType::IndexType start;
> 	start[0] = min_x;
> 	start[1] = min_y;
>         start[2] = min_z;
>     	
> 	ImageType::SizeType size;
> 	size[0] = max_x - min_x;
> 	size[1] = max_y - min_y;
> 	size[2] = max_z - min_z;
> 
> 	ImageType::RegionType desiredRegion;
> 	desiredRegion.SetSize( size );
> 	desiredRegion.SetIndex( start );
> 	
> 	ROIFilterType::Pointer _filter = ROIFilterType::New();
> 
> 	
> 	_filter->SetInput (reader->GetOutput());
>         _filter->Update();
>         
> 
> //writing partwhere extent hold new image extent and spacing hold image
> spacing
> 
>         VoxIo::Pointer imageio = VoxIo::New();
> 	imageio->SetFileDimensionality (3);
> 	imageio->SetDimensions (0,extent[1]-extent[0]);
> 	imageio->SetDimensions (1,extent[3]-extent[2]);
> 	imageio->SetDimensions (2,extent[5]-extent[4]);
> 	imageio->SetByteOrderToLittleEndian();
> 	imageio->SetSpacing (0, spacing[0]);
> 	imageio->SetSpacing (1, spacing[1]);
> 	imageio->SetSpacing (2, spacing[2]);
> 	imageio->SetOrigin (0,extent[0]);
> 	imageio->SetOrigin (1,extent[2]);
> 	imageio->SetOrigin (2,extent[4]);
> 	imageio->SetHeaderSize (512);
> 	imageio->SetFileTypeToBinary();
> 	
> 		
> 	
> 
> 	WriterType::Pointer writer = WriterType::New();
> 
> 	writer->SetInput (_filter->GetOutput());
> 	writer->SetImageIO (imageio);
> 	writer->SetFileName (filename.c_str());
>         writer->Update();
> //////////////////////end/////////////////////////////////////
> then when i try to read the region i saved before i got a garbage image,
> thanks.
> moti
> __
> Moti Freiman, Graduate Student.
> Medical Image Processing and Computer-Assisted Surgery Laboratory.
> School of Computer Science and Engineering.
> The Hebrew University of Jerusalem Givat Ram, Jerusalem 91904, Israel
> Phone: +(972)-2-658-5371 (laboratory)
> E-mail: freiman at cs.huji.ac.il
> WWW site: http://www.cs.huji.ac.il/~freiman
> 
> 
> 
> --------------------------------------------------------------------
> mail2web - Check your email from the web at
> http://mail2web.com/ .
> 
> 
> _______________________________________________
> 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