 Plugins
  Clustering 
  Color
  DCRaw
  Image I/O
  Half-Median
  3D Toolkit
  Texture Synthesis
 Libraries
 ij-VTK
 ImageJ-Zaurus
 VTK Examples
|
| Clustering and Thresholding
Plugins for segmentation of images through thresholding and
pixel-based clustering. A pixel based clustering is a generalization of
thresholding that can be used for both gray level and multi-band images (for
instance, color images). Plugin install in ImageJ under:
Plugins/Segmentation. Brief online help installs under:
Help/About Plugins.
Available plugins:
k-means Clustering plugin performs pixel-based segmentation of
multi-band images. Each pixel in the input image is assigned to one of the
clusters. Values in the output image produced by the plugin represent
cluster number to which original pixel was assigned.
An input image stack is interpreted as a set of bands corresponding
to the same image. For instance, an RGB color images has three bands: red,
green, and blue. Each pixels is represented by an
n-valued vector, where n is a number
of bands, for instance, a 3-value vector [r,g,b] in
case of a color image.
Each cluster is defined by its centroid in n-dimensional space.
Pixels are grouped by their proximity to cluster's centroids. Cluster
centroids are determined using a heuristics: initially centroids are
randomly initialized and then their location is interactively optimized.
For more information on this and other clustering approaches see:
Anil K. Jain and Richard C. Dubes, Algorithms for
Clustering Data, Prentice Hall, 1988. (PDF version available).
-
Number of clusters - Number
of segments image will be divided into.
-
Cluster center tolerance - At
each iteration cluster center location are updated. If cluster
center move less than tolerance value algorithm is considered to
converge to final solution.
-
Enable randomization seed -
When randomization seed is used, cluster centers are initialized to
the same values every time algorithm starts. When randomization seed
is disabled cluster center will be initialized differently each
time. It is possible that different cluster initialization may lead
to different final solutions.
-
Randomization seed - The seed
is the initial value of the internal state of the pseudorandom
number generator.
-
Show clusters as centroid
value - produces additional output image where clusters
are represented by its centroid value, see examples below.
-
Enable clustering animation -
produces additional output showing optimization process.
-
Print optimization trace -
prints out cluster controids and change in centroid location at each
iteration.
Clustering Segmentation Examples
4-class k-means segmentation of a color image:
3-class k-means segmentation of a color image
Possible Extensions of the Current Implementation
-
Processing only within ROI
-
Anisotropic distance measures, for instance,
Mahalonobis
-
Extension to fuzzy k-means
-
Cluster validity indexes
-
Automatic selection of the number of clusters
Maximum Entropy Thresholding
Automatic thresholding technique based on the maximum entropy of the
histogram. For more information see:
P.K. Sahoo, S. Soltani, K.C. Wong and, Y.C. Chen, "A Survey of
Thresholding Techniques", Computer Vision, Graphics, and Image
Processing, Vol. 41, pp.233-260, 1988.
Maximum Entropy Multi Thresholding
Automatic thresholding technique based on an extension of the
maximum entropy of the histogram to multiple levels (rather than only
two).
-
Clustering and Thresholding plugins are distributed as part of
ij-plugins Toolkit.
-
Download latest binaries for ij-plugins Toolkit following the
download
link; look for ij-plugins_toolkit_bin_*.zip with
highest release number.
-
Uncompress content of
ij-plugins_toolkit_bin_*.zip to ImageJ plugins
directory. You can find location of ImageJ plugins directory by
selecting
"Plugins"/"Utilities"/"ImageJ
Properties", look for value of tag "plugins
dir" near the bottom of the displayed
Properties' window.
-
Earlier versions of Clustering and Thresholding plugins were
contained in ij_clustering.jar, if you see that
file in ImageJ plugins directory remove it to avoid conflicts with
plugins contained in ij-plugins_toolkit.jar.
-
Restart ImageJ to load newly installed plugins.
|