Watershed segmentation

Watershed is the term that commonly refers to a mathematical morphology operation that treats a grayscale image as a topographic map and segments the image. The segmentation is performed by a succesive 'flooding' operation from minima in the image starting from different points and separates the image in different catchment basins.|Needs a comment about the relation between the Watershed and Region growing.

Synonyms
Watershed transformation
Watershed-based segmentation
Description

The macro will segment nuclei and separate clustered nuclei in a 3D image using a 2D Gaussian blur, followed by Thresholding, 2D hole filling and a 2D watershed. As a result an index-mask image is written for each input image.

need a thumbnail
Description

This workflow processes images of cells with discernible nuclei and outputs a binary mask containing where nuclei are detected.

need a thumbnail
Description

The macro will segment nuclei and separate clustered nuclei in a 3D image using a distance transform watershed. As a result an index-mask image is written for each input image.

need a thumbnail
Description

Performs watershed algotirhm with ij-1.52i.jar. legacy:ij.plugin.filter.EDM("watershed").

has function
need a thumbnail
Description

The macro will segment nuclei and separate clustered nuclei using a binary watershed. As a result an index-mask image is written for each input image.

need a thumbnail

video tutorial on 3D vessel segmentation of synchrotron phase contrast tomography

Submitted by czhang on Tue, 01/29/2019 - 20:32

In this tutorial video, a coronary arterial tree is used as the demo example to show in detail how the semi-automatic segmentation workflow, Carving from the open-source image analysis software ilastik, can be used. Tips on how and why a preprocessing is done, as well as parameter settings are provided.

Description

The interactive Watershed Fiji plugin provides an interactive way to explore local maxima and threshold values while a resulting label map is updated on the fly.

After the user has found a reliable parameter configuration, it is possible to apply the same parameters to other images in a headless mode, for example via ImageJ macro scripting.

Description

 

In this workflow, you can use MorphoLibJ to generate accurate morphometric measurements

  • First the fibers are segmented by mathematical morphology:
    • for example by using MorphoLibJ:
      • Create a marker image by creating a rough mask with extended regional maxima (similar to Find Max), such that you have one max per fiber
      • Use the marker controlled watershed (in MorpholLibJ/ Segmentation/ marker controlled watershed) : indicate the original grayscale image as the input, Marker will be your maxima image, select None for mask
      • it will create a label mask of your fibers
  •  In MorphoLibJ /analyze/ select Region Morphometry: this will compute different shape factors which are more robust than the ones implemented by default in ImageJ
  • Export the result table created to a csv file
  • Then for example in Matlab or R, you can apply a PCA analysis (Principal component analysis) followed by a k-means with the number of class (clusters) (different fibers type) you want to separate.
  • You can then add this class as a new feature to your csv file.
  • From this you can sort your labelled fibers into these clusters for a visual feedback or further spatial analysis
has topic
hemp analysis
Description

MorphoLibJ is a library of plugin for ImageJ with functionalities for image processing such as filtering, reconstructing, segmenting, etc... Tools are based on Mathematical morphology with more rigorous mathematical approach than in the standard tools of ImageJ in particular for surface (or perimeter) measurements which are usually based on voxel counting.  

http://imagej.net/MorphoLibJ#Measurements

Among the features:

Morphological operations :  Dilation, Erosion, Opening,  Closing , Top hat (white and black), Morphological gradient (aka Beucher Gradient), Morphological Laplacian, Morphological reconstruction, Maxima/Minima , Extended Maxima/Minima -Watershed (classic or controlled) -Image overlay -Image labelling -Geodesic diameter -Region Adjacency Graph -Granulometry curves, morphological image analysis.

 

several steps of morphological segmentation of plant tissue using MorphoLibJ.
Description

Adiposoft is an automated Open Source software for the analysis of adipose tissue cellularity in histological sections.

Example data can be found on the plugin description page in ImageJ wiki (download link). There is also a link to a MATLAB version of the workflow.

has topic
Description

A clear tutorial on how to write a MATLAB script to segment clustered cells.

The full script is downloadable near the bottom of the article. 

Description

A clear tutorial for splitting connected particles (cells) in a binary mask.

has function
Description

Marker-controlled Watershed is an ImageJ/Fiji plugin to segment grayscale images of any type (8, 16 and 32-bit) in 2D and 3D based on the marker-controlled watershed algorithm (Meyer and Beucher, 1990). This algorithm considers the input image as a topographic surface (where higher pixel values mean higher altitude) and simulates its flooding from specific seed points or markers. A common choice for the markers are the local minima of the gradient of the image, but the method works on any specific marker, either selected manually by the user or determined automatically by another algorithm. Marker-controlled Watershed needs at least two images to run: The Input image: a 2D or 3D grayscale image to flood, usually the gradient of an image. The Marker image: an image of the same dimensions as the input containing the seed points or markers as connected regions of voxels, each of them with a different label. They correspond usually to the local minima of the input image, but they can be set arbitrarily. And it can optionally admit a third image: The Mask image: a binary image of the same dimensions as input and marker which can be used to restrict the areas of application of the algorithm. Set to "None" to run the method on the whole input image. Rest of parameters: Calculate dams: select to enable the calculation of watershed lines. Use diagonal connectivity: select to allow the flooding in diagonal directions.

need a thumbnail
Description

Morphological Segmentation is an ImageJ/Fiji plugin that combines morphological operations, such as extended minima and morphological gradient, with watershed flooding algorithms to segment grayscale images of any type (8, 16 and 32-bit) in 2D and 3D. Morphological Segmentation runs on any open grayscale image, single 2D image or (3D) stack. If no image is open when calling the plugin, an Open dialog will pop up. The user can pan, zoom in and out, or scroll between slices (if the input image is a stack) in the main canvas as if it were any other ImageJ window. On the left side of the canvas there are three panels of parameters, one for the input image, one with the watershed parameters and one for the output options. All buttons, checkboxes and input panels contain a short explanation of their functionality that is displayed when the cursor lingers over them. Image pre-processing: some pre-processing is included in the plugin to facilitate the segmentation task. However, other pre-preprocessing may be required depending on the input image. It is up to the user to decide what filtering may be most appropriate upstream.

need a thumbnail
Description

This macro is meant to segment the cells of a multicellular tissue. It is written for images showing highly contrasted and uniformly stained cell membranes. The geometry of the cells and their organization is automatically extracted and exported to an ImageJ results table. This includes: Cell area, major, minor fitted ellipse radii + major axis orientation and number of neighbors of the cells. Manual correction of the automatic segmentation is supported (merge split cells, split merged cells).

Sample image data is available in the documentation page. 

Description

This library gives the numpy-based infrastructure functions for image processing with a focus on bioimage informatics. It provides image filtering and morphological processing as well as feature computation (both image-level features such as Haralick texture features and SURF local features). These can be used with other Python-based libraries for machine learning to build a complete analysis pipeline.

Mahotas is appropriate for users comfortable with programming or builders of end-user tools.

==== Strengths

The major strengths are in speed and quality of documentation. Almost all of the functionality is implemented in for multiple dimensions. It can be used with other Python packages which provide additional functionality.

Mahotas and all packages on which it relies are open-source.

Description

Semi-automated segmentation of 3D objects (e.g. neurons) based on user-provided seeds.

need a thumbnail
Description

The grayscale watershed segmentation is useful to segment particles in contact when the model of shape is unknown a priori.

has function
need a thumbnail