[mmmaxopenrec] [Up] [mmmaxaopen] Reconstruction and Marker Propagation

mmmaxpropagate
Find the zone of influence of the given markers.

Synopsis

function y = mmmaxpropagate ( maxtree , marker )

Input

maxtree MaxTree The MaxTree.
marker Image Unsigned gray-scale (uint8 or uint16), signed (int32) or binary image Markers defined by a labeled image (uint8, uint16 or int32).

Output

y Image Labeled image (int32). Zone of influence of each marker.

Description

Returns a labeled image representing the zone of influence of the given markers. The pruning algorithm is presented in [Gar02], pp. 96-113. Each marker is defined by a label that is propagated toward the root of the tree until a conflict with another label occur. If a MinTree is considered, the result is similar to the watershed with markers, as noted in [Gar02].

Examples

a = mmreadgray('cameraman.tif');
g = mmneg(mmgradm(a));
mxt = mmmaxtree(g);
v = mmmaxregmax(mxt, 'v-dyn-image');   % volume extinction values
%
marker = mmlabel(v > 500);
regions = uint16(mmmaxpropagate(mxt, marker));
mmlblshow(regions);
fprintf(1, 'N(500)  = %d regions\n', double(max(max(marker))))
N(500)  = 118 regions
marker = mmlabel(v > 1000);
regions = uint16(mmmaxpropagate(mxt, marker));
mmlblshow(regions);
fprintf(1, 'N(1000) = %d regions\n', double(max(max(marker))))
N(1000) = 78 regions
marker = mmlabel(v > 4000);
regions = uint16(mmmaxpropagate(mxt, marker));
mmlblshow(regions);
fprintf(1, 'N(4000) = %d regions\n', double(max(max(marker))))
N(4000) = 32 regions
marker = mmlabel(v > 7000);
regions = uint16(mmmaxpropagate(mxt, marker));
mmlblshow(regions);
fprintf(1, 'N(7000) = %d regions\n', double(max(max(marker))))
N(7000) = 22 regions
regions regions
regions regions

[mmmaxopenrec] [Up] [mmmaxaopen]