[Insight-users] Extract Image Filter
Stephen R. Aylward
aylward@unc.edu
Tue, 04 Feb 2003 15:48:58 -0500
The difficult thing is that viewers need an entire slice per view (at
least). I don't think any viewer will work if it is only passed a
Requested or Buffered region. FltkImageViewer actually has a built-in
volume renderer, hence it does a GetLargestPossibleRegion.
We could try to determine which data is currently being viewed, and then
pass that back as the requested region - in effect, the viewer would end
up driving the pipeline - calculations are made based on which slice the
user is currently viewing.
There are commercial viz systems for medicine that work that way: slice
based.
I could try to check something in really fast on this...just kidding...
Perhaps we can talk about it at the meeting on Thursday.
Stephen
Luis Ibanez wrote:
> 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
>> ---------------------------------------
>>
>>
>
>
>
>
>
>
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users