Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

continuumRemoval

Continuum Removal


Description

Maturing lifecycle

Compute the continuum removed values of a data matrix or vector

Usage

continuumRemoval(X, wav, type = c("R", "A"), 
                 interpol = c("linear", "spline"), 
                 method = c("division", "substraction"))

Arguments

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).

Details

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.

Value

a matrix or vector with the filtered spectra.

Author(s)

Antoine Stevens & Leonardo Ramirez-Lopez

References

Clark, R.N., and Roush, T.L., 1984. Reflectance Spectroscopy: Quantitative Analysis Techniques for Remote Sensing Applications. J. Geophys. Res. 89, 6329-6340.

See Also

Examples

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, ]))

prospectr

Miscellaneous Functions for Processing and Sample Selection of Spectroscopic Data

v0.2.1
MIT + file LICENSE
Authors
Antoine Stevens [aut, cre] (<https://orcid.org/0000-0002-1588-7519>), Leonardo Ramirez-Lopez [aut, cre] (<https://orcid.org/0000-0002-5369-5120>), Guillaume Hans [ctb] (<https://orcid.org/0000-0002-6503-5760>)
Initial release
2020-10-23

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.