[Insight-users] Extract Image Filter

Luis Ibanez luis.ibanez@kitware.com
Tue, 04 Feb 2003 14:10:55 -0500


Jim,

Well, may this is the problem....

fltkImageViewer uses internally the GLSliceViewer
which in the SetInputImage() method it asks for

       GetLargestPossibleRegion()

Should be change it for "GetRequestedRegion()"
or "GetBufferedRegion()" ?


Luis



--------------------------------------------


Miller, James V (Research) wrote:
> Luis,
> 
>  
> 
> Does this mean there is an issue with the FLTK image viewer?  Is it 
> triggering off the wrong Region?
> 
>  
> 
> Jim
> 
>     -----Original Message-----
>     *From:* Puja Malik [mailto:puja.malik@MEMcenter.unibe.ch]
>     *Sent:* Tuesday, February 04, 2003 11:27 AM
>     *To:* itk newsgroup
>     *Subject:* [Insight-users] Extract Image Filter
> 
>     Hi Luis,
> 
>     I've managed to fix my problem in the ExtractImageFilter.  I do have
>     one concern though.  I cannot directly use the image object from the
>     output of the filter, and view it in the fltk image filter.  If I do
>     this, the images intensity range is altered, and the first slice is
>     distorted.  I must first write the output of the filter ( image
>     object ) to a file, read it back into a new image object and then
>     view it.  This way, I see a correctly extracted image.  This is very
>     strange.  It would be convenient if the output of the filter could
>     be used directly.  Please see my code below, including the extra
>     steps I needed to perform to get the desired results.
> 
>     void ExtractImageRegion(ImageType::Pointer imIN, ImageType::SizeType
>     regSize,
>                                                        ImageType::IndexType
>     regIndex)
>     {
> 
>      typedef itk::ExtractImageFilter< ImageType, ImageType > FilterType;
>      FilterType::Pointer filter = FilterType::New();
>      ImageType::Pointer imOUT;
> 
>      ImageType::RegionType region;
>      region.SetSize(regSize);
>      region.SetIndex(regIndex);
> 
>      filter->SetExtractionRegion(region);
>      filter->SetInput(imIN);
>      filter->Update();
>      
>     // View(filter->GetOutput(), "region");  <-- doing this directly
>     shows a distorted image
> 
>     //the following is the extra steps needed to view a correct image
>     //View, Read, WriteMetaFile are my own functions written using itk
>     classes.
>         imOUT = filter->GetOutput();
>         imOUT->DisconnectPipeline();
>      
>         ImageType::Pointer im;
>         WriteMetaFile("/home/encephalon/puja/testRegion.mhd", imOUT);
>          im=Read("/home/encephalon/puja/testRegion.mhd");
>          View(im, "region");
> 
>     }
> 
>     Thanks for your help,
>     Puja
> 
> -- 
> ---------------------------------------
> Puja Malik
> Surgical Instruments Group
> MEM Research Center for Orthopaedic Surgery
> Institute for Surgical Technology and Biomechanics 
> University of Bern
> Murtenstrasse 35, P.O. Box 8354
> 3010 Bern, Switzerland
> Phone: +41-31-632-8730
> Fax: +41-31-632-4951
> Email: Puja.Malik@MEMcenter.unibe.ch
> http://www.MEMcenter.unibe.ch
> ---------------------------------------
> 
>       
>