One dimensional sieve introduction: Difference between revisions
Jump to navigation
Jump to search
Line 29: | Line 29: | ||
{| border="0" cellpadding="5" cellspacing="5" | {| border="0" cellpadding="5" cellspacing="5" | ||
|- valign="top" | |- valign="top" | ||
|width="50%"| A low-pass 'o' sieve scale 1 (non-linear filter underpinning the MSER algorithm) can remove scale 1 maxima. The result is shown in red, extrema at <math>M^1_8</math> , <math>M^1_{24}</math> , <math>M^1_{29}</math> have been removed. There is no blur. The remaining signal is unchanged. | |width="50%"| '''A low-pass''' 'o' sieve scale 1 (non-linear filter underpinning the MSER algorithm) can remove scale 1 maxima. The result is shown in red, extrema at <math>M^1_8</math> , <math>M^1_{24}</math> , <math>M^1_{29}</math> have been removed. There is no blur. The remaining signal is unchanged. | ||
|[[Image:IllustrateSIV_1_03.png|400px|'o' non-linear filter (sieve)]] | |[[Image:IllustrateSIV_1_03.png|400px|'o' non-linear filter (sieve)]] | ||
|} | |} | ||
Line 41: | Line 41: | ||
scaleB=2; | scaleB=2; | ||
Y2=SIVND_m(X,scaleB,'o'); | Y2=SIVND_m(X,scaleB,'o'); | ||
{| border="0" cellpadding="5" cellspacing="5" | |||
|- valign="top" | |||
|width="50%"| '''A high-pass''' 'o' sieve scale 1 shows the extrema that have been removed. In red the scale 1 extrema at <math>M^1_8</math> , <math>M^1_{24}</math> , <math>M^1_{29}</math> have been removed. In blue extrema of scale 2 are shown. ''In the sieve terminology these are granules.'' Think of grading gravel using sieves, large holes let through large grains and small holes let through small grains. Here scale is measured as length. | |||
|[[Image:IllustrateSIV_1_05.png|400px|'o' non-linear filter (sieve)]] | |||
|} |
Revision as of 10:51, 15 November 2013
1D Signals to MSERs and granules
Matlab function IllustrateSIV_1 illustrates how MSERs (maximally stable extremal regions) and sieves are related. We start with one dimensional signals before moving to two dimensional images and three dimensional volumes.
Consider a signal, <math>X</math>X=getData('PULSES3WIDE') >blue X=0 5 5 0 0 1 1 4 3 3 2 2 1 2 2 2 1 0 0 0 1 1 0 3 2 0 0 0 6 0 0 |
Filter
Linear
A linear Gaussian filter with <math>\sigma=2</math> attenuates extrema without introducing new ones. But blurring may be a problem. |
h=fspecial('Gaussian',9,2); Y=conv(X,(h(5,:)/sum(h(5,:))),'same');
Non-linear
scaleA=1; Y1=SIVND_m(X,scaleA,'o');
scaleB=2; Y2=SIVND_m(X,scaleB,'o');