HyperspectralUnmixing - Hyperspectral data unmixing¶
Estimate abundance maps from an hyperspectral image and a set of endmembers.
Detailed description¶
The application applies a linear unmixing algorithmto an hyperspectral data cube. This method supposes that the mixture betweenaterials in the scene is macroscopic and simulates a linear mixing model ofspectra.
The Linear Mixing Model (LMM) acknowledges that reflectancespectrum associated with each pixel is a linear combination of purematerials in the recovery area, commonly known as endmembers. Endmembers canbe estimated using the VertexComponentAnalysis application.
- The application allows to estimate the abundance maps with several algorithms :
- Unconstrained Least Square (ucls)
- Image Space Reconstruction Algorithm (isra)
- Non-negative constrained
- Least Square (ncls)
- Minimum Dispersion Constrained Non Negative Matrix Factorization (MDMDNMF).
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 HyperspectralUnmixing .
[1] | Table: Parameters table for Hyperspectral data unmixing. |
Parameter Key | Parameter Name | Parameter Type |
---|---|---|
in | Input Image Filename | Input image |
out | Output Image | Output image |
ie | Input endmembers | Input image |
ua | Unmixing algorithm | Choices |
ua ucls | UCLS | Choice |
ua ncls | NCLS | Choice |
ua isra | ISRA | Choice |
ua mdmdnmf | MDMDNMF | Choice |
inxml | Load otb application from xml file | XML input parameters file |
outxml | Save otb application to xml file | XML output parameters file |
- Input Image Filename: The hyperspectral data cube input.
- Output Image: The output abundance map. The abundance fraction are stored in a multispectral image where band N corresponds to the fraction of endmembers N in each pixel.
- Input endmembers: The endmembers (estimated pure pixels) to use for unmixing. Must be stored as a multispectral image, where each pixel is interpreted as an endmember.
- Unmixing algorithm: The algorithm to use for unmixing. Available choices are:
- UCLS: Unconstrained Least Square.
- NCLS: Non-negative constrained Least Square.
- ISRA: Image Space Reconstruction Algorithm.
- MDMDNMF: Minimum Dispersion Constrained Non Negative Matrix Factorization.
- 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_HyperspectralUnmixing -in cupriteSubHsi.tif -ie cupriteEndmembers.tif -out HyperspectralUnmixing.tif double -ua ucls
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 HyperspectralUnmixing application
HyperspectralUnmixing = otbApplication.Registry.CreateApplication("HyperspectralUnmixing")
# The following lines set all the application parameters:
HyperspectralUnmixing.SetParameterString("in", "cupriteSubHsi.tif")
HyperspectralUnmixing.SetParameterString("ie", "cupriteEndmembers.tif")
HyperspectralUnmixing.SetParameterString("out", "HyperspectralUnmixing.tif")
HyperspectralUnmixing.SetParameterOutputImagePixelType("out", 7)
HyperspectralUnmixing.SetParameterString("ua","ucls")
# The following line execute the application
HyperspectralUnmixing.ExecuteAndWriteOutput()
Limitations¶
None
Authors¶
This application has been written by OTB-Team.
See Also¶
- These additional resources can be useful for further information:
- VertexComponentAnalysis