The content of this page has not been vetted since shifting away from MediaWiki. If you’d like to help, check out the how to help guide!


Name  MorphoLibJ 
Software  IJPBplugins 
Author  
Maintainer  
Source  
Status 
stable, active 
Category 
Analysis, Filtering, Segmentation, Mathematical Morphology 
MorphoLibJ is a collection of mathematical morphology methods and plugins for ImageJ, created at INRAIJPB Modeling and Digital Imaging lab.
The library implements several functionalities that were missing in ImageJ, and that were not or only partially covered by other plugins. Namely:
 Morphological filtering for 2D/3D and binary or grey level images: erosion & dilation, closing & opening, morphological gradient & Laplacian, tophat…
 Morphological reconstruction, for 2D/3D and binary or grey level images, allowing fast detection of regional or extended extrema, removing of borders, hole filling, attribute filtering…
 Watershed segmentation + GUI, making it possible to segment 2D/3D images of (for instance) cell tissues.
 2D/3D measurements: photometric (intensity) and morphometric measurements such as volume, surface area, inertia ellipse/ellipsoid…
 Binary / label images utilities for removing or keeping largest connected component, perform size opening, fill holes, kill borders…
Morphological filters
Morphological filters are very common filters that can be combined together to provide a large variety of solutions. They are local filters, in the sense that they consider the neighborhood of each pixel/voxel.
Morphological filters are defined according to a structuring element of a given size and shape. Common structuring element include squares, discrete disks and octogons. Linear structuring element of various orientations may also be used to assess local orientation of the structures.
Principles
The original idea was to define a methodology to describe shapes by using another shape as test probe (Serra, 1982^{1}). The most basic morphological filters are the morphological dilation and the morphological erosion. The principle of morphological dilation is to test for each point of the plane, if the structuring element centered on this point intersects the structure of interest (see figure below). It results in a set larger than the original set. The principle of morphological erosion is to test for each point of the plane if the structuring element centred on this point is contained within the original set. It results in a set smaller than original set.
Morphological dilation and erosion change the size and the resulting set. It may also change its topology: after a dilation, components may merge and holes be filled. After an erosion, components may disappear, or components be separated into several parts.
Grayscale morphological filters
Grayscale erosion and dilation
Morphological erosion and dilation may also be applied on grayscale images. In that case, the morphological dilation computes for each pixel the maximum within its neighborhood (defined by the structuring element), whereas the morphological erosion considers the minimum value within the neighborhood. <div class="thumbnail" > Some examples of morphological filters on a grey level image. From left to right: original image, result of dilation with a square structuring element, and result of erosion with the same structuring element. </div> Applying a dilation or an erosion changes the size of the structures in the image: the grains in the result of the dilated image are larger. Morphological erosion can also be used on binary images to help separating touching particles.
Opening and closing
Morphological dilation and erosion are often used in combination. For example, the result of a dilation followed by an erosion is called a morphological closing, and removes dark structures smaller than the structuring element. It can also connect bright structures that were separated by a thin dark space.
In a symmetric way, the result of an erosion followed by a dilation is called a morphological opening, and removes bright structures smaller than the structuring element.
Note that even if opening and closing better preserve the size of the structures in the original image, the shape is slightly altered. For example, the result of morphological closing on the figure above creates artificial connections between grains. Choosing the best size for the structuring element is often a compromise between noise removal and preservation of structure shape.
Morphological gradients
More complicated combinations of elementary operations can be used. The morphological gradient, computed as the difference of the result of a morphological dilation with the result of a morphological erosion, reveals the boundaries of the structures within the image. The morphological Laplacian is defined as half the sum of a morphological dilation and a morphological erosion with the same structuring element, minus the original image. It results in enhancing the edges of the image.
Tophats
The white tophat first computes a morphological opening (resulting in removing bright structures smaller than structuring elements), and removes the result from the original image. When applied with a large structuring element, the result is an homogenization of the background, making bright structures easier to segment. Similarly, the dark tophat can be used to enhance dark structures observed on an nonhomogeneous background. <div class="thumbnail" > More examples of composed morphological filters. From left to right: morphological gradient, morphological Laplacian, morphological white tophat. </div>
Directional filters
For images containing very thin curvilinear structures (for example blood vessels, cell wall sections…), the application of common filters may be difficult due to the small size of the structures. Even for small structuring elements, the application of a morphological opening or closing let the structure disappear. Moreover, it may be difficult to preserve the whole thickness of the structure.
An alternative is to apply directional filtering. The principle is to consider an oriented structuring element such as a line segment of a given length, and to perform morphological operations for various orientations of the structuring element (Soille et al., 2001^{2}; Heneghan et al., 2002^{3}; Hendriks et al., 2003^{4}). For example, applying a median filter or a morphological opening with horizontal direction results in the enhancement of horizontal parts of bright structures. Similarly, using a vertical structuring element results in the enhancement of the vertical portions of the structures.
The results of oriented filters for each direction can be combined by computing the maximum value over all orientations. The figure above shows the results obtained when combining two or four directions. Here, 32 orientations of line with length 25 were used. This results in the enhancement of the image while preserving the thickness of the bright structures.
Similar results may be obtained for enhancing dark curvilinear structures, by using morphological closing or median filters, and combining the results by computing the minimum over all directions.
Plugin Usage
The collection of morphological filters is available in the Plugins › MorphoLibJ menu. Filters are implemented both for 2D and 3D images, and work for binary, gray level or color (RGB) images.
Planar images
Morphological filters for planar images are available Plugins › MorphoLibJ › Morphological filters. The dialog let the user choose the structuring element shape, radius, and eventually preview the result. The following list of operations can be chosen:
 erosion keeps the minimum value within the neighborhood defined by the structuring element.
 dilation keeps the maximum value within the neighborhood defined by the structuring element.
 closing consists in the succession of a dilation with an erosion. Morphological closing makes dark structures smaller than the structuring element disappear.
 opening consists in the succession of an erosion with a dilation. Morphological opening makes bright structures smaller than the structuring element disappear.
 morphological gradient is defined as the difference of a morphological dilation and a morphological erosion with the same structuring element, and enhances edges of the original images.
 morphological Laplacian is defined as half the sum of a morphological dilation and a morphological erosion with the same structuring element, minus the original image, and enhances edges of the image.
 black tophat consists in subtracting the original image from the result of a morphological closing, and results in the enhancement of dark structures smaller than structuring element.
 white tophat consists in subtracting the result of a morphological opening from the original image, and results in the enhancement of bright structures smaller than structuring element.
