[Insight-developers] GaussianFilter::NormalizeAcrossScale not good for scale space analysis

Ivan Macia imacia at vicomtech.org
Tue Jan 4 11:44:21 EST 2011


Brad,

Your arguments seem solid. I just wanted to know why was the reason why it
was not working. Some of the things you mention make sense, but still I need
to understand the underlying problem. I did not find any publication that
recommends this approach, nor I read sth against it. Probably the problem is
related to the fact that high order polynomials usually give problems, for
example in the analytical approach they result in very large kernels (at
least large enough to hold all the peaks and valleys according to Nyquist
theorem). I will have a look and tell you if I find something. This is more
scientific curiosity :)

For the moment, I would keep your actual implementation that seems to be
more trustworthy.

Best regards

Iván


2011/1/4 Bradley Lowekamp <blowekamp at mail.nih.gov>

> Ivan,
>
> Yes, I did remove the analytical computation because I found it had very
> poor to incorrect results. I posted to this list because I thought a
> discussion of the methods may be needed.
>
> The worst case I found was with a sigma of .5 and order 4, where the
> coefficients summed to nearly 100, when they are suppose to sum to zero (as
> all good derivative operators should. Under many conditions the resulting
> derivative kernel does not sum to zero, particularly with even ordered
> derivatives. Additionally, under some conditions the polynomial is not
> sampled sufficiently producing incorrect results as well.
>
> Additionally the boundary condition of the central difference approach was
> incorrect. Which produced the errors on the edges in figure 2.d in the IJ
> paper. In addition, in the same figure I figured the discontinuity at the
> center of O4 was caused by the incorrect computation of the Bessel Function
> I_0(t >=3.75). There were many errors in this implementation which makes the
> figures not so relevant.
>
> I did implement a shift normalization of the derivative operators, however
> it made no difference with the central difference method, but did improve
> the analytical. Still with my application of analyzing the eigen-values of
> blobs, the central difference approach produced eigan-values much closer to
> the recursive. Given the amount of shift needed for some operators, I do not
> trust that approach. The 0-order gaussian operator needs to be scale on the
> order of 1+MaxError, where MaxError is the accuracy provided by user. The
> analytic approach does not appeared to be bounded with it's error and the
> needed shift, which make me rather uncomfortable.
>
> I also did not find any literature which recommends the analytic approach
> for scale-space. Are you aware of any?
>
> I will work on reproducing the graphs, from the paper to instill additional
> confidence in the central difference method.
>
> Brad
>
>
> On Jan 4, 2011, at 10:23 AM, Ivan Macia wrote:
>
> Hi Brad,
>
> Excellent work. My only concern is that you have removed the analytical
> computation of coefficients completely. From my experiments (I cannot
> confirm this, it was long ago but something can be seen in the IJ paper in
> the graphics at the end
> http://www.insight-journal.org/browse/publication/179) it seemed that the
> analytical approach had more precision specially for larger derivative
> orders. What was the ultimate reason to remove them? The normalization not
> working? Do you think we could fix the normalization of the analytical
> coefficients the same way as with the Derivative operator?
>
> Tell me if you need any further help with this.
>
> Thanks in advance
>
> Iván
>
> El 3 de enero de 2011 22:53, Bradley Lowekamp <blowekamp at mail.nih.gov>escribió:
>
>> Hello all,
>>
>> I have completed a major revision to itkGaussianDerivativeOperator and
>> submitted a couple of patches to gerrit:
>>
>> http://review.source.kitware.com/#change,660
>> http://review.source.kitware.com/#change,661
>>
>> This patch is a needed algorithmic revision to produce accurate results.
>>
>> I still need to modify my recursive gaussian scale space test to test the
>> discrete functions. But without that,  I am still extremely confident in the
>> the results form this operator are correct and robust with it's parameters
>> as it's values are extremely close to the values I am getting with the
>> recursive hessian filter for my scale space program.
>>
>> Brad
>>
>> ========================================================
>> Bradley Lowekamp
>> Lockheed Martin Contractor for
>> Office of High Performance Computing and Communications
>> National Library of Medicine
>> blowekamp at mail.nih.gov
>>
>>
>>
>
> ========================================================
>
> Bradley Lowekamp
>
> Lockheed Martin Contractor for
>
> Office of High Performance Computing and Communications
>
> National Library of Medicine
>
> blowekamp at mail.nih.gov
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110104/309b2ad9/attachment.htm>


More information about the Insight-developers mailing list