Author:Dimiter Prodanov (D.Prodanov at lumc.nl) History:2003/06/09: First version

2003/10/08: Extended result section; user can choose the step of increase of the structuring element; user can choose between plots Rel. intensity vs. radius of opening or Rel. intensity vs. are of openingSource:Granulometry_.java Installation:Copy Granulometry_.class to the plugins folder and restart ImageJ. Description:Granulometries were introduced by Matheron [G. Matheron, Randoms sets and integral equation, Wiley, New York, 1978.] as tools to extract size distribution from binary images. By performing series of morphological openings with a family of structuring elements (SE-s) of increasing size, we can obtain the granulometry function which maps each SE to the number of image pixels removed during the opening operation with the corresponding structuring element. The pixel size distribution function Ps can be defined as

Ps(k)= Sum of all the pixels in the image, opened with k-th SE. One can also define the Normalized size distribution function simply as N(k)=1- Ps(k)/Ps(0), where Ps(0) is the Ps of the original image.

The granulometric density function can be defined as

G(k)= N(k+1) -N(k)

This function can be viewed as discrete first derivative function of image structure sizes. The above definition is often referred to as pattern spectrum of the image. A local maximum in the pattern spectrum at a given scale indicates the presence of many structures at that scale.

In the current algorithm implementation I use the RankFilter class provided by ImageJ for the gray-level openings with structure element of circular shape with specified size (hence the Maximal size of opening parameter).