[Insight-developers] GradientVectorFlowImageFilter internal image type
Gaëtan Lehmann
gaetan.lehmann at jouy.inra.fr
Sun Jan 11 01:16:31 EST 2009
Le 10 janv. 09 à 20:36, Karthik Krishnan a écrit :
>
>
> Gaëtan Lehmann wrote:
>>
>> Le 10 janv. 09 à 16:20, Karthik Krishnan a écrit :
>>
>>> Gaëtan Lehmann wrote:
>>>> template <class TInputImage, class TOutputImage, class
>>>> TInternalPixel=double>
>>>> class ITK_EXPORT GradientVectorFlowImageFilter : public
>>>> ImageToImageFilter<TInputImage, TOutputImage>
>>>>
>>>> There shouldn't be any backward compatibility issue that way. I
>>>> don't know well that class though, so I have an important question:
>>>> Does that change look reasonable? I mean, is it relevant to use a
>>>> different internal pixel type than double - float for example?
>>> I don't think it makes sense to use the class with any internal
>>> pixel type other than float or double. Actually, the input images
>>> (and output images) supplied should also be float/double. The
>>> filter internally computes the laplacian image using the internal
>>> pixel type. Double precision is also needed to account for the
>>> diffusion of the gradient vectors.
>>>
>>> I would just wrap the class for double and float alone.
>>
>> My problem comes from this method:
>>
>> itkSetMacro(LaplacianFilter, LaplacianFilterPointer);
>>
>> The LaplacianFilter currently uses double as pixel type, whatever
>> are the input or the output image types, so that method expose a
>> filter type which is not available most of the time, because the
>> default real type wrapped in wrapitk is float. The result is a
>> warning at build time and an unusable SetLaplacianFilter() in the
>> target languages. Changing the internal pixel type (used in the
>> laplacian filter type) to the one used in the input and the output
>> image would avoid the problem with the SetLaplacianFilter() method.
>> An easy way to fix the problem, but if it produce wrong result
>> because the double precision is required for the internal image
>> type, that's also a wrong way to fix that problem.
>>
>> With that fix, I would wrap the types
>>
>> itk::GradientVectorFlowImageFilter< itk::Image<float, 2>,
>> itk::Image<float, 2>, float >
>> itk::GradientVectorFlowImageFilter< itk::Image<float, 3>,
>> itk::Image<float, 3>, float >
>>
>> by default, and/or
>>
>> itk::GradientVectorFlowImageFilter< itk::Image<double, 2>,
>> itk::Image<double, 2>, double >
>> itk::GradientVectorFlowImageFilter< itk::Image<double, 3>,
>> itk::Image<double, 3>, double >
>>
>> if the user has chosen to wrap double.
>> But does it make sense to have itk::Image<float, 2> used for the
>> laplacian, when input and output image are itk::Image<float, 2>?
> Sure. It makes sense to wrap the following 4 combinations alone.
>
> itk::GradientVectorFlowImageFilter< itk::Image<float, 2>,
> itk::Image<float, 2>, float >
> itk::GradientVectorFlowImageFilter< itk::Image<float, 3>,
> itk::Image<float, 3>, float >
> itk::GradientVectorFlowImageFilter< itk::Image<double, 2>,
> itk::Image<double, 2>, double >
> itk::GradientVectorFlowImageFilter< itk::Image<double, 3>,
> itk::Image<double, 3>, double >
>
Thanks Karthik.
I'll go that way
Gaëtan
>
> Thanks
> --
> karthik
>
>>
>>>
>>>
>>> thx
>>> --
>>> karthik
>>>>
>>>> Regards,
>>>>
>>>> Gaëtan
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Insight-developers mailing list
>>>> Insight-developers at itk.org
>>>> http://www.itk.org/mailman/listinfo/insight-developers
>>>>
>>>
>>> --
>>> Karthik Krishnan
>>> R & D Engineer,
>>> Kitware Inc,
>>> Ph: 518 371 3971 x119
>>> Fax: 518 371 3971
>>>
>>
>
> --
> Karthik Krishnan
> R & D Engineer,
> Kitware Inc,
> Ph: 518 371 3971 x119
> Fax: 518 371 3971
>
--
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
http://voxel.jouy.inra.fr http://www.mandriva.org
http://www.itk.org http://www.clavier-dvorak.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20090111/a537f901/attachment.pgp>
More information about the Insight-developers
mailing list