isoCluster

[ XITE Reference Manual | XITE home ]

Name

isoCluster - ISODATA clustering, unsupervised classification

Syntax

isoCluster <inimage> <outimage> <k> <mindist> <maxstdev> <minpix> [<metric>]

Description

Classifies the multi band input image iteratively to the nearest cluster mean. The program asks the user for initial mean vectors. Algorithm:

 Ask user for k mean vectors
 REPEAT
   classify input image to nearest mean
   Recalculate class means
   Report classification result
   IF (two classes are closer than <mindist>)
   THEN ask if user wants to merge them
   ELSEIF (a class has stdev larger than <maxstdev>)
   THEN ask if user wants to split it
   ELSEIF (a class has fewer than <minpix> pixels)
   THEN ask if user wants to remove it
   ENDIF
   IF (any such canges)
     THEN Recalculate class means
 UNTIL user is satisfied OR no changes
 save result

Arguments

inimage
Multi band input image.

outimage
Single band classification result.

k
Initial number of classes.

mindist
Minimum distance (using metric) between two class means.

maxstdev
Maximum standard deviation within a class (again using metric as distanse measure).

minpix
Minimum number of pixels in one class.

metric
One of:
1 => Euclidian distance
2 => City block distance
3 => Chess distance

Default value 1

Restrictions

All bands of input image must have pixel type unsigned byte. For every class, a mean vector with n float components must be given, where n = number of bands in input image. k must be between 2 and 100.

Author

Tor Lønnestad, BLAB, Ifi, UiO

Examples

 isoCluster landsat.img classes.img 5 10.0 30.0 500
 isoCluster landsat.img classes.img 5 10.0 30.0 500 3

Id

$Id: isoCluster.c,v 1.23 1997/01/29 10:38:25 svein Exp $