continuumRemoval {prospectr}R Documentation

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)

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.

Value

a matrix or vector with the filtered signal(s)

Author(s)

Antoine Stevens

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

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

[Package prospectr version 0.1.3 Index]