This function returns the result of interpolating spectral data from the original set of wavelengths to a new one.
Usage
interpolate_wl(x, w.length.out, fill, length.out, ...)
# Default S3 method
interpolate_wl(x, w.length.out, fill, length.out, ...)
# S3 method for class 'generic_spct'
interpolate_wl(x, w.length.out = NULL, fill = NA, length.out = NULL, ...)
# S3 method for class 'generic_mspct'
interpolate_wl(
x,
w.length.out = NULL,
fill = NA,
length.out = NULL,
...,
.parallel = FALSE,
.paropts = NULL
)
Arguments
- x
an R object
- w.length.out
numeric vector of wavelengths (nm)
- fill
a value to be assigned to out of range wavelengths
- length.out
numeric value
- ...
not used
- .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.
Methods (by class)
interpolate_wl(default)
: Default for generic functioninterpolate_wl(generic_spct)
: Interpolate wavelength in an object of class "generic_spct" or derived.interpolate_wl(generic_mspct)
: Interpolate wavelength in an object of class "generic_mspct" or derived.
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_wl(sun.spct, 400:500, NA)
#> Object: source_spct [101 x 3]
#> Wavelength range 400-500 nm, step 1 nm
#> Label: sunlight, simulated
#> Measured on 2010-06-22 09:51:00 UTC
#> Measured at 60.20911 N, 24.96474 E; Kumpula, Helsinki, FI
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> s.q.irrad: Spectral photon irradiance [mol s-1 m-2 nm-1]
#> --
#> # A tibble: 101 × 3
#> w.length s.e.irrad s.q.irrad
#> <int> <dbl> <dbl>
#> 1 400 0.608 0.00000203
#> 2 401 0.626 0.00000210
#> 3 402 0.650 0.00000218
#> 4 403 0.621 0.00000209
#> 5 404 0.637 0.00000215
#> 6 405 0.626 0.00000212
#> 7 406 0.600 0.00000204
#> 8 407 0.595 0.00000202
#> 9 408 0.626 0.00000213
#> 10 409 0.662 0.00000226
#> # ℹ 91 more rows
interpolate_wl(sun.spct, 400:500, NULL)
#> Object: source_spct [101 x 3]
#> Wavelength range 400-500 nm, step 1 nm
#> Label: sunlight, simulated
#> Measured on 2010-06-22 09:51:00 UTC
#> Measured at 60.20911 N, 24.96474 E; Kumpula, Helsinki, FI
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> s.q.irrad: Spectral photon irradiance [mol s-1 m-2 nm-1]
#> --
#> # A tibble: 101 × 3
#> w.length s.e.irrad s.q.irrad
#> <int> <dbl> <dbl>
#> 1 400 0.608 0.00000203
#> 2 401 0.626 0.00000210
#> 3 402 0.650 0.00000218
#> 4 403 0.621 0.00000209
#> 5 404 0.637 0.00000215
#> 6 405 0.626 0.00000212
#> 7 406 0.600 0.00000204
#> 8 407 0.595 0.00000202
#> 9 408 0.626 0.00000213
#> 10 409 0.662 0.00000226
#> # ℹ 91 more rows
interpolate_wl(sun.spct, seq(200, 1000, by=0.1), 0)
#> Object: source_spct [8,001 x 3]
#> Wavelength range 200-1000 nm, step 0.1 nm
#> Label: sunlight, simulated
#> Measured on 2010-06-22 09:51:00 UTC
#> Measured at 60.20911 N, 24.96474 E; Kumpula, Helsinki, FI
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> s.q.irrad: Spectral photon irradiance [mol s-1 m-2 nm-1]
#> --
#> # A tibble: 8,001 × 3
#> w.length s.e.irrad s.q.irrad
#> <dbl> <dbl> <dbl>
#> 1 200 0 0
#> 2 200. 0 0
#> 3 200. 0 0
#> 4 200. 0 0
#> 5 200. 0 0
#> 6 200. 0 0
#> 7 201. 0 0
#> 8 201. 0 0
#> 9 201. 0 0
#> 10 201. 0 0
#> # ℹ 7,991 more rows
interpolate_wl(sun.spct, c(400,500), length.out=201)
#> Object: source_spct [201 x 3]
#> Wavelength range 400-500 nm, step 0.5 nm
#> Label: sunlight, simulated
#> Measured on 2010-06-22 09:51:00 UTC
#> Measured at 60.20911 N, 24.96474 E; Kumpula, Helsinki, FI
#> Variables:
#> w.length: Wavelength [nm]
#> s.e.irrad: Spectral energy irradiance [W m-2 nm-1]
#> s.q.irrad: Spectral photon irradiance [mol s-1 m-2 nm-1]
#> --
#> # A tibble: 201 × 3
#> w.length s.e.irrad s.q.irrad
#> <dbl> <dbl> <dbl>
#> 1 400 0.608 0.00000203
#> 2 400. 0.617 0.00000207
#> 3 401 0.626 0.00000210
#> 4 402. 0.638 0.00000214
#> 5 402 0.650 0.00000218
#> 6 402. 0.635 0.00000214
#> 7 403 0.621 0.00000209
#> 8 404. 0.629 0.00000212
#> 9 404 0.637 0.00000215
#> 10 404. 0.632 0.00000214
#> # ℹ 191 more rows