Morphological image processing
Mathematical morphology

3D ImageJ Suite


This suite provides plugins to enhance 3D capabilities of ImageJ.

need a thumbnail



h-Dome transformation, useful for spot detection.

Jython code example:

from de.unihalle.informatik.MiToBo.core.datatypes.images import MTBImage
from de.unihalle.informatik.MiToBo.morphology import HDomeTransform3D
from ij import IJ

imp = IJ.getImage()
mtb = MTBImage.createMTBImage( imp.duplicate() )
hdome = HDomeTransform3D(mtb, 10.0)
mtbdone = hdome.getResultImage()
imp2 = mtbdone.getImagePlus()



"The plugin analyzes fluorescence microscopy images of neurites and nuclei of dissociated cultured neurons. Given user-defined thresholds, the plugin counts neuronal nuclei, and traces and measures neurite length."[...]" NeuriteTracer is a fast simple-to-use ImageJ plugin for the analysis of outgrowth in two-dimensional fluorescence microscopy images of neuronal cultures. The plugin performed well on images from three different types of neurons with distinct morphologies."

This plugin requires parameter setting: Threshold levels and scale (see more details on the related publication)



EBImage provides general purpose functionality for image processing and analysis. In the context of (high-throughput) microscopy-based cellular assays, EBImage offers tools to segment cells and extract quantitative cellular descriptors. This allows the automation of such tasks using the R programming language and facilitates the use of other tools in the R environment for signal processing, statistical modeling, machine learning and visualization with image data.

EBImage is available through the Bioconductor software project ( Strengths Lightweight Suitable for automated, scripted analyses All functions are documented with examples Modular links to R and Bioconductor software, notably imageHTS and cellHTS2 Community support via the Bioconductor mailing list Reproducible (image) analysis using the Sweave report-writing system


classification of hemp fibers based on morphological features



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

Grayscale granulometry


This imageJ/Fiji plugin provides an analysis of the granulometry inside an image by mathematical morphology. It has sevral option for the structuring element to be used, and the size domain to be tested. The output will be both a curve of the remaining content of the image against the growing size of the structuring element, and the corresponding results table that could be then exported. It can deal with grayscale images directly, no need to segment the image first. This plugin can then be used to compare different texture based on some statistical analysis of the produced curve (for exemple comparison of the geometrical means to discriminate 2 textures). It is macro recordable as well. Programming Language: java Processes: successive erosion, dilation, closing or opening -> ANALYSIS User skills: Life Scientist, developers, analysts

has topic



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.

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.

MorphoLibJ: using morphological reconstructions to isolate objects


When trying to isolate objects, one strategy might be to use regular morphological operations (opening/closing) to remove small objects that are not of interest. In case small objects are made of a large number of pixels, this operation might impair the remaining objects' contours. An alternative strategy might be to use morphological reconstruction. In short, seed is placed on the image, on objects, then conditional dilation is performed from those seeds.

Here is how to proceed, using MorphoLibJ:

  1. Open an image
  2. Use the multi-point selection tool and place seeds on objects of interest
  3. Create a new image of same size, black background
  4. Transfer the selection to the new image (Edit/Selection/Restore selection)
  5. Draw (make sure you're using white foreground) the multiple point selection
  6. Launch the Morphological reconstruction plugin: Plugins > MorphoLibJ > Morphological reconstruction
need a thumbnail