Learn R Programming

prospectr (version 0.2.8)

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

Value

a matrix or vector with the filtered spectra.

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

Author

Antoine Stevens & Leonardo Ramirez-Lopez

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.

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

savitzkyGolay, movav, gapDer, binning

Examples

Run this code
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, ]))

Run the code above in your browser using DataLab