[mmclohole] [Up] [mmasfrec] Connected Operators

mmflood
Flooding filter- h,v,a-basin and dynamics (depth, area, volume)

Synopsis

function y = mmflood ( fin , T , option , Bc )

Input

fin Image Gray-scale (uint8 or uint16) image
T Double

Criterion value. If T==-1, then the dynamics is determined, not the flooding at this criterion. This was selected just to use the same algoritm to compute two completely distinct functions.

option String

criterion: 'AREA', 'VOLUME', 'H'.

Bc Structuring Element

Default: 3x3 elementary cross

Connectivity.

Output

y Image Gray-scale (uint8 or uint16) image

Description

This is a flooding algorithm. It is the basis to implement many topological functions. It is a connected filter that floods an image following some topological criteria: area, volume, depth. These filters are equivalent to area-close, volume-basin or h-basin, respectively. This code may be difficult to understand because of its many options. Basically, when t is negative, the generalized dynamics: area, volume, h is computed. When the flooding is computed, every time a new level in the flooding happens, a test is made to verify if the criterion has reached. This is used to set the value to that height. This value image will be used later for sup-reconstruction (flooding) at that particular level. This test happens in the raising of the water and in the merging of basins.

Examples

f=uint8([0 2 3; 2 2 3; 2 1 4])
f =
    0    2    3
    2    2    3
    2    1    4
mmflood(f,-1,'h',mmsecross)
ans =
    4    0    0
    0    0    0
    0    1    0
mmflood(f,1,'h',mmsecross)
ans =
    1    2    3
    2    2    3
    2    2    4
mmflood(f,2,'h',mmsecross)
ans =
    2    2    3
    2    2    3
    2    2    4
mmflood(f,-1,'area',mmsecross)
ans =
           9           0           0
           0           0           0
           0           1           0
mmflood(f,1,'area',mmsecross)
ans =
    0    2    3
    2    2    3
    2    1    4
mmflood(f,2,'area',mmsecross)
ans =
    2    2    3
    2    2    3
    2    2    4
mmflood(f,-1,'volume',mmsecross)
ans =
          17           0           0
           0           0           0
           0           1           0
mmflood(f,1,'volume',mmsecross)
ans =
    1    2    3
    2    2    3
    2    2    4
mmflood(f,2,'volume',mmsecross)
ans =
    2    2    3
    2    2    3
    2    2    4

See also

mmfreedom Control automatic data type conversion.
mmsebox Create a box structuring element.
mmsecross Diamond structuring element and elementary 3x3 cross.
mmareaclose Area closing
mmhmin Remove basins with contrast less than h.
[mmclohole] [Up] [mmasfrec]