[Insight-developers] Problem with ImageAdaptors

Luis Ibanez luis.ibanez at kitware.com
Mon Jul 24 10:59:35 EDT 2006


Hi Henning,

Well, using the CVS version is not exactly "Harmful",
instead, you could say that it will make life more
"Interesting" specially if you have a deadline to
deliver a product.   :-)

Yeap, if you want to stick to the stability of a release,
you can simply make the local modification of this file.

http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Common/itkImageAdaptor.h?rev=1.65&root=Insight&sortby=date&view=log

In this particular case you only need to copy the .h
file of the ImageAdaptor from the CVS current version
into your release version.  In general it is now wise to
do this kind of patching, but in this case the change is
very localized.

Please let us know if you encounter any problems,


    Thanks



       Luis



-------------------
Henning Meyer wrote:
> Unfortunatly I'm right now using the releases. Isn't it to harmfull to
> switch to CVS-Checkouts?
> 
> Henning
> 
> 2006/7/21, Luis Ibanez <luis.ibanez at kitware.com>:
> 
>>
>> Hi Vincent, Henning,
>>
>>
>> The bug has been fixed yesterday.
>>
>> Not the ImageAdaptor has the methods for transforming
>> PhysicalPoints into Index and ContinousIndex.
>>
>>
>> The ImageAdaptor is now tested with a LinearInterpolator.
>>
>>
>> Please update your CVS checkout, and let us know
>> if you find any problems,
>>
>>
>>    Thanks
>>
>>
>>       Luis
>>
>>
>> -----------------------
>> Vincent Agnus wrote:
>> > 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
>> >
>> >
>> > _______________________________________________
>> > 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