The following structuring elements can be used for 2D images:
 disk
 square
 octagon
 diamond
 line with angle of 0, 90, 45 or 135 degrees
3D images
Morphological filters for 3D images are available under Plugins › MorphoLibJ › Morphological filters (3D). The dialog let the user choose the structuring element shape and radius. The same list of operations as for planar images is provided. Planar structuring elements can be used (the operation is simply repeated on each slice), as well as a cubic or spherical structuring element. For most structuring elements, the size can be chosen for each direction.
Directional Filters
Directional filtering is available from Plugins › MorphoLibJ › Directional Filtering. It requires a planar image.
The parameters are:
 Type: to specify how to combine the results for each oriented filter
 Operation: the operation to apply using each oriented structuring element
 Line Length: the approximated length of the structuring element.
 Direction Number: the number of oriented structuring elements to consider. To be increased if the length of line is large.
Connected components operators
The “classical” morphological filters presented in the previous section transform an input image by using the values of pixels or voxels located in a close neighborhood, defined by the structuring element. Such filters can be seen as “local”, as the result in a given position does not depend on image values located at a sufficient distance.
Connected components operators are more general as they propagate information within the image based on connectivity between pixels or voxels. More details can be found in the review of Breen et al. (1996)^{5}. Connected components operators encompass powerful operators, such as morphological reconstruction that allows to reconstruct a marker image by constraining it to a mask. An extension of morphological reconstruction is the detection of extended minima and maxima, that can be useful as marker detection for segmentation. Finally, attribute opening and filtering algorithms can filter images based on size or range properties, with better preservation of edges than classical filtering.
Morphological reconstruction
The morphological reconstruction is at the basis of many useful algorithms, such as border removing, hole filling, or detection of regional minima or maxima in grayscale images.
Principle
The principle of geodesic reconstruction is to repeat conditional dilations or erosions until idempotence. Conditional dilation is the result of a dilation, combined with a mask image using a logical operation. Conditional dilations are repeated until no more modification occur (idempotence condition).
The following figure shows several steps of a geodesic reconstruction by dilation on a pair of binary images. The mask image is shown in gray, and the marker image is shown in black on the first image. The reconstructed images at each step are shown in black. The markers propagates within the mask until they fill the chosen regions. <div class="thumbnail" > Principle of the geodesic reconstruction algorithm. From left to right: original image in gray with marker superimposed in black, and result of conditional dilations with increasing sizes. </div>
Applications to binary images
By choosing the marker image, several operations may be automatized. For example, computing geodesic reconstruction with image of borders, and combining with original image will remove particles or regions touching the borders. In a similar way, computing geodesic reconstruction by using the border of the complement of the image makes it possible to fill holes that may appear in particles. <div class="thumbnail" > Some applications of geodesic reconstruction. From left to right: original image, result of kill borders, result of fill holes. </div>
Applications to grey level images
Geodesic reconstructions can be applied to grey level images. By manually choosing binary markers such that they overlay specific structures, and after applying a geodesic reconstruction by dilation, it is possible to obtain a grey level image containing only the chosen structures. The border kill operation can also be applied on grey level images, making possible to rapidly remove structures touching the image borders. <div class="thumbnail" > Some applications of geodesic reconstruction on grey level images. From left to right: original image with superimposed markers, result of geodesic reconstruction by dilation, result of border kill operation. </div>
Usage
The geodesic reconstruction algorithm is often used within other operators. In MorphoLibJ, it is however provided as a plugin to allow its inclusion in userdesigned macros or plugins:
 Geodesic Reconstruction: compute the geodesic reconstruction by erosion or dilation using a marker image and a mask image, and a specified connectivity.
 Interactive Geodesic Reconstruction: compute the geodesic reconstruction by erosion or dilation taking the current 2D image as mask image, creating the marker image out of userdefined ROIs (for example with the point selection tool).and using a specified connectivity. The plugin allows previewing the result.
 Geodesic Reconstruction 3D: compute the geodesic reconstruction by erosion or dilation on a 3D image.
 Interactive Geodesic Reconstruction 3D: compute the geodesic reconstruction by erosion or dilation on using the current 3D image as mask and creating the marker image from the userdefined point selections.
