Learn R Programming

hyperSpec (version 0.98-20140523)

wl2i: 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."))

i2wl(x, i)

Arguments

x
a hyperSpec object
wavelength
the wavelengths to be converted into column indices, either numeric or a formula, see details.
i
the column indices into the spectra matrix for which the wavelength is to be computed

Value

  • A numeric containing the resulting indices for wl2i

    i2wl returns a numeric with the wavelengths

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)

Examples

Run this code
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)

Run the code above in your browser using DataLab