[Insight-users] Adopting the itk::OrientedImage --> itk::Image
Luis Ibanez
luis.ibanez at kitware.com
Sun May 13 09:15:36 EDT 2007
Hi Gheorghe
Yes, it would have been interesting to introduce a
section on the itkOrientedImage. We have been hesitating
about the best course of action regarding this new class.
For medical applications, it would best is the functionalities
of the itk::OrientedImage became the default behavior of the
itk::Image. The difficulty is that such change will have
some computation time implications and some backward
compatibility implications.
Depending on the course of action we could have use the
itk::OrientedImage just as a transitional class, to test
the functionalities before moving them into the itkImage.
We will be grateful to hear your suggestions on this matter,
Thanks
Luis
---------------------------
Gheorghe Postelnicu wrote:
> Hi Luis,
>
> Thanks for the reminder regarding the output grid size. As for the
> chapter in question, as I was now reading it, wouldn't it be helpful
> to also introduce a section regarding the use of OrientedImage?
>
> Thanks again,
>
>
>
> On 5/8/07, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
>>
>>
>> Hi Gheorghe
>>
>>
>> Mmm, you didn't do your homework.
>>
>>
>> You have not read the ITK Software Guide chapter.
>>
>>
>>
>> Should you have read the chapter, you could have found that you
>> can compute a single slice as the output of the resampling by
>> just selecting an image grid of dimensions ( N x M x 1 ).
>>
>> ... and you could have avoided jumping to the *incorrect*
>> conclusion that this is an inefficient method...
>>
>>
>>
>> You *don't need to resample the entire volume*, you can define the
>> exact grid of points for which pixel values are to be computed.
>>
>>
>> Please read the ITK Software Guide
>>
>>
>> http://www.itk.org/ItkSoftwareGuide.pdf
>>
>> Section 6.9.4 "Resample Image Filter", pdf-pages 254-284.
>>
>>
>> What you need is to define a rigid 3D transform, and to setup
>> an Output image grid of dimensions N x M x 1.
>>
>>
>>
>>
>> Beware of the Aristotelian syndrome:
>>
>>
>> "Too much idle thinking...
>> not enough experimentation"
>>
>>
>>
>>
>> Regards,
>>
>>
>> Luis
>>
>>
>>
>> ----------------------------
>> Gheorghe Postelnicu wrote:
>> > Hi Luis,
>> >
>> > Thanks for the suggestion. My prototype solution will indeed use the
>> > aproach you suggest. However, it is obviously inefficient, as it will
>> > resample the entire volume, when I will only need one slice.
>> > Additionally, it presents the disadvantage of increasing the number of
>> > necessary interpolations: to get the pixel value at a position, 2
>> > interpolations (instead of one) will be necessary.
>> >
>> > That is why I was thinking that an image wrapper class would be great.
>> > If you can suggest an example or a skeleton of the methods that I
>> > would need to write to make this happen, I would be more than happy to
>> > contribute the code resulting.
>> >
>> > Thanks,
>> >
>> > On 5/7/07, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>> >
>> >>
>> >>
>> >> Hi Gheorghe
>> >>
>> >>
>> >> You may want to use the
>> >>
>> >> ResampleImageFilter
>> >>
>> >>
>> >> You will have to provide the Transform that defines the resampling
>> >> plane, and the parameters of the image grid that you want to use
>> >> for the 2D image.
>> >>
>> >> Please read the ITK Software Guide
>> >>
>> >>
>> >> http://www.itk.org/ItkSoftwareGuide.pdf
>> >>
>> >>
>> >> in particular the section on "Geometric Transformations".
>> >>
>> >> This section describes how you can set the parameters of a
>> >> resampling problem.
>> >>
>> >>
>> >>
>> >> Regards,
>> >>
>> >>
>> >> Luis
>> >>
>> >>
>> >>
>> >> ---------------------------
>> >> Gheorghe Postelnicu wrote:
>> >> > Hi,
>> >> >
>> >> > I am looking into ways to extract an oblique 2D slice from a 3D
>> >> > volume. This is to be part of an iterative algorithm, so it would be
>> >> > great to be able to setup an image wrapper that would emulate a 2D
>> >> > image only sampling pixels when necessary. It would actually be
>> great
>> >> > if I were able to call a registration filter on one of these image
>> >> > objects.
>> >> >
>> >> > The closest filter I found was ExtractImageFilter, but I don't think
>> >> > it fulfills the requirements I have tried to expose above.
>> >> >
>> >> > It would be great if someone could provide some guidance on the
>> >> > methods I would need to overwrite when writing a wrapper for a class
>> >> > that would emulate a 2D oblique slice of a 3D volume or any other
>> >> > method that would efficiently achieve this.
>> >> >
>> >> > Thanks,
>> >>
>> >
>> >
>>
>
>
More information about the Insight-users
mailing list