The kill borders and fill holes operations are also provided as plugins. Both work for 2D and 3D images of 8, 16 or 32 bits.
 Kill Borders: remove the particles touching the border of a binary or grayscale image.
 Fill Holes remove holes inside particles in binary images, or remove dark regions surrounded by bright crests in grayscale images.
Regional and extended extrema
Regional minima are defined as connected regions of elements (pixels or voxels) with the same value, and whose neighboring elements all have values greater than that of the region. Similarly, regional maxima are regions of connected pixels or voxels with same value, whose neighbors all have smaller value.
One problem arising with regional minima or maxima is that they are very sensitive to noise. It is often more convenient to use socalled extended extrema. The principle is to define a tolerance value for filtering the extrema. For example, extended maxima are defined as a connected region containing elements such that the difference of the value of each element within the region with the maximal value within the region is lower than the tolerance, and such that the neighbors of the regions all have values smaller than the maximum within the region minus the tolerance. This definition allows the identification of larger extrema, that better takes into account the noise within the image. The extended minima are defined in a similar way, and are efficiently used as preprocessing step for watershed segmentation.
Both extended maxima and minima are computed using the geodesic reconstruction algorithm. More details can be found in the book of Soille (2003). <div class="thumbnail" > Regional and extended maxima on a greylevel image. Left: original image. Middle: result of regional maxima. Right: result of extended maxima. </div>
The following operations are available in the Plugins › MorphoLibJ menu:
 Regional Min / Max: compute regional minima or extrema in grey level or binary image, with specified connectivity.
 Regional Min / Max 3D: compute regional minima or extrema in 3D grey level or binary image, with specified connectivity.
 Extended Min / Max: compute extended minima or extrema in grey level image, with specified connectivity.
 Extended Min / Max 3D: compute extended minima or extrema in 3D grey level or binary image, with specified connectivity.
 Impose Min / Max: impose minima or maxima on a grey level image.
 Impose Min / Max 3D: impose minima or maxima on a 3D grey level image.
Attribute filtering
Attribute filters aim at removing components of an image based on a certain size criterion, rather than on intensity. The most common and useful criterion is the number of pixels/voxels (i.e., the area or volume). For example, a morphological size opening operation with a threshold value of 20 will remove all blobs containing fewer than 20 voxels. The length of the diagonal of the bounding box can also be of interest to discriminate elongated versus round component shapes.
Application to binary images
When applied to a binary image, attribute opening consists in identifying each connected component, computing the attribute measurement of each component, and retain only the connected components whose measurement is above a specified value. This kind of processing is often used to cleanup segmentation results. <div class="thumbnail" > Example of area opening on a binary image. Left: original binary image. Middle: identification of connected components. Right: only the connected components with a sufficient size (defined by the area), have been retained. </div>
Application to grayscale images
When applied to a grayscale image, attribute opening consists in generating a series of binary images by thresholding at each distinct gray level in the image. The binary attribute opening described above is then applied independently to each binary image and the grayscale output is computed as the union of the binary results. The final output is a grayscale image whose bright structures with the attribute below a given value have disappeared. A great advantage of this filter is that the contours of the structures area better preserved than opening with a structuring element.
As for classical morphological filters, grayscale attribute closing or tophat can be defined. Grayscale attribute closing consists in removing dark connected components whose size is smaller than a specified value. White [resp. Black] Attribute TopHat considers the difference of the attribute opening [resp. closing] with the original image, and can help identifying bright [resp. dark] structures with small size.
Usage
So far, the following attribute filtering plugins are available within MorphoLibJ (under Plugins › MorphoLibJ):
 Gray Scale Attribute Filtering: opens a dialog to perform between attribute opening, closing, and black or white tophat on a planar (2D) grayscale image. Two size criteria can be used: the area (number of pixels), or the diameter (length of the diagonal of the bounding box).
 Gray Scale Attribute Filtering 3D: opens a dialog to perform between attribute opening, closing, and black or white tophat on a 3D grayscale image. The size criterion is the number of voxels.
Watershed segmentation
The watershed algorithm assimilates the grey level image to a digital elevation model, and aims at detecting the different catchment basins. In the greylevel image, the catchment basins correspond to dark regions surrounded by bright structures (the “crests”). It is a very popular technique specially used to segment touching objects. The MorphoLibJ suite contains several implementations of the algorithm and plugins that make use of it:
 Classic Watershed, plugin implementing the original watershed algorithm by Pierre Soille and Luc M. Vincent (1990)^{6} to segment 2D/3D grayscale images.
 Markercontrolled Watershed, a plugin to perform watershed in 2D/3D images by flooding from specific seed points or markers by Meyer and Beucher (1990)^{7}.
 Interactive Markercontrolled Watershed, a plugin to perform watershed in 2D/3D images by flooding from specific seed points or markers introduced interactively by the user.
 Morphological Segmentation, a plugin with a graphical user interface to segment 2D/3D images based on morphological operations and the watershed algorithm.
 Distance Transform Watershed, two plugins (2D and 3D) that work on binary images and allow to separate touching objects by combining the distance transform and watershed methods.
Measurements
MorphoLibJ contains several tools for quantifying the size, the shape, or the spatial organization, from binary or label 2D and 3D images. The aim is to facilitate the management of label images, contrary to the builtin “Analyze Particles…” function that operates directly on a grayscale image.
Region analysis
This section describes the methods implemented in MorphoLibJ for describing individual regions, represented as label images (one label for each region). We first define and describe the implemented features, then we present the plugins that integrate them.
Intrinsic volumes
The intrinsic volumes are a set of features with interesting mathematical properties that are commonly used for describing individual particles as well as binary microstructrues. In the planar case, they correspond to the area, the perimeter and the Euler number. The Euler number is a topological characteristic that equals the number of connected components minus the number of holes.
For 3D particles, intrinsic volumes correspond to the volume, the surface area, the mean breadth (a quantity proportional to the integral of the mean curvature over the surface) and the Euler number. In 3D the Euler number equals the number of connected components minus the number of “handles” or “tunnels” through the structure, plus the number of bubbles within the particles (Serra, 1982^{1}).
Estimation from 2D or 3D images
In image analysis, the estimation of area of 2D particles and of volume of 3D particles simply consists in counting the number of pixels or voxels that constitute it, weighted by the area of an individual pixel or the volume of an individual voxel.
The implemented method for perimeter measurement aims at providing a better estimate of the perimeter than traditional boundary pixel count. The principle is to consider a set of lines with various orientations, and to count the number of intersections with the region(s) of interest (see figure on the right). The number of intersections is proportional to the perimeter (Serra, 1982^{1}; Legland et al., 2007^{8}; Ohser et al., 2009^{9}). By averaging over all possible directions, the estimate is unbiased.
Perimeter can be estimated using either two directions (horizontal and vertical), or four directions (by adding the diagonals). Restricting the number of directions introduces an estimation bias, with known theoretical bounds (Moran, 1966^{10}; Legland et al., 2007^{8}), that is usually better than boundary pixel count (Lehmann et al., 2012^{11}).
The estimation of surface area follows the same principle. The number of directions is typically chosen equal to 3 (the three main axes in image), or 13 (by considering also diagonals). As for perimeter estimation, surface area estimation in usually biased, but is usually more precise than measuring the surface area of the polygonal mesh reconstructed from binary images (Lehmann et al., 2012^{11}).
Euler number
The measurement of Euler number depends on the choice of the connectivity. For planar images, typical choices are the 4connectivity, corresponding to the orthogonal neighbors, and the 8connectivity, that also considers the diagonal neighbors. In 3D, the 6connectivity considers the neighbors in the three main directions within the image, whereas the 26 connectivity also considers the diagonals. Other connectivities have been proposed but are not implemented in MorphoLibJ (Ohser et al., 2009^{9}).
In the current implementation in MorphoLibJ, the Euler number is not taken into account for intersection of particles with image borders. This may result in noninteger result if the particle(s) of interest touches the image border.
Shape factors
Intrinsic volumes characterize the size of the particles, from different points of view. Several indices are sometimes used to describe the shape of the particles, independently of their size.
In 2D, the isoperimetric deficit index (or “shape factor”, or “circularity”) is defined as the ratio of area over the square of the perimeter, normalized such that the value for a disk equals one:
\[circularity=4\pi\frac{A}{P^{2}}\]While values of circularity range theoretically within the interval \([0;1]\), the measurements errors of the perimeter may produce circularity values above 1 (Lehmann et al., 2012^{11}). The MorphoLibJ library also considers the inverse of the circularity, referred to as “elongation index”. The values of elongation range from 1 for round particles and increase for elongated particles.
\[elongation = \frac{P^{2}}{4\pi\cdot A}\]In 3D, the sphericity index can be defined as the ratio of the squared volume over the cube of the surface area, normalized such that the value for a ball equals one:
\[sphericity = 36\pi\frac{V^{2}}{S^{3}}\]Inertia ellipse and ellipsoid
A binary particle may be described mathematically by its moments which corresponds to an integral of its indicator function, with various degrees along the directions. The first moment corresponds to the area or to the volume of the particle. The normalization of the firstorder indicator functions leads to the 2D or 3D centroid of the particle. The second order moments can be used to compute the equivalent inertia ellipse or ellipsoid.
Geodesic measurements
For particles with complex shapes, the geodesic diameter may be of interest. It corresponds of the largest geodesic distance between two points within a region, the geodesic distance being the length of the shortest path joining the two points while staying inside the region (Lantuejoul et al., 1981^{12}).
Plugins
Most MorphoLibJ plugins consider the current image as input, that must be either binary (only one region is considered), or label (typically the result of a connected components labeling, see Utilities for binary images). The output is a results table (ImageJ Results table) containing one row for each label actually present within the image. The spatial calibration of the image is taken into account in all measurements. All plugins can be found under the Plugins › MorphoLibJ › Analyze menu.
Global geometry
The global geometry of particles in 2D images can be characterized with the Analyze Regions plugin (under Plugins › MorphoLibJ › Analyze › Analyze Regions). For 2D particles, the area, the perimeter and derived features are implemented. The columns of the results table are:
 Label: the label of the particle measured on the current line (it can be different from the row number if some labels do no exist in original image).
 Area: the number of pixels within each region, multiplied by the area of each pixel.
 Perimeter: an estimate of the perimeter, using the Crofton formula.
 Circularity the normalized ratio of area by the square of the perimeter: \(4\pi\cdot A/p^{2}\). The value should be comprised between 0 (very elongated) and 1 (close to circular). Values superior to 1 may appear due to discretization effect.
 Elongation: the normalized ratio of the square of the perimeter by the area : \(p^{2}/\left(4\pi\cdot A\right)\), corresponding to the inverse of the circularity. The values range from 1 (round), and increase with elongation of the particle.
Largest inscribed circle or ball
This plugin computes for each label the largest disk that can be enclosed within the corresponding particle. The plugin opens a dialog that allows to choose the label image to characterize, the choice of the method for computing distance, and eventually the image on which overlaid circles can be drawn. The output of the plugin includes the following information:
 Label: the label of the particle measured on the current line.
 xi: the xcoordinate of the inscribed circle.
 yi: the ycoordinate of the inscribed circle.
 radius: the radius of the inscribed circle.