Available with Spatial Analyst license.
Available with Image Analyst license.
Summary
Generates an Esri classifier definition file (.ecd) using the Maximum Likelihood Classifier (MLC) classification definition.
Usage
To complete the maximum likelihood classification process, use the same input raster and the output .ecd file from this tool in the Classify Raster tool.
The input raster can be any Esri-supported raster with any valid bit depth.
To create a segmented raster dataset, use the Segment Mean Shift tool.
To create the training sample file, use the Training Samples Manager pane from the Classification Tools drop-down menu.
The Output Classifier Definition File contains attribute statistics suitable for the Maximum Likelihood Classification tool.
The Segment Attributes parameter is enabled only if one of the raster layer inputs is a segmented image.
-
To classify time series raster data using the Continuous Change Detection and Classification (CCDC) algorithm, first run the Analyze Changes Using CCDC tool and use the output change analysis raster as the input raster for this training tool.
The training sample data must have been collected at multiple times using the Training Samples Manager. The dimension value for each sample is listed in a field in the training sample feature class, which is specified in the Dimension Value Field parameter.
Syntax
TrainMaximumLikelihoodClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {used_attributes}, {dimension_value_field})
Parameter | Explanation | Data Type |
in_raster | The raster dataset to classify. | Raster Layer; Mosaic Layer; Image Service; String |
in_training_features | The training sample file or layer that delineates the training sites. These can be either shapefiles or feature classes that contain your training samples. The following field names are required in the training sample file:
| Feature Layer |
out_classifier_definition | The output JSON file that contains attribute information, statistics, hyperplane vectors, and other information for the classifier. An .ecd file is created. | File |
in_additional_raster (Optional) | Incorporates ancillary raster datasets, such as a segmented image or DEM. This parameter is optional. | Raster Layer; Mosaic Layer; Image Service; String |
used_attributes [used_attributes,...] (Optional) | Specifies the attributes to be included in the attribute table associated with the output raster.
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 is included as an input with a segmented image, MEAN and STD are also available attributes. | String |
dimension_value_field (Optional) | Contains dimension values in the input training sample feature class. This parameter is required to classify a time series of raster data using the change analysis raster output from the Analyze Changes Using CCDC tool. | Field |
Code sample
The following Python window script demonstrates how to use the TrainMaximumLikelihoodClassifier tool.
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
TrainMaximumLikelihoodClassifier("c:/test/moncton_seg.tif", "c:/test/train.gdb/train_features",
"c:/output/moncton_sig.ecd", "c:/test/moncton.tif",
"COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
This example shows how to train a maximum likelihood classifier.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: TrainMaximumLikelihoodClassifier(in_raster, in_training_features, out_classifier_definition,
{in_additional_raster}, {used_attributes})
"""
# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/moncton_sig.ecd"
in_additional_raster = "c:/moncton.tif"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
TrainMaximumLikelihoodClassifier(inSegRaster, train_features, out_definition,
in_additional_raster, attributes)
This example shows how to train a maximum likelihood classifier using a change analysis raster from the Analyze Changes Using CCDC tool.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
additional_raster = ''
attributes = None
dimension_field = "DateTime"
# Execute
arcpy.ia.TrainMaximumLikelihoodClassifier(
in_changeAnalysisRaster, train_features, out_definition,
additional_raster, attributes, dimension_field)
Environments
Licensing information
- Basic: Requires Image Analyst or Spatial Analyst
- Standard: Requires Image Analyst or Spatial Analyst
- Advanced: Requires Image Analyst or Spatial Analyst