4.5.2 Dimensionality reduction

Perform Dimension reduction of the input image.

Detailed description

Performs dimensionality reduction on input image. PCA,NA-PCA,MAF,ICA methods are available. It is also possible to compute the inverse transform to reconstruct the image. It is also possible to optionnaly export the transformation matrix to a text file.

Parameters

This section describes in details the parameters available for this application. Table 4.70, page 566 presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is DimensionalityReduction.





Parameter key

Parameter type

Parameter description




in

Input image

Input Image

out

Output image

Output Image

rescale

Group

Rescale Output.

rescale.outmin

Float

Output min value

rescale.outmax

Float

Output max value

outinv

Output image

Inverse Output Image

method

Choices

Algorithm

method pca

Choice

PCA

method napca

Choice

NA-PCA

method maf

Choice

MAF

method ica

Choice

ICA

method.napca.radiusx

Int

Set the x radius of the sliding window.

method.napca.radiusy

Int

Set the y radius of the sliding window.

method.ica.iter

Int

number of iterations

method.ica.mu

Float

Give the increment weight of W in [0, 1]

nbcomp

Int

Number of Components.

normalize

Boolean

Normalize.

outmatrix

Output File name

Transformation matrix output (text format)

inxml

XML input parameters file

Load otb application from xml file

outxml

XML output parameters file

Save otb application to xml file











Table 4.70: Parameters table for Dimensionality reduction.

Input Image The input image to apply dimensionality reduction.

Output Image output image. Components are ordered by decreasing eigenvalues.

Rescale Output.

Inverse Output Image reconstruct output image.

Algorithm Selection of the reduction dimension method. Available choices are:

Number of Components. Number of relevant components kept. By default all components are kept.

Normalize. center AND reduce data before Dimensionality reduction.

Transformation matrix output (text format) Filename to store the transformation matrix (csv format)

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_DimensionalityReduction -in cupriteSubHsi.tif -out FilterOutput.tif -method pca

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 DimensionalityReduction application 
DimensionalityReduction = otbApplication.Registry.CreateApplication("DimensionalityReduction") 
 
# The following lines set all the application parameters: 
DimensionalityReduction.SetParameterString("in", "cupriteSubHsi.tif") 
 
DimensionalityReduction.SetParameterString("out", "FilterOutput.tif") 
 
DimensionalityReduction.SetParameterString("method","pca") 
 
# The following line execute the application 
DimensionalityReduction.ExecuteAndWriteOutput()

Limitations

This application does not provide the inverse transform and the transformation matrix export for the MAF.

Authors

This application has been written by OTB-Team.

See also

These additional ressources can be useful for further information: