Learn R Programming

prospectr (version 0.1.3)

continuumRemoval: Continuum Removal

Description

Compute the continuum removed values of a data matrix, data.frame, or vector as implemented in ENVI

Usage

continuumRemoval(X,wav,type,interpol,method)

Arguments

X
numeric data.frame, matrix or vector to process
wav
optional. numeric vector of band positions
type
type of data: 'R' for reflectance (default), 'A' for absorbance
interpol
interpolation method between points on the convex hull: 'linear' (default) or 'spline'
method
normalization method: 'division' (default) or 'substraction' (see details section)

Value

a matrix or vector with the filtered signal(s)

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

sgolayfilt, 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