HyperspectralUnmixing¶
从高光谱图像和一组端元估计丰度图。
描述¶
该应用程序将线性分解算法应用于高光谱数据立方体。该方法假设场景中材料之间的混合是宏观的,并模拟了光谱的线性混合模型。
线性混合模型(LMM)承认,与每个像素相关的反射光谱是恢复区中纯材料的线性组合,通常称为端元。端成员可以使用 VertexComponentAnalysis 申请。
该应用程序允许使用几种算法估计丰度图:
- 无约束最小二乘(ULS)
- 图像空间重建算法(ISRA)
- 最小二乘(NCLS)
- 最小色散约束非负矩阵分解(MDMDNMF)。
参数¶
Input Image Filename -in image
Mandatory
The hyperspectral data cube input
Output Image -out image [dtype]
Mandatory
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 -ie image
Mandatory
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 -ua [ucls|isra|mdmdnmf]
Default value: ucls
The algorithm to use for unmixing
- UCLS
Unconstrained Least Square - ISRA
Image Space Reconstruction Algorithm - MDMDNMF
Minimum Dispersion Constrained Non Negative Matrix Factorization
实例¶
从命令行执行以下操作:
otbcli_HyperspectralUnmixing -in cupriteSubHsi.tif -ie cupriteEndmembers.tif -out HyperspectralUnmixing.tif double -ua ucls
来自Python的评论:
import otbApplication
app = otbApplication.Registry.CreateApplication("HyperspectralUnmixing")
app.SetParameterString("in", "cupriteSubHsi.tif")
app.SetParameterString("ie", "cupriteEndmembers.tif")
app.SetParameterString("out", "HyperspectralUnmixing.tif")
app.SetParameterOutputImagePixelType("out", 7)
app.SetParameterString("ua","ucls")
app.ExecuteAndWriteOutput()