Train ISO Cluster Classifier (Image Analyst)

Available with Spatial Analyst license.

Summary

Generates an Esri classifier definition file (.ecd) using the Iso Cluster classification definition.

This tool performs an unsupervised classification.

Usage

  • Any Esri-supported raster is accepted as input, including raster products, segmented raster, mosaics, image services, or generic raster datasets. Segmented rasters must be 8-bit rasters with 3-bands.

  • The Segment Attributes parameter is only active if one of the raster layer inputs is a segmented image.

Parameters

LabelExplanationData Type
Input Raster

The raster dataset to classify.

Raster Layer; Mosaic Layer; Image Service; String
Max Number Of Classes / Clusters

Maximum number of desired classes to group pixels or segments. This should be set to be greater than the number of classes in your legend.

It is possible that you will get fewer classes than what you specified for this parameter. If you need more, increase this value and aggregate classes after the training process is complete.

Long
Output Classifier Definition File

The output JSON format file that will contain attribute information, statistics, hyperplane vectors, and other information for the classifier. An .ecd file will be created.

File
Additional Input Raster
(Optional)

Ancillary raster datasets, such as a multispectral image or a DEM, will be incorporated to generate attributes and other required information for classification. This parameter is optional.

Raster Layer; Mosaic Layer; Image Service; String
Skip Factor
(Optional)

Number of pixels to skip for a pixel image input. If a segmented image is an input, specify the number of segments to skip.

Long
Segment Attributes Used
(Optional)

Specifies the attributes that will be included in the attribute table associated with the output raster.

  • COLORThe RGB color values will be derived from the input raster on a per-segment basis. This is also known as average chromaticity color.
  • MEANThe average digital number (DN) will be derived from the optional pixel image on a per-segment basis.
  • STDThe standard deviation will be derived from the optional pixel image on a per-segment basis.
  • COUNTThe number of pixels composing the segment, on a per-segment basis.
  • COMPACTNESSThe degree to which a segment is compact or circular, on a per-segment basis. The values range from 0 to 1, in which 1 is a circle.
  • RECTANGULARITYThe degree to which the segment is rectangular, on a per-segment basis. The values range from 0 to 1, in which 1 is a rectangle.
String

TrainIsoClusterClassifier(in_raster, max_classes, out_classifier_definition, {in_additional_raster}, {skip_factor}, {used_attributes})
NameExplanationData Type
in_raster

The raster dataset to classify.

Raster Layer; Mosaic Layer; Image Service; String
max_classes

Maximum number of desired classes to group pixels or segments. This should be set to be greater than the number of classes in your legend.

It is possible that you will get fewer classes than what you specified for this parameter. If you need more, increase this value and aggregate classes after the training process is complete.

Long
out_classifier_definition

The output JSON format file that will contain attribute information, statistics, hyperplane vectors, and other information for the classifier. An .ecd file will be created.

File
in_additional_raster
(Optional)

Ancillary raster datasets, such as a multispectral image or a DEM, will be incorporated to generate attributes and other required information for classification. This parameter is optional.

Raster Layer; Mosaic Layer; Image Service; String
skip_factor
(Optional)

Number of pixels to skip for a pixel image input. If a segmented image is an input, specify the number of segments to skip.

Long
used_attributes
[used_attributes;used_attributes,...]
(Optional)

Specifies the attributes that will be included in the attribute table associated with the output raster.

  • COLORThe RGB color values will be derived from the input raster on a per-segment basis. This is also known as average chromaticity color.
  • MEANThe average digital number (DN) will be derived from the optional pixel image on a per-segment basis.
  • STDThe standard deviation will be derived from the optional pixel image on a per-segment basis.
  • COUNTThe number of pixels composing the segment, on a per-segment basis.
  • COMPACTNESSThe degree to which a segment is compact or circular, on a per-segment basis. The values range from 0 to 1, in which 1 is a circle.
  • RECTANGULARITYThe degree to which the segment is rectangular, on a per-segment basis. The values range from 0 to 1, in which 1 is a rectangle.

This parameter is only enabled if the Segmented key property is set to true on the input raster. If the only input to the tool is a segmented image, the default attributes are COLOR, COUNT, COMPACTNESS, and RECTANGULARITY. If an in_additional_raster value is included as an input with a segmented image, MEAN and STD are also available attributes.

String

Code sample

TrainIsoClusterClassifier example 1 (Python window)

The following Python window script uses the ISO Cluster classifier to create an unsupervised Esri classification definition file with a maximum of ten classes.

import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

TrainIsoClusterClassifier("c:/test/moncton_seg.tif", "10", 
                "c:/output/moncton_sig_iso.ecd","c:/test/moncton.tif", 
                "5", "10", "2", "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainIsoClusterClassifier example 2 (stand-alone script)

This script example uses the ISO Cluster classifier to create an unsupervised Esri classification definition file with a maximum of ten classes.

# Import system modules
import arcpy
from arcpy.ia import *

"""Usage: TrainIsoClusterClassifier(in_raster, max_num_classes, 
                out_classifier_definition, {in_additional_raster}, 
                {max_num_iterations}, {min_num_samples_per_cluster}, 
                {skip_factor},{used_attributes})

"""

# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
maxNumClasses = "10"
out_definition = "c:/output/moncton_sig_iso.ecd"
in_additional_raster = "moncton.tif"
maxIteration = "20"
minNumSamples = "10"
skipFactor = "5"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
TrainIsoClusterClassifier(inSegRaster, maxNumClasses, 
                out_definition,in_additional_raster, 
                maxIteration, minNumSamples, skipFactor, attributes)

Related topics