4.6.10 Multivariate alteration detector
Multivariate Alteration Detector
Detailed description
This application detects change between two given images.
Parameters
This section describes in details the parameters available for this application. Table 4.96, page 644
presents a summary of these parameters and the parameters keys to be used in command-line and
programming languages. Application key is MultivariateAlterationDetector.
|
|
|
Parameter key | Parameter type |
Parameter description |
| | |
|
|
|
in1 | Input image |
Input Image 1 |
in2 | Input image |
Input Image 2 |
out | Output image |
Change Map |
ram | Int |
Available RAM (Mb) |
inxml | XML input parameters file |
Load otb application from xml file |
outxml | XML output parameters file |
Save otb application to xml file |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table 4.96: Parameters table for Multivariate alteration detector.
- Input Image 1: Image which describe initial state of the scene.
- Input Image 2: Image which describe scene after perturbations.
- Change Map: Image of detected changes.
- 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_MultivariateAlterationDetector -in1 Spot5-Gloucester-before.tif -in2 Spot5-Gloucester-after.tif -out detectedChangeImage.tif
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 MultivariateAlterationDetector application MultivariateAlterationDetector = otbApplication.Registry.CreateApplication("MultivariateAlterationDetector") # The following lines set all the application parameters: MultivariateAlterationDetector.SetParameterString("in1", "Spot5-Gloucester-before.tif") MultivariateAlterationDetector.SetParameterString("in2", "Spot5-Gloucester-after.tif") MultivariateAlterationDetector.SetParameterString("out", "detectedChangeImage.tif") # The following line execute the application MultivariateAlterationDetector.ExecuteAndWriteOutput()
Limitations
None
Authors
This application has been written by OTB-Team.
See also
These additional ressources can be useful for further information:
- This filter implements the Multivariate Alteration Detector, based on the following work:
A. A. Nielsen and K. Conradsen, Multivariate alteration detection (mad) in multispectral,
bi-temporal image data: a new approach to change detection studies, Remote Sens. Environ.,
vol. 64, pp. 1-19, (1998)
Multivariate Alteration Detector takes two images as inputs and produce a set of N change
maps as a VectorImage (where N is the maximum of number of bands in first and second
image) with the following properties:
- Change maps are differences of a pair of linear combinations of bands from image 1 and
bands from image 2 chosen to maximize the correlation.
- Each change map is orthogonal to the others.
This is a statistical method which can handle different modalities and even different bands and
number of bands between images.
If numbers of bands in image 1 and 2 are equal, then change maps are sorted by increasing
correlation. If number of bands is different, the change maps are sorted by decreasing
correlation.
The GetV1() and GetV2() methods allow retrieving the linear combinations used to generate
the Mad change maps as a vnl_matrix of double, and the GetRho() method allows retrieving
the correlation associated to each Mad change maps as a vnl_vector.
This filter has been implemented from the Matlab code kindly made available by the authors
here:
http://www2.imm.dtu.dk/ aa/software.html
Both cases (same and different number of bands) have been validated by comparing the output
image to the output produced by the Matlab code, and the reference images for testing have
been generated from the Matlab code using Octave.