View source: R/continuumRemoval.R
continuumRemoval | R Documentation |
Compute the continuum removed values of a data matrix or vector
continuumRemoval(X, wav, type = c("R", "A"),
interpol = c("linear", "spline"),
method = c("division", "substraction"))
X |
a numeric matrix or vector to process (optionally a data frame that can be coerced to a numerical matrix). |
wav |
optional. A numeric vector of band positions. |
type |
the type of data: 'R' for reflectance (default), 'A' for absorbance. |
interpol |
the interpolation method between points on the convex hull: 'linear' (default) or 'spline'. |
method |
normalization method: 'division' (default) or 'subtraction' (see details section). |
The continuum removal technique was introduced by Clark and Roush (1984) as a method to highlight energy absorption features of minerals. It can be viewed as a way to perform albedo normalization. The algorithm find points lying on the convex hull (local maxima or envelope) of a spectrum, connects the points by linear or spline interpolation and normalizes the spectrum by dividing (or subtracting) the input data by the interpolated line.
a matrix or vector with the filtered spectra.
Antoine Stevens & Leonardo Ramirez-Lopez
Clark, R.N., and Roush, T.L., 1984. Reflectance Spectroscopy: Quantitative Analysis Techniques for Remote Sensing Applications. J. Geophys. Res. 89, 6329-6340.
savitzkyGolay
, movav
,
gapDer
, binning
data(NIRsoil)
wav <- as.numeric(colnames(NIRsoil$spc))
# plot of the 10 first abs spectra
matplot(wav,
t(NIRsoil$spc[1:10, ]),
type = "l",
ylim = c(0, .6),
xlab = "Wavelength /nm",
ylab = "Abs"
)
# # type = 'A' is used for absorbance spectra
cr <- continuumRemoval(NIRsoil$spc, wav, type = "A")
matlines(wav, t(cr[1:10, ]))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.