Learn R Programming

prospectr (version 0.2.0)

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

a numeric data.frame, matrix or vector to process.

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 'substraction' (see details section).

Value

a matrix or vector with the filtered spectra.

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

savitzkyGolay, movav, gapDer, binning

Examples

Run this code
# NOT RUN {
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')
cr <- continuumRemoval(NIRsoil$spc, wav, type = 'A') 
matlines(wav, t(cr[1:10,])) 
# }

Run the code above in your browser using DataLab