ppi
説明
は、Pixel Purity Index (PPI) アルゴリズムを使用してハイパースペクトル データ endmembers
= ppi(inputData
,numEndmembers
)cube
からエンドメンバー シグネチャを抽出します。numEndmembers
は PPI アルゴリズムを使用して抽出するエンドメンバー シグネチャの数です。
この関数は、ランダムに生成された単位ベクトルのセットにハイパースペクトル データを投影します。単位ベクトルの方向に極端な値を持つピクセルはピュア ピクセルと見なされ、それらのピクセルがエンドメンバーを構成します。入力データのスペクトル バンド全体にまたがるエンドメンバーの値がエンドメンバー シグネチャを構成します。詳細については、アルゴリズムを参照してください。
は、前の構文の入力引数に加えて、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。この構文を使用して次のオプションを設定します。endmembers
= ppi(inputData
,numEndmembers
,Name,Value
)
投影に使用する、ランダムに生成された単位ベクトルの数
削減されたハイパースペクトル データから抽出するエンドメンバー シグネチャ
メモ
この関数には Image Processing Toolbox™ Hyperspectral Imaging Library が必要です。Image Processing Toolbox Hyperspectral Imaging Library はアドオン エクスプローラーからインストールできます。アドオンのインストールの詳細については、アドオンの入手と管理を参照してください。
Image Processing Toolbox Hyperspectral Imaging Library は MATLAB® Online™ または MATLAB Mobile™ ではサポートされないため、デスクトップの MATLAB が必要となります。
例
入力引数
出力引数
アルゴリズム
Pixel Purity Index (PPI) 法では、"スキュアー" と呼ばれる、ランダムに生成された単位ベクトルのセットに対してハイパースペクトル データ値の直交投影を計算します。その後、各データ値の PPI カウントを計算します。PPI カウントは、データ値がこれらのスキュアーに投影された場合に極値点としての結果が得られる回数です。想定より多い PPI カウント数のデータ値は、ハイパースペクトル データのエンドメンバーを構成します。PPI は非反復法であり、含まれる手順をまとめると以下のとおりです。
主成分バンドを計算し、MNF または PCA を使用して入力データの次元を削減します。抽出する主成分バンドの数は、抽出するエンドメンバーの数と等しく設定されます。
入力データと同じ長さの k 個のスキュアーを生成します。
r をピクセル スペクトルを表すサンプル ベクトルとします。次に、このサンプル ベクトルを各スキュアーに直交投影して極値を求めます。
各極値の場所を格納してその発生数をカウントします。この発生数を PPI カウントと呼びます。
入力データ キューブ内のピクセル スペクトルごとに PPI カウントを求めます。
PPI カウントの降順でピクセル スペクトルを配置し、並べ替えたセット内にある最初の n 個のピクセル スペクトルをエンドメンバーとして特定します。選択するエンドメンバーの数は入力引数
numEndmembers
で指定します。
参照
[1] J.W Boardman, F.A. Kruse and R.O. Green, "Mapping target signatures via partial unmixing of AVIRIS data.", Technical Report, California, USA, 1995.
バージョン履歴
R2020a で導入