AW: [Insight-users] GradientRecursiveGaussianImageFilter
Luis Ibanez
luis . ibanez at kitware . com
Mon, 29 Sep 2003 10:01:00 -0400
Hi Zein,
The option
SetNormalizeAcrossScale
in the GradientRecursiveGaussian filter is not
intented to produce vectors of magnitude == 1.
What it does is to include (or not) a "sigma"
value in the normalization factor of the Gaussian
kernel. This extra sigma allows to compare the
results of filtering among different scales and
it is typicaly needed in Scale-Space analysis.
This is explained in the SoftwareGuide,
http://www . itk . org/ItkSoftwareGuide . pdf
Section 6.5 pdf-page 172.
You can easily write a normalization filter using
the UnaryFunctorImageFilter. Or you could use an
ImageAdaptor as explained in the SoftwareGuide.
http://www . itk . org/ItkSoftwareGuide . pdf
Chapter 12, pdf-page 521-532
In particular look at section 12.4, pdf-page 528.
Regards,
Luis
--------------
salah wrote:
> Hi Luis,
>
> Can I force the filter to produce normalized graiendt
> vectors (sqrt (sum of squares) = 1 ) ?
> Does the method "SetNormalizeAcrossScale" have to do
> with this matter?
>
> Thanks,
>
> Zein
>
>
>
>>-----Ursprüngliche Nachricht-----
>>Von: Luis Ibanez [mailto:luis . ibanez at kitware . com]
>>Gesendet: Sonntag, 28. September 2003 17:04
>>An: salah
>>Cc: ITK Users
>>Betreff: Re: [Insight-users] GradientRecursiveGaussianImageFilter
>>
>>
>>
>>Hi Zein
>>
>>1) Yes, the output of the GradientRecursiveGaussian filter
>> is an image of vectors representing the gradient of the
>> intensity values in the image. (covariant vectors to be
>> precise).
>>
>>http://www . itk . org/Insight/Doxygen/html/classitk_1_1GradientRe
>>cursiveGaussianImageFilter.html
>>
>>
>>2) Yes, this filter take the spacing into account. The gradient
>> is reported as the variation of intensity per unit of spacing.
>> e.g. graylevel / millimeters.
>>
>> This means that if we have two images A and B with the same
>> intensity pattern, and image A has double the spacing of
>> image B, then the gradients computed from A will have half the
>> value of the equivalent gradients computed from B.
>>
>> That's the reason why the gradient must be represented by
>> itk::CovariantVectors instead of itk::Vectors.
>>
>>
>>
>>Regards,
>>
>>
>>
>> Luis
>>
>>
>>
>>
>>------------------
>>
>>salah wrote:
>>
>>>Hello all,
>>>
>>>The output of the GradientRecursiveGaussianImageFilter is a vector
>>>image that represents the gradient of the input image. Is this true?
>>>
>>>Does this filter take image spacings into account? In other
>>
>>words, are
>>
>>>the gradient values measured in pixel units or real distance units?
>>>
>>>Many thanks,
>>>Zein
>>>
>>
>>
>>
>>
>>