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]