主要内容

ppi

使用像素纯度索引提取端成员签名

    描述

    例子

    端成员= ppi (输入数据纽曼成员从高光谱数据中提取端成员特征多维数据集通过使用像素纯度指数(PPI)算法。纽曼成员是要使用PPI算法提取的端成员签名数。

    该函数将高光谱数据投影到一组随机生成的单位向量上。单位向量方向上具有极值的像素被视为纯像素,它们构成端成员。输入数据中所有光谱带的端成员值包括端成员签名。有关更多信息,请参阅n、 看算法

    例子

    端成员= ppi (输入数据纽曼成员名称、值除了前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项。使用此语法设置的选项

    • 用于投影的随机生成的单位向量的数目。

    • 从简化的高光谱数据中提取端成员特征。

    请注意

    此函数需要图像处理工具箱™ 高光谱成像库. 您可以安装图像处理工具箱高光谱成像库从附加的探险家。有关安装附加组件的详细信息,请参见获取和管理附加组件

    例子

    全部崩溃

    将高光谱数据读入工作区。

    hcube=超立方体(“paviaU.hdr”);

    通过使用查找高光谱数据立方体中存在的光谱不同端成员的数量countEndmembersHFC函数。

    numEndmembers=countEndmembersHFC(hcube,“PFA”, 10 ^ 7);

    使用像素纯度指数(PPI)方法计算端成员。默认情况下ppi函数使用最大噪声分数(MNF)变换进行预处理。用于投影的默认串数为 1 0 4 十乘四

    endmembers=ppi(hcube.DataCube,numEndmembers);

    绘制高光谱数据的末端成员。

    图形打印(端件)xlabel(带数字的)伊拉贝尔(“像素值”)头衔({“Endmembers光谱”,['最终成员数='num2str (numEndmembers)]});ylim (9000 [0])

    将高光谱数据读入工作区。

    hcube=超立方体(“paviaU.hdr”);

    通过使用查找高光谱数据立方体中存在的光谱不同端成员的数量countEndmembersHFC函数。

    numEndmembers=countEndmembersHFC(hcube,“PFA”, 10 ^ 7);

    使用像素纯度指数(PPI)方法计算端元。指定用于投影的单位向量的数量为100。同时,选择主成分分析(PCA)方法进行降维。

    endmembers = ppi (hcube。DataCube numEndmembers,“NumVectors”, 100,“ReductionMethod”“PCA”);

    绘制高光谱数据的末端成员。

    图形打印(端件)xlabel(带数字的)伊拉贝尔(“像素值”) ylim([0 9000]) title({“Endmembers光谱”,['最终成员数='num2str (numEndmembers)]});

    输入参数

    全部崩溃

    输入高光谱数据,指定为三维数字数组或超立方体对象。如果输入是a超立方体对象,然后函数从其中读取高光谱数据立方体数据立方体财产。

    高光谱数据是一个大小为的数字数组-借-N-借-CN分别是高光谱数据中的行数和列数。C是高光谱数据中的光谱带数。

    数据类型:|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

    要提取的端成员数,指定为正标量整数。该值必须在范围内[1C].C为输入的高光谱数据中的光谱波段数。

    数据类型:|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

    名称-值参数

    指定可选的逗号分隔的对名称、值论据。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值

    例子:ppi (inputData 7“NumVectors”,100年,“方法”,“没有一个”)

    随机单位向量的数量,指定为逗号分隔的'NumVectors'和一个正的标量整数。提取的端元的精度随着用于投影的向量的数目而增加。然而,增加向量的数量也会增加计算复杂度。

    数据类型:|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

    维数缩减方法,指定为逗号分隔的'还原法”,“延长”“PCA”,或“没有”

    如果将值指定为“延长”“PCA”,该函数首先使用指定的方法降低输入数据的谱维数。然后,从简化后的数据中计算端成员签名。

    • “延长”-使用最大噪声分数(MNF)方法执行降维。

    • “PCA”-使用主成分分析(PCA)方法进行降维。

    如果将值指定为“没有”,该函数不执行降维。端成员签名直接从输入数据中提取。

    数据类型:烧焦|字符串

    输出参数

    全部崩溃

    端成员签名,作为大小矩阵返回C-借-P数据类型与输入的高光谱数据相同。

    数据类型:|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

    算法

    像素纯度指数(PPI)方法计算高光谱数据值在一组随机生成的单位向量上的正交投影.然后,该方法计算每个数据值的PPI计数。PPI计数是数据值作为极值点投射到这些串上的次数。那些超过预期的PPI计数的数据值组成了高光谱数据的端元。PPI是一种非迭代方法,涉及的步骤总结如下:

    1. 利用MNF或PCA计算输入数据的主成分频带并降维。将要提取的主成分波段的数量设置为要提取的端元的数量。

    2. 生成k长度与输入数据相同的串数。

    3. r是表示像素光谱的样本向量。然后,将样本向量正交投影到每个串上并找到极值。

    4. 存储每个极值的位置并计算它们的出现次数。发生的数量被称为PPI计数。

    5. 找到输入数据立方体中每个像素光谱的PPI计数。

    6. 按照它们的PPI计数降序排列像素光谱,并识别第一个n作为端元的有序集合中的像素光谱数。要选择的端成员的数量由输入参数指定纽曼成员

    工具书类

    [1] j.w. Boardman, F.A. Kruse和R.O. Green,“通过部分非混合AVIRIS数据绘制目标特征”,技术报告,加利福尼亚,美国,1995。

    介绍了R2020a