PredictRegression

Performs a prediction of the input image according to a regression model file.

Description

This application predict output values from an input image, based on a regression model file produced by the TrainRegression application. Pixels of the output image will contain the predicted values fromthe regression model (single band). The input pixels can be optionally centered and reduced according to the statistics file produced by the ComputeImagesStatistics application. An optional input mask can be provided, in which case only input image pixels whose corresponding mask value is greater than 0 will be processed. The remaining of pixels will be given the value 0 in the output image.

Parameters

Input Image -in image Mandatory
The input image to predict.

Input Mask -mask image
The mask restrict the classification of the input image to the area where mask pixel values are greater than 0.

Model file -model filename [dtype] Mandatory
A regression model file (produced by TrainRegression application).

Statistics file -imstat filename [dtype]
An XML file containing mean and standard deviation to center and reduce samples before prediction (produced by ComputeImagesStatistics application). If this file containsone more band than the sample size, the last stat of the last band will beapplied to expand the output predicted value

Output Image -out image [dtype] Mandatory
Output image containing predicted values

Available RAM (MB) -ram int Default value: 256
Available memory for processing (in MB).

Examples

From the command-line:

otbcli_PredictRegression -in QB_1_ortho.tif -imstat EstimateImageStatisticsQB1.xml -model clsvmModelQB1.svm -out clLabeledImageQB1.tif

From Python:

import otbApplication

app = otbApplication.Registry.CreateApplication("PredictRegression")

app.SetParameterString("in", "QB_1_ortho.tif")
app.SetParameterString("imstat", "EstimateImageStatisticsQB1.xml")
app.SetParameterString("model", "clsvmModelQB1.svm")
app.SetParameterString("out", "clLabeledImageQB1.tif")

app.ExecuteAndWriteOutput()

Limitations

The input image must contain the feature bands used for the model training (without the predicted value). If a statistics file was used during training by the TrainRegression, it is mandatory to use the same statistics file for prediction. If an input mask is used, its size must match the input image size.