Re: Selective Gaussian -> Early test app posted



On Thu, 14 Jul 2005 02:36:08 +0200, "Mattias Andersson"
<mattias@xxxxxxxxxxxxx> wrote:

>Eric Grange wrote:
>> - should the matrix/kernel be passed to the function (and thus assumed
>> arbitrary) or should the function compute its own?
>
>Well, the problem with an arbitrary kernel, is that it imposes a constraint
>on the kind of optimizations you can perform. Since the gaussian kernel is
>separable, you can take advantage of this fact in order to speed up the
>implementation. If we assume an arbitrary kernel, then we can no longer
>assume that it is still separable.

I belive the Selective Gaussian is not separable, because you do not
use all pixels when computing it (hence the name of the algorithm :).
Since you've lost this, you might aswell allow arbitrary kernels.

>> - is the current reference implementation numerically correct?
>
>Well, as I pointed out in one of my previous posts -- the gaussian has
>infinite extent. Hence, if you wanted 100% accuracy, then you should sum up
>each pixel in the entire bitmap for each pixel coordinate. However, at a
>certain radius the contribution of a pixel value becomes insignificant and
>in this case you can safely assume the weight is zero without any impact on
>the final result.

Which you can easily find out when you fill in the kernel. Simply keep
on going until the weights are less than 1 / NumLevels. However you
might want to be slightly less correct for the sake of speed (as it
would have a drastic impact on the kernel size).

- Asbjørn
.