[Insight-developers] GaussianDerivativeImageFunction does not
transform points from physical space to pixel space in Evaluate(..)
Andinet Enquobahrie
andinet.enqu at kitware.com
Thu Feb 16 10:18:55 EST 2006
Hello Dan,
Thank you for pointing out the bug and for your detailed information.
Not only Evaluate(PointType ) method, but also
EvaluateAtContinuousIndex(..) method was doing incorrect transformation.
I entered a bug (# 2891) report on this and just committed a fix to
cvs. Please, update your cvs version and give it a try. Let us know if
you face any other problems using these functions.
-Andinet
> Hi all,
>
> For my application I need to calculate the image derivative at a
> number of physical locations. I have found two suitable
> ImageFunctions: CentralDifferenceImageFunction and
> GaussianDerivativeImageFunction. The GaussianDerivativeImageFunction
> is more suitable to my application because it uses a Gaussian kernel
> to smooth noise artifacts.
>
> Unfortunately, there seems to be a discrepancy with the
> GaussianDerivativeImageFunction::Evaluate(const PointType& point)
> function. The Evaluate(const PointType& point) function should
> evaluate the function at the given physical point (ie. taking into
> account the image spacing and origin). For example see
> itkCentralDifferenceImageFunction.h which - via
> itk::ImageFunction::ConvertPointToNearestIndex(..) - uses
> itk::Image::TransformPhysicalPointToContinuousIndex(..) to transform
> the physical point to a ContinuousIndex in pixel space before evaluation.
>
> It appears that GaussianDerivativeImageFunction *does not* transform
> the point from physical space to pixel space before evaluation. If you
> look at the Evaluate(..) function in the
> itkGaussianDerivativeImageFunction.txx file, the physical point is
> cast to an index (the rounding differences are used as the offset to
> recompute the kernel) and then itk::Image::GetPixel(const IndexType
> &index) is invoked - no transformation from physical space to pixel
> space occurred!
>
> Have I missed something, or is this an omission?
>
> Thanks for your help.
>
> Dan
> --
> Dan Mueller (d.mueller[at]qut.edu.au)
> School of Engineering Systems (ES)
> Faculty of Built Environment and Engineering (BEE)
> Queensland University of Technology (QUT)
> CRICOS No: 00213J
>
>------------------------------------------------------------------------
>
>_______________________________________________
>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