check_wl_stepsize {photobiology} | R Documentation |
Check consistency of wavelength step size
Description
Check the spread of wavelength step sizes in an ordered numeric
vector, or in the "w.length"
column of a spectral object containing
a single spectrum.
Usage
check_wl_stepsize(x, span = Inf, na.rm = FALSE)
Arguments
x |
numeric vector. Hint: to find valleys, change the sign of the
argument with the unnary operator |
span |
odd positive integer A peak is defined as an element in a
sequence which is greater than all other elements within a moving window of
width |
na.rm |
logical indicating whether |
Details
As the search for peaks uses a window based on a fixed number of
observations at neighbouring wavelengths, if the wavelength step between
observations varies drastically, the window expressed in nanometres of
wavelength becomes very irregular. With the default span = 5
in
peaks()
, valleys()
, and wls_at_target()
the
search in most cases still works for "thinned" spectra, and the check is
skipped. With spikes()
and despike()
methods the check is
always done as these methods do not override span = Inf
.
The typical case when the step can vary strongly are spectra returned by
thin_wl()
. As when using default arguments, including
span = 21
, thin_wl()
retains the original local maxima and
global maximum, and a reasonably narrow wavelength maximum step a call
to peaks
with span = NULL
or span = 5
tends
to discover the original peaks missing at most a few.
Value
A logical TRUE
is returned invisibly if check is passed and
otherwise FALSE
with a warning. A warning is issued on failure as
a side effect.
Examples
check_wl_stepsize(sun.spct)
check_wl_stepsize(1:20, 30)