dist.speclib | R Documentation |
Calculation of distance matrices by using one of the various distance measure to compute the distances between the spectra in Speclib
. Spectral Angle Mapper (SAM) is calculated with sam
giving reference spectra or with sam_distance
taking all combinations between spectra in single Speclib into account.
dist.speclib(x, method = "sam", ...) ## Direct call to Spectral Angle Mapper function sam(x, ref) sam_distance(x)
x |
Object of class |
method |
The distance measure to be used. This must be one of "sam", "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski". |
ref |
Object of class |
... |
Further arguments, passed to other methods. |
Available distance measures are "spectral angle mapper" (sam
, Kruse et al. 1993) and all distance measures available in dist
. Spectral angle mapper is calculated with the following formula:
\cos^{-1}(∑_{i=1}^{nb}{t_i r_i} ∑_{i=1}^{nb}{t_i^2}^{-0.5} ∑_{i=1}^{nb}{r_i^2}^{-0.5})
nb is the number of bands in Speclib. t_i and r_i are the reflectances of target and reference spectrum in band i, respectively.
The dist-method
for Speclibs returns an object of class "dist"
. See dist
for further information on class "dist"
. Both other functions return an object of class matrix.
Lukas Lehnert
Kruse, F. A.; Lefkoff, A. B.; Boardman, J. W.; Heidebrecht, K. B.; Shapiro, A. T.; Barloon, P. J. & Goetz, A. F. H. (1993). The spectral image processing system (SIPS) – interactive visualization and analysis of imaging spectrometer data. Remote Sensing of Environment, 44, 145-163.
dist
, Speclib
data(spectral_data) ## Mask channel crossing part (around 1050 nm) and strong ## water absorption part (above 1350 nm) mask(spectral_data) <- c(1045, 1055, 1350, 1706) ## Calculate distance between all spectra from spring ## using spectral angle mapper dist.speclib(subset(spectral_data, season == "spring")) ## Calculate spectral angle mapper between reference spectrum ## and spectral_data ## Use first spectrum from summer as reference distance <- sam(subset(spectral_data, season == "spring"), subset(spectral_data, season == "summer")[1,])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.