Watershed

Class: NodeImageWatershedSegmentation

Node Icon

Watershed segmentation implementation with morphogical operators. Intuitively, watershed segmentation views the image as a landscape, where each pixel value defines the “height” of the ground at that point. The watershed segmentation fills the lanscape with water, and each pool or basin gets its own label. As the water rises, the entire image is divided into a number of pools.

Watershed

The figure illustrates the intuitive concept of how the watershed algorithm works in a line profile of an image. Initial pools are created at the staring level of the water, and new pools are created as the water rises.

Example Workflows

Watershed example

Inputs

Image

An image.

Type: Image4DFloat, Required, Single

Outputs

Out

A labelmap, where each intensity label represent one pool.

Type: Image4DFloat

Settings

Fully Connected Boolean

Sets whether the connected components are defined strictly by face connectivity or by face+edge+vertex connectivity. For objects that are 1 pixel wide, use FullyConnectedOn.

Level Number

Set the starting level of the segmentation.

Lines Enabled Boolean

Sets whether the watershed pixel must be marked or not. Default is true. Set it to false do not only avoid writing watershed pixels, it also decrease algorithm complexity.

References

  1. Morphological watershed in SimpleITK
  2. Chapter 9.2 in “Morphological Image Analysis: Principles and Applications”, Second Edition, Springer, 2003, Pierre Soille

  3. The watershed transform in ITK - discussion and new developments