3D Segmentation

This plugin implements various algorithms to segment 3D images.


Thomas Boudier


Several algorithms for segmentation are proposed :

  • 3D hysteresis thresholding with two thresholds (see 2D hysteresis for explanation).
  • 3D simple segmentation with thresholding to label 3D objects (similar to 3D objects counter).
  • 3D iterative thresholding (find optimal threshold for each object).
  • 3D spot segmentation with various local threshold estimations.
  • 3D Maxima Finder (with noise parameter)
  • 3D seeds-based watershed with automatic local maxima detection for seeds.

3D Iterative Thresholding

The plugin will basically test all thresholds and detect objects for all thresholds, it will then try to build a lineage of the objects detected, linking them from one threshold to the next threshold, taking possible splits into account. So different objects can be segmented with different thresholds, the plugin allows various criteria to pick the best threshold :

  • Elongation : the threshold leading to the most round object is chosen (minimal elongation).
  • Volume : the threshold leading to the largest object.
  • MSER : the threshold where the volume of the object is most stable (minimal variation).

The other parameters are related to the minimal and maximal volumes of the objects. The thresholds tested can be tuned with 3 options with the value parameter :

  • Step : threshold are tested each step value.
  • Kmeans : histogram is analysed and clustered into value classes using a KMeans algorithm.
  • Volume : a constant number of pixels between two thresholds using value thresholds.

For 8-bits images it is recommended to use the method Step with value between 1 and 5. For 16-bits images try Step with values between 5 and 100 depending on the dynamic of your data. Note than the more threshold tested the more memory used. In order not to test low thresholds you can specify to start with the mean value of the image as the lowest threshold. The image can be filtered before thresholding with a 3D median filter with radii proportional to the minimal volume.

Note that this plugin is inspired by the following paper : A generic classification-based method for segmentation of nuclei in 3D images of early embryos

Iterative thresholding

3D Spot Segmentation

The 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. The program computes a local threshold around each seeds and cluster voxels with values higher than the local threshold computed. A plugin 3D maxima Finder is also available to compute the seeds.

Three methods are available for computing the value of the local threshold and 3 methods for clustering are also proposed. The option watershed can be chosen to avoid merging of close spots.

A tutorial is also avalaible : 3D Spot Segmentation Manual.

Original image with Fire LUT Watershed segmentation of seedsResult of spots segmentation

3D Watershed

The 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. An alternative implementation is available in Fiji classic watershed.

Two plugins 3D splitting and 3D Voronoi are also available, more details in this brief tutorial.


For details go to the 3D ImageJ Suite.


When using the 3D Segmentation plugins for publication, please cite :

J. Ollion, J. Cochennec, F. Loll, C. Escudé, T. Boudier. (2013) TANGO: A Generic Tool for High-throughput 3D Image Analysis for Studying Nuclear Organization. Bioinformatics 2013 Jul 15;29(14):1840-1. doi


GPL distribution (see licence ). Sources for plugins are available freely. Sources for core are available on request.


  • 24/10/2013 V2.7 : new Iterative Thresholding; 32-bits segmentation and labelling for large number of objects (>65 535)
  • 21/03/2014 V2.71: bug fix in Segment3D
  • 25/05/2015 V3.2 : improved watershed (especially for flat regions)
  • 20/08/2015 V3.4 : redesigned Watershed, record Iterative Thresholding
  • 22/08/2016 V3.83: watershed improved
plugin/segmentation/3d_spots_segmentation/start.txt · Last modified: 2016/08/22 04:03 by tboudier
Back to top
CC Attribution-Noncommercial-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0