# Gaussian and sieve filters

Siv1-gaussiansieve.png</wikiflv>
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 inebriation 'v' as much as possible instead.)

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 that are (for me) last minute. They begin to look a little biological.