3D Watershed (segmentation, split, and zones)

The 3D Watershed plugin works with two images, one containing the seeds of the objects, that can be obtained from local maxima (see 3D filters), the other image containing signal data. A first threshold1 is used for seeds (only seeds with value > threshold1 will be used). A second threshold is used to cluster voxels with values > threshold2. In this implementation voxels are clustered to seeds in descending order of voxel values.

3D segmentation

The seeded version implemented in this plugin will aggregate voxels with higher values first to the seeds. Two seeds with different values for neighbouring voxels may not be growing at same speed, the one with higher values will grow faster than the one will lower values.

3d-wat-1 3d-wat-2

Original test image with overlaid seeds, and final result of watershed segmentation

Classical segmentation

The classical segmentation with watershed is based on the gradient (Find Edges) of the image. First we can find the seeds using local extrema. In this implementation we need to invert the edge image. Then we apply the watershed on the edge image starting from the seeds.

3d-watc-1 3d-watc-2

Original image and inverted edge image

3d-watc-3 3d-watc-4

Seeds as local minima and final watershed result

3D Watershed splitting

The main application of watershed in ImageJ is the 2D splitting of merged objects.

This splitting is based on the computation of the Distance Map inside the mask of the merged objects. The seeds are then the local maxima of the distance map, the farthest points from the boundaries, hence corresponding to the centres of the objects. The bigger the object, the higher the values of the distance map at the centre, then the faster the growing of the seeds and the larger the resulting object.

3d-split-1 3d-split-2 3d-split-3

Voronoi zones

The Voronoi algorithm will draw lines between objects at equal distances from the boundaries of the different objects, then compute zones around objects based on these lines. This can also be seen as the splitting of the background.

Neighbouring objects can then be computed as objects having a line in common.

3d-zones-1 3d-zones-2 3d-zones-3