Learn R Programming

hyperSpec (version 0.95)

read.ENVI: Import of ENVI data as hyperSpec object

Description

This function allows ENVI data import as hyperSpec object.

Usage

read.ENVI(file = stop ("read.ENVI: file name needed"), header = NULL,
          x = 0:1, y = x,
          wavelength = NULL, label = NULL, log = NULL)

Arguments

file
name of the binary file
header
name of the ASCII header file or list with the respective information, see details. If NULL, the name of the header file is guessed.
x, y
vectors of form c(offset, step size) for the position vectors, see details.
wavelength, label, log
handed to initialize

Value

  • a hyperSpec object

Warning

I do only have ENVI filed saved by Opus / Bruker FT-IR FPA spectrometer (BIP format). Thus the function is not extensively tested. If you import other ENVI data (successful and unsuccessful), please let me know (e-mail: ).

Details

ENVI data usually consists of two files, an ASCII header and a binary data file. The header contains all information necessary for correctly reading the binary file.

I experienced missing header files (or rather: header files without any contents) produced by Bruker Opus' ENVI export. In this case the necessary information can be given as a list in parameter header instead. The elements of header are then:

lll{ header$ values meaning samples integer no of columns / spectra in x direction lines integer no of lines / spectra in y direction bands integer no of wavelengths / data points per spectrum `data type` format of the binary file 1 1 byte unsigned integer 2 2 byte signed integer 3 4 byte signed integer 4 4 byte float 5 8 byte double 9 16 (2 x 8) byte complex double 12 2 byte unsigned integer `header offset` integer number of bytes to skip before binary data starts interleave directions of the data cube "BSQ" band sequential (indexing: [sample, line, band]) "BIL" band interleave by line (indexing: [sample, line, band]) "BIP" band interleave by pixel (indexing: [band, line, sample]) `byte order` 0 or "little" little endian 1 or "big" big endian "swap" swap byte order }

Some more information that is not provided by the ENVI files may be given: Wavelength axis and axis labels in the respective parameters. For more information, see initialize.

The spatial information is by default a sequence from 0 to header$samples - 1 and header$lines - 1, respectively. x and y give offset of the first spectrum and step size. Thus, the object's $x colum is: (0 : header$samples - 1) * x [2] + x [1]. The $y colum is calculated analogously.

References

This function was adapted from read.ENVI: Jarek Tuszynski (2008). caTools: Tools: moving window statistics, GIF, Base64, ROC AUC, etc.. R package version 1.9.

See Also

read.ENVI