nfindr
Syntax
Description
extracts endmember signatures from hyperspectral data endmembers
= nfindr(inputData
,numEndmembers
)cube
by using the
N-finder (N-FINDR) algorithm. numEndmembers
is the number of endmember
signatures to be extracted using N-FINDR algorithm. For more information about the N-FINDR
method, see Algorithms.
specifies options using one or more name-value pair arguments in addition to the input
arguments in the previous syntax. Use this syntax to set the options for number of
iterations and dimensionality reduction.endmembers
= nfindr(inputData
,numEndmembers
,Name,Value
)
Note
This function requires the Hyperspectral Imaging Library for Image Processing Toolbox™. You can install the Hyperspectral Imaging Library for Image Processing Toolbox from Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
The Hyperspectral Imaging Library for Image Processing Toolbox requires desktop MATLAB®, as MATLAB Online™ or MATLAB Mobile™ do not support the library.
Examples
Input Arguments
Output Arguments
Algorithms
N-FINDR is an iterative approach for finding the endmembers of a hyperspectral data. The method assumes that the volume of a simplex formed by the endmembers (purest pixels) is larger than any other volume defined by any other combination of pixels [1]. The steps involved are as follows:
Compute principal component bands and reduce the spectral dimensionality of the input data by using MNF or PCA. The number of principal component bands to be extracted is set equal to the number of endmembers to be extracted. The endmembers are extracted from the principal component bands.
Randomly select n number of pixel spectra from the reduced data as initial set of endmembers.
For iteration 1, denote the initial set of endmembers as .
Consider the endmembers as vertices of a simplex and compute the volume by using
where .
For iteration 2, Select a new pixel spectra r, such that .
Replace each endmember in the set with r and compute the volume of the simplex V(E(2)).
Replace the ith endmember in the set with r, if the computed volume V(E(2)) is greater than V(E(1)). This results in an updated set of endmembers. For example, if i = 2, the new set of endmembers derived at the end of the second iteration is .
For each iteration, select a new pixel spectra r and repeat steps 5 and 6. Each iteration results in an update set of endmembers. The iteration ends when the total number of iterations reaches the specified value
NumIterations
.
References
[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.
Version History
Introduced in R2020a
See Also
hypercube
| ppi
| countEndmembersHFC
| fippi