interpolate_spct {photobiology} | R Documentation |
Map a spectrum to new wavelength values.
Description
This function gives the result of interpolating spectral data from the original set of wavelengths to a new one.
Usage
interpolate_spct(spct, w.length.out = NULL, fill = NA, length.out = NULL)
interpolate_mspct(
mspct,
w.length.out = NULL,
fill = NA,
length.out = NULL,
.parallel = FALSE,
.paropts = NULL
)
Arguments
spct |
generic_spct |
w.length.out |
numeric vector of wavelengths (nm) |
fill |
a value to be assigned to out of range wavelengths |
length.out |
numeric value |
mspct |
an object of class "generic_mspct" |
.parallel |
if TRUE, apply function in parallel, using parallel backend provided by foreach |
.paropts |
a list of additional options passed into the foreach function when parallel computation is enabled. This is important if (for example) your code relies on external data or packages: use the .export and .packages arguments to supply them so that all cluster nodes have the correct environment set up for computing. |
Details
If length.out
it is a numeric value, then gives the number of
rows in the output, if it is NULL
, the values in the numeric vector
w.length.out
are used. If both are not NULL
then the range of
w.length.out
and length.out
are used to generate a vector of
wavelength. A value of NULL
for fill
prevents extrapolation.
If both w.length.out
and length.out
are NULL
the input
is returned as is. If w.length.out
has length equal to zero, zero
rows from the input are returned.
Value
A new spectral object of the same class as argument spct
.
Note
The default fill = NA
fills extrapolated values with NA. Giving NULL as
argument for fill
deletes wavelengths outside the input data range from the
returned spectrum. A numerical value can be also be provided as fill. This function calls
interpolate_spectrum
for each non-wavelength column in the input spectra object.
Examples
interpolate_spct(sun.spct, 400:500, NA)
interpolate_spct(sun.spct, 400:500, NULL)
interpolate_spct(sun.spct, seq(200, 1000, by=0.1), 0)
interpolate_spct(sun.spct, c(400,500), length.out=201)