このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nfindr
構文
説明
は、N-FINDR アルゴリズムを使用してハイパースペクトル データ endmembers
= nfindr(inputData
,numEndmembers
)cube
からエンドメンバー シグネチャを抽出します。numEndmembers
は N-FINDR アルゴリズムを使用して抽出するエンドメンバー シグネチャの数です。N-FINDR 法の詳細については、アルゴリズムを参照してください。
は、前の構文の入力引数に加えて、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。この構文を使用して、反復および次元削減の回数のオプションを設定します。endmembers
= nfindr(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 が必要となります。
例
入力引数
出力引数
アルゴリズム
N-FINDR はハイパースペクトル データのエンドメンバーを求めるための反復手法です。この方法は、エンドメンバー (最もピュアなピクセル) により構成されるシンプレックスのボリュームが、他のピクセルの組み合わせで定義される他のどのボリュームよりも大きいことを前提とします [1]。含まれる手順をまとめると以下のとおりです。
主成分バンドを計算し、MNF または PCA を使用して入力データのスペクトル次元を削減します。抽出する主成分バンドの数は、抽出するエンドメンバーの数と等しく設定されます。エンドメンバーは主成分バンドから抽出されます。
削減されたデータから、エンドメンバーの初期セットとして n 個のピクセル スペクトルをランダムに選択します。
反復 1 では、エンドメンバーの初期セットを と記述します。
エンドメンバーをシンプレックスの頂点と考え、次を使用してボリュームを計算します。
ここで、 です。
反復 2 では、新しいピクセル スペクトル r を選択します。ただし、 です。
セット内の各エンドメンバーを r で置き換え、シンプレックスのボリューム V(E(2)) を計算します。
計算されたボリューム V(E(2)) が V(E(1)) より大きい場合は、セット内の ith 番目のエンドメンバーを r で置き換えます。これにより、エンドメンバーのセットが更新されます。たとえば、i = 2 の場合、2 回目の反復の最後に導出された新しいエンドメンバーのセットは です。
各反復で、新しいピクセル スペクトル r を選択し、手順 5 と 6 を繰り返します。反復するごとにエンドメンバーのセットが更新されます。総反復回数が、指定された値
NumIterations
に達すると反復が終了します。
参照
[1] Winter, Michael E. “N-FINDR: An Algorithm for Fast Autonomous Spectral End-Member Determination in Hyperspectral Data.” Proc. SPIE Imaging Spectrometry V 3753, (October 1999): 266–75. https://doi.org/10.1117/12.366289.
バージョン履歴
R2020a で導入
参考
hypercube
| ppi
| countEndmembersHFC
| fippi