wl2i {hyperSpec} | R Documentation |
Conversion between Wavelength and Spectra Matrix Column
Index wl2i
returns the column indices for the spectra matrix for the given wavelengths.
i2wl
converts column indices into wavelengths.
Description
If wavelength
is numeric, each of its elements is converted to the respective index.
Values outside the range of x@wavelength
become NA
.
Usage
wl2i(x, wavelength = stop("wavelengths are required."), unlist = TRUE)
i2wl(x, i)
Arguments
x |
a |
wavelength |
the wavelengths to be converted into column indices, either numeric or a formula, see details. |
unlist |
if multiple wavelength ranges are given, should the indices be unlisted or kept in a list? |
i |
the column indices into the spectra matrix for which the wavelength is to be computed |
Details
If the range is given as a formula (i.e. start ~ end
, a sequence
index corresponding to start : index corresponding to end
is returned. If the wavelengths are not ordered, that may lead to chaos. In this case, call
orderwl
first.
Two special variables can be used: min
and max
, corresponding to the lowest and
highest wavelength of x
, respectively.
start and end may be complex numbers. The resulting index for a complex x is then
index (Re (x)) + Im (x)
Value
A numeric containing the resulting indices for wl2i
i2wl
returns a numeric with the wavelengths
Author(s)
C. Beleites
Examples
flu
wl2i (flu, 405 : 407)
wl2i (flu, 405 ~ 407)
## beginning of the spectrum to 407 nm
wl2i (flu, min ~ 407)
## 2 data points from the beginning of the spectrum to 407 nm
wl2i (flu, min + 2i ~ 407)
## the first 3 data points
wl2i (flu, min ~ min + 2i)
## from 490 nm to end of the spectrum
wl2i (flu, 490 ~ max)
## the last 8 data points
wl2i (flu, max - 7i ~ max)
## get 450 nm +- 3 data points
wl2i (flu, 450 - 3i ~ 450 + 3i)
wl2i (flu, 300 : 400) ## all NA:
wl2i (flu, 600 ~ 700) ## NULL: completely outside flu's wavelength range
i2wl (chondro, 17:20)