Confusion matrix Computation¶
Computes the confusion matrix of a classification
Detailed description¶
This application computes the confusion matrix of a classification map relatively to a ground truth. This ground truth can be given as a raster or a vector data. Only reference and produced pixels with values different from NoData are handled in the calculation of the confusion matrix. The confusion matrix is organized the following way: rows = reference labels, columns = produced labels. In the header of the output file, the reference and produced class labels are ordered according to the rows/columns of the confusion matrix.
Parameters¶
This section describes in details the parameters available for this application. Table [1] presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is ComputeConfusionMatrix .
[1] | Table: Parameters table for Confusion matrix Computation. |
Parameter Key | Parameter Type | Parameter Description |
---|---|---|
in | Input image | Input image |
out | Output File name | Output File name |
ref | Choices | Choices |
ref raster | Choice | Ground truth as a raster image |
ref vector | Choice | Ground truth as a vector data file |
ref.raster.in | Input image | Input image |
ref.vector.in | Input File name | Input File name |
ref.vector.field | String | String |
nodatalabel | Int | Int |
ram | Int | Int |
inxml | XML input parameters file | XML input parameters file |
outxml | XML output parameters file | XML output parameters file |
Input Image: The input classification image.
Matrix output: Filename to store the output matrix (csv format).
Ground truth: Choice of ground truth format. Available choices are:
- Ground truth as a raster image
- Input reference image: Input image containing the ground truth labels.
- Ground truth as a vector data file
- Input reference vector data: Input vector data of the ground truth.
- Field name: Field name containing the label values.
Value for nodata pixels: Label for the NoData class. Such input pixels will be discarded from the ground truth and from the input classification map. By default, ‘nodatalabel = 0’.
Available RAM (Mb): Available memory for processing (in MB).
Load otb application from xml file: Load otb application from xml file.
Save otb application to xml file: Save otb application to xml file.
Example¶
To run this example in command-line, use the following:
otbcli_ComputeConfusionMatrix -in clLabeledImageQB1.tif -out ConfusionMatrix.csv -ref vector -ref.vector.in VectorData_QB1_bis.shp -ref.vector.field Class -nodatalabel 255
To run this example from Python, use the following code snippet:
#!/usr/bin/python
# Import the otb applications package
import otbApplication
# The following line creates an instance of the ComputeConfusionMatrix application
ComputeConfusionMatrix = otbApplication.Registry.CreateApplication("ComputeConfusionMatrix")
# The following lines set all the application parameters:
ComputeConfusionMatrix.SetParameterString("in", "clLabeledImageQB1.tif")
ComputeConfusionMatrix.SetParameterString("out", "ConfusionMatrix.csv")
ComputeConfusionMatrix.SetParameterString("ref","vector")
ComputeConfusionMatrix.SetParameterString("ref.vector.in", "VectorData_QB1_bis.shp")
ComputeConfusionMatrix.SetParameterString("ref.vector.field", "Class")
ComputeConfusionMatrix.SetParameterInt("nodatalabel", 255)
# The following line execute the application
ComputeConfusionMatrix.ExecuteAndWriteOutput()
Limitations¶
None
Authors¶
This application has been written by OTB-Team.