i.maxlik.1grass man page

i.maxlik — Classifies the cell spectral reflectances in imagery data.
Classification is based on the spectral signature information generated by either i.cluster, g.gui.iclass, or i.gensig.


imagery, classification, Maximum Likelihood Classification, MLC


i.maxlik --help
i.maxlik group=name subgroup=name signaturefile=name output=name  [reject=name]   [--overwrite]  [--help]  [--verbose]  [--quiet]  [--ui]



Allow output files to overwrite existing files


Print usage summary


Verbose module output


Quiet module output


Force launching GUI dialog


group=name [required]

Name of input imagery group

subgroup=name [required]

Name of input imagery subgroup

signaturefile=name [required]

Name of input file containing signatures
Generated by either i.cluster, g.gui.iclass, or i.gensig

output=name [required]

Name for output raster map holding classification results


Name for output raster map holding reject threshold results


i.maxlik is a maximum-likelihood discriminant analysis classifier.  It can be used to perform the second step in either an unsupervised or a supervised image classification.

Either image classification methods are performed in two steps.  The first step in an unsupervised image classification is performed by i.cluster; the first step in a supervised classification is executed by the GRASS program g.gui.iclass. In both cases, the second step in the image classification procedure is performed by i.maxlik.

In an unsupervised classification, the maximum-likelihood classifier uses the cluster means and covariance matrices from the i.cluster signature file to determine to which category (spectral class) each cell in the image has the highest probability of belonging. In a supervised image classification, the maximum-likelihood classifier uses the region means and covariance matrices from the spectral signature file generated by g.gui.iclass, based on regions (groups of image pixels) chosen by the user, to determine to which category each cell in the image has the highest probability of belonging.

In either case, the raster map output by i.maxlik is a classified image in which each cell has been assigned to a spectral class (i.e., a category). The spectral classes (categories) can be related to specific land cover types on the ground.


The maximum-likelihood classifier assumes that the spectral signatures for each class (category) in each band file are normally distributed (i.e., Gaussian in nature). Algorithms, such as i.cluster, g.gui.iclass, or i.gensig, however, can create signatures that are not valid distributed (more likely with g.gui.iclass). If this occurs, i.maxlik will reject them and display a warning message.

The signature file (signaturefile) contains the cluster and covariance matrices that were calculated by the GRASS program i.cluster (or the region means and covariance matrices generated by g.gui.iclass, if the user runs a supervised classification). These spectral signatures are what determine the categories (classes) to which image pixels will be assigned during the classification process.

The optional name of a reject raster map holds the reject threshold results. This is the result of a chi square test on each discriminant result at various threshold levels of confidence to determine at what confidence level each cell classified (categorized). It is the reject threshold map layer, and contains the index to one calculated confidence level for each classified cell in the classified image. 16 confidence intervals are predefined, and the reject map is to be interpreted as 1 = keep and 16 = reject. One of the possible uses for this map layer is as a mask, to identify cells in the classified image that have a low probability (high reject index) of being assigned to the correct class.


Second part of the unsupervised classification of a LANDSAT subscene (VIZ, NIR, MIR channels) in North Carolina (see i.cluster manual page for the first part of the example):

# using here the signaturefile created by i.cluster
i.maxlik group=lsat7_2002 subgroup=lsat7_2002 \
  signaturefile=sig_cluster_lsat2002 \
  output=lsat7_2002_cluster_classes reject=lsat7_2002_cluster_reject
# visually check result
d.mon wx0
d.rast.leg lsat7_2002_cluster_classes
d.rast.leg lsat7_2002_cluster_reject
# see how many pixels were rejected at given levels
r.report lsat7_2002_cluster_reject units=k,p
# optionally, filter out pixels with high level of rejection
# here we remove pixels of at least 90% of rejection probability, i.e. categories 12-16
r.mapcalc "lsat7_2002_cluster_classes_filtered = \
           if(lsat7_2002_cluster_reject <= 12, lsat7_2002_cluster_classes, null())"

RGB composite of input data

Output raster map with pixels classified (10 classes)

Output raster map with rejection probability values (pixel classification confidence levels)

See Also

Image processing and Image classification wiki pages and for historical reference also the GRASS GIS 4 Image Processing manual

g.gui.iclass, i.cluster, i.gensig, i.group, i.segment, i.smap, r.kappa


Michael Shapiro, U.S.Army Construction Engineering Research Laboratory
Tao Wen, University of Illinois at Urbana-Champaign, Illinois

Last changed: $Date: 2015-09-14 18:35:33 +0200 (Mon, 14 Sep 2015) $

Source Code

Available at: i.maxlik source code (history)

Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2017 GRASS Development Team, GRASS GIS 7.2.1 Reference Manual


GRASS 7.2.1 Grass User's Manual