[Insight-developers] Problem with ImageAdaptors

Vincent Agnus vincent.agnus at ircad.u-strasbg.fr
Wed Jul 19 03:29:32 EDT 2006


Hi, Luis and Henning

This bug is already reported  (#3252):

http://www.itk.org/Bug/bug.php?op=show&bugid=3252&pos=0

Regards,

    Vincent



On Tue, 2006-07-18 at 17:58 -0400, Luis Ibanez wrote:
> 
> Hi Henning,
> 
> 
> Well, this is an "inconvenient" bug...
> 
> 
> Here is what happens:
> 
>     ImageAdaptor<T,N>  derives from ImageBase<N>
>     Image<T,N>         derives from ImageBase<N>
>     OrientedImage<T,N> derives from ImageBase<N>
> 
> The difference between the OrientedImage and the Image
> is the way they implement the methods
> 
>     * TransformPhysicalPointToContinuousIndex
>     * TransformPhysicalPointToIndex
>     * TransformIndexToPhysicalPoint
> 
> Where N is the Image Dimension and T is the PixelType.
> 
> 
> One way to fix the "bug" of ImageAdaptors could be
> to move the Transform method up to the ImageBase,
> but that will ruin the mechanism established for
> the OrientedImage.
> 
> Another way is to duplicate the implementation of
> the Transform methods of the Image into the
> ImageAdaptor.  That's probably the simplest solution,
> at this point and something that you could do in
> your local copy of ITK.
> 
> For the long term of ITK, the appropriate solution
> is probably to move the implementation of the
> Transform method to the ImageBase and pay some
> performance penalty in those images that are
> axis-aligned.
> 
> 
> In summary, the immediate solution for your problem
> is to copy the methods from the Image into the
> ImageAdaptor.
> 
> The bad news is that even if you copy the methods
> in the ImageAdaptor, it is unlikely that you will
> be able to use ImageInterpolators over image adaptors
> because many of them my require neighborhood operations.
> 
> As we describe in the previous email, the PixelAccessor
> trick used by the ImageAdaptors is not suitable for getting
> neighborhoods of the pixels. Some interpolators may work,
> as long as they don't use an ITK neighborhood class inside.
> 
> 
> 
>     Regards,
> 
> 
> 
>        Luis
> 
> 
> 
> 
> ----------------------
> Henning Meyer wrote:
> > When trying to use an image adaptor as input to a filter which uses an
> > InterpolateImageFunction, there is an compiler error:
> > 
> > C:\devel\Visual
> > Studio\libs\InsightToolkit-2.6.0\Code\Common\itkInterpolateImageFunction.h(89): 
> > 
> > error C2039: 'TransformPhysicalPointToContinuousIndex': Ist kein
> > Element von 'itk::ImageAdaptor<TImage,TAccessor>'
> >        with
> >        [
> >            TImage=DistImageType,
> >            TAccessor=UpperThresholdAccessor
> >        ]
> > 
> > 
> > I think this is a bug, but the fix should be pretty easy.
> > 
> > Henning
> > _______________________________________________
> > Insight-developers mailing list
> > Insight-developers at itk.org
> > http://www.itk.org/mailman/listinfo/insight-developers
> > 
> > 
> 
> 
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list