Gaussian and sieve filters

From BanghamLab
Revision as of 20:49, 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.

The output depends on the computation kernel the recursive median is one. Others include connected set openings ('o'), closings ('c') and composites of these 'M' ('o' followed by 'c' at each stage) or 'N' ('c' followed by 'o'). These last two yield outputs that are almost indistinguishable from the recursive median. (I have just realised how confusing it is referring to the recursive mean as an 'm' sieve, I shall start using the abbreviation 'v' as much as possible instead.) This is dull stuff.

This is dull stuff compared to 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 not like a linear (diffusion) filter where repeated passes at the same scale simply smooth the signal away. It means that one could build entirely new filtering schema, here are some ideas. They begin to look a little biological.