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()