Module: Hierarchical Watershed ()
This module uses the ITK implementation of the Watershed Transform to segment gray value images into meaningful regions. The principle of the algorithm is best understood in the 2D domain. Imagine rain falling onto a landscape. Depending on the topography of the landscape water will converge into troughs (areas around local minima in the surface), so called catchment basins. The size of those basins will grow with increasing amounts of rain flooding the landscape until they spill into one another, causing small basins to merge together into larger basins. Rather than producing a single segmentation the algorithm creates a hierarchy of catchment basins so that the user can control the level of granularity of the labeled image. Typically Hierarchical Watershed requires some pre-processing in order to get bright object borders. This can be done using an edge detection filter. Hierarchical Watershed can also be used to separate objects in a binarily segmented image.
Data [required]
The uniform scalar field to be segmented. The field can be of type byte, short, ushort, integer, float or double (float is recommended because of the computational accuracy).
Input threshold
Prior to generating the tree of catchment basins shallow background regions are removed by setting a minimum threshold. Note that the computation time is crucially dependent on the complexity of the tree of catchment basins and to a much lesser extent on the size of the input data. Setting a reasonable threshold can therefore speed up segmentation significantly.Minimal depth
Once a segmentation has been calculated for a given Threshold, one may choose the level of segmentation detail by adjusting this slider. In the picture of the landscape flooded by water this corresponds to the minimal depth of a basin that is not merged to one of its neighbors. The higher this value the greater are the catchment basins and the less is the number of labels. The value of this parameter has to be greater than 0 and smaller than the difference between the maximum of the input field and the value of the Threshold port.Output type
Select here the output data type. The choices are LabelField, unsigned short and unsigned integer. If the number of labels cannot be represented by a given data type, a warning is issued in the Console.