Select most informative bands
selects the most informative bands of the hyperspectral data cube by using orthogonal space
projection method . The function returns a new
newhcube = selectBands(
hypercube object that
contains the data from only the most informative bands.
For preprocessing, the function removes the water absorption and low signal-to-noise ratio (SNR) bands prior to computing the most informative bands.
To reduce the computational complexity, the function computes the most informative bands by considering only 10% of the pixel values in the pre-processed data cube. These values are selected randomly. The function also ensures that the random selection does not result in the removal of endmembers.
[___] = selectBands(
additionally specifies the number of most informative bands to select from the input data
cube, in addition to any combination of arguments from previous syntaxes.
This function requires the Image Processing Toolbox™ Hyperspectral Imaging Library. You can install the Image Processing Toolbox Hyperspectral Imaging Library from Add-On Explorer. For more information about installing add-ons, see Get and Manage Add-Ons.
Select Most Informative Hyperspectral Bands
Read hyperspectral data into the workspace.
hcube = hypercube('paviaU.dat');
Estimate the endmembers of the data cube by using the FIPPI algorithm.
endmembers = fippi(hcube,9);
Create a new
hypercube consisting of the ten most informative bands.
newhcube = selectBands(hcube,endmembers,'NumberOfBands',10);
hcube — Input hyperspectral data
Input hyperspectral data, specified as a
DataCube property of the
object contains the hyperspectral data cube.
endmembers — Spectral signatures of endmembers
Spectral signatures of the endmembers, specified as a matrix of size
C-by-K. C is the number of
spectral bands in the hyperspectral data cube and K is the number of
endmembers of the hyperspectral data cube. Use the
function to find the endmembers of a hyperspectral data cube.
numBands — Number of bands to select
Number of most informative bands to select from the data cube, specified as a scalar.
newhcube — Output hyperspectral data
Output hyperspectral data, returned as a
band — Spectral band number of most informative bands
positive integer | vector of positive integers
Spectral band number of the most informative bands in the input data cube, returned as a positive integer or a vector of positive integers.
 Du, Qian, and He Yang. “Similarity-Based Unsupervised Band Selection for Hyperspectral Image Analysis.” IEEE® Geoscience and Remote Sensing Letters, Vol. 5, no. 4 (October 2008): 564–68. https://doi.org/10.1109/LGRS.2008.2000619.