smooth_spct {photobiology} | R Documentation |
Smooth a spectrum
Description
These functions implement one original methods and acts as a wrapper for other common R smoothing functions. The advantage of using this function for smoothing spectral objects is that it simplifies the user interface and sets, when needed, defaults suitable for spectral data.
Usage
smooth_spct(x, method, strength, wl.range, ...)
## Default S3 method:
smooth_spct(x, method, strength, wl.range, ...)
## S3 method for class 'source_spct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
## S3 method for class 'filter_spct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
## S3 method for class 'reflector_spct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
## S3 method for class 'solute_spct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
## S3 method for class 'response_spct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
## S3 method for class 'cps_spct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
## S3 method for class 'generic_mspct'
smooth_spct(
x,
method = "custom",
strength = 1,
wl.range = NULL,
na.rm = FALSE,
...
)
Arguments
x |
an R object. |
method |
a character string "custom", "lowess", "supsmu" or "skip".. |
strength |
numeric value to adjust the degree of smoothing. Ignored if
method-specific parameters are passed through |
wl.range |
any R object on which applying the method |
... |
other parameters passed to the underlying smoothing functions. |
na.rm |
logical A flag indicating whether NA values should be stripped before the computation proceeds. |
Value
A copy of x
with spectral data values replaced by smoothed
ones.
Methods (by class)
-
smooth_spct(default)
: Default for generic function -
smooth_spct(source_spct)
: Smooth a source spectrum -
smooth_spct(filter_spct)
: Smooth a filter spectrum -
smooth_spct(reflector_spct)
: Smooth a reflector spectrum -
smooth_spct(solute_spct)
: Smooth a solute attenuation spectrum -
smooth_spct(response_spct)
: Smooth a response spectrum -
smooth_spct(cps_spct)
: Smooth a counts per second spectrum -
smooth_spct(generic_mspct)
:
Note
Method "custom" is our home-brewed method which applies strong
smoothing to low signal regions of the spectral data, and weaker or no
smoothing to the high signal areas. Values very close to zero are set to
zero with a limit which depends on the local variation. This method is an
ad-hock method suitable for smoothing spectral data obtained with
spectrometers. In the cased of methods "lowess" and "supsmu" the current
function behaves like a wrapper of the functions of the same names from
base R. Method "skip" returns x
unchanged.
Examples
my.spct <- clip_wl(sun.spct, c(400, 500))
smooth_spct(my.spct)
smooth_spct(my.spct, method = "custom", strength = 1)
smooth_spct(my.spct, method = "custom", strength = 4)
smooth_spct(my.spct, method = "supsmu", strength = 4)