R/dimensionalityReduction.R
dimensionalityReduction.Rd
Reduces the dimensionality of a data matrix if the signal-to-noise ratio (SNR) is above a certain threshold.
dimensionalityReduction(data, p, SNR = estSNR(data, p))
Data matrix. Samples in rows frequencies in columns.
Number of endmembers.
The Signal-to-Noise ratio of the data. By default it will be
estimated using estSNR
.
Data matrix with dimensionality equal to p
.
The SNR threshold is calculated as 15 + 10*log10(p). If the input
matrix SNR exceeds this value, the data is reduced to dimension p
.
If the SNR is below this value, the data is first reduced to p-1
and
then later restored to dimension p
.
Nascimento, J.M.P. and Bioucas Dias, J.M. "Vertex component analysis: a fast algorithm to unmix hyperspectral data," Geoscience and Remote Sensing, vol. 43, no. 4, pp. 898-910, April 2005, doi: 10.1109/TGRS.2005.844293