Gaussian and sieve filters

From BanghamLab
Revision as of 21:28, 6 August 2014 by AndrewBangham (talk | contribs)
Jump to navigation Jump to search

OK its a another crap Figure. I spent ages getting the trace above each new one to show the moving window used to compute the output of each stage.

Left panel: Gaussian filter. Stage (scale) <math>sigma</math>=1. Stage 2 <math>sigma</math>=2 on the previous stage. And so forth. Each stage simplifies the signal until, at the bottom, it fades away. It does preserve scale-space and that is GOOD.

Right panel: recursive median. Whatever the scale each computation requires three numbers, the middle one, one ahead and one behind. If the one behind comes directly from the previous stage the median is found.

If, on the other hand the one behind is the value that has just been computed using the previous window then the recursive median is computed. It is similar to an 'irr' filter as opposed to a 'fir' filter. Stage (scale) 1 window of 3. The filter removes extrema of length (scale) 1. Stage 2 also has a window of 3 but is computed on a basis of 5 values. This filter removes extrema of scale 2. And so forth. Each stage simplifies the signal until, at the bottom, it is entirely removed. It turns out that extrema at each scale are removed in a nice regular way it does preserve scale-space and that is GOOD.

And there is more, something that has been thought about much less, let alone exploited - a PhD project waiting to happen. Sieves (and the recursive median filter is what I call one of the sieves) are idempotent. In other words having made one pass through the data at any particular scale, making another pass through the result changes nothing.

This is nothing like a Gaussian (diffusion) filter where repeated passes at the same scale simply smooth the signal away. This means that one could build entirely new filtering schema, here are some that are last minute (for me).