[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