MantisBT - ITK
View Issue Details
0010599ITKpublic2010-04-23 03:042010-04-28 13:01
lantiga 
lantiga 
highmajoralways
closedfixed 
ITK-3-18 
 
0010599: itkHessianRecursiveGaussianImageFilter does not behave correctly in scale-space for dimensions > 2
This bug was identified by Oleksandr Dzyubak.
When NormalizeAcrossScale is set to true, the response of itkHessianRecursiveGaussianImageFilter is not consistent in scale-space. See attached test for reproducing the error: by creating objects at different widths and same peak intensities and computing the Hessian at the same sigma, the response is different across scales, while it should stay the same.
The bug has been there since the introduction of the class, and it is severe as it makes scale-space Hessian-based filters (vesselness, etc) fail to work correctly in 3D.

The problem is related to the battery of extra smoothing filters in itkHessianRecursiveGaussianImageFilter (itkHessianRecursiveGaussianImageFilter.txx, line 64), that are created for dimensions 3 and greater.
In SetNormalizeAcrossScale, line 107, NormalizeAcrossScale is set to true for the derivative filters *and* for the smoothing filters. This is incorrect, since only derivative filters should have the flag turned on, since they are used to fill in the Hessian matrix with correct values in scale-space. If the flag is on in the extra smoothing filters, the integral of the kernel function is not 1, and the values of the Hessian end-up with extra-rescaling, leading to incorrect scaling in scale-space.

The solution to the bug is to remove the call to SetNormalizeAcrossScale( normalize ); for the smoothing filters in the battery.
No tags attached.
cxx itkHessianRecursiveGaussianFilterScaleSpaceTest.cxx (4,062) 2010-04-23 03:04
https://public.kitware.com/Bug/file/3060/itkHessianRecursiveGaussianFilterScaleSpaceTest.cxx
Issue History
2010-04-23 03:04lantigaNew Issue
2010-04-23 03:04lantigaFile Added: itkHessianRecursiveGaussianFilterScaleSpaceTest.cxx
2010-04-23 03:05lantigaAssigned To => lantiga
2010-04-23 03:05lantigaStatusnew => assigned
2010-04-23 03:06lantigaNote Added: 0020369
2010-04-28 03:14lantigaStatusassigned => closed
2010-04-28 03:14lantigaResolutionopen => fixed
2010-04-28 13:01Luis IbanezNote Added: 0020465

Notes
(0020369)
lantiga   
2010-04-23 03:06   
After talking to Jim Miller, both the fix and a new test are about to be committed.
(0020465)
Luis Ibanez   
2010-04-28 13:01   
Luis to apply this patch to the ITK 3.18 branch...