This document describes the ENVI Spectral Library (SLI) format.
Overview
An ENVI Spectral Library (commonly named with a .sli
file extension) is
a variant on the
ENVI
Image Format to store individual spectra as rows in a 2D
image file. Since all the spectra are rows in the same image, the "width"
of the image defines a common set of wavelengths for all the spectra in
the database.
A spectral library can be used to store any type of spectral data, including material surface properties (e.g., reflectance or emissivity), material bulk properties (e.g., absorption, extinction, etc.), spectral responses, etc.
Format
Similar to the image format, a spectral library is composed of a binary data file and ASCII/Text header file pair. The library header file employs the same variable tags as its image header file counterpart. The SLI header file uses the following variable tags to define the dimensions of the library:
-
The
file type
will be "ENVI Spectral Library" -
The
samples
(X dimension of the image) defines the number of wavelengths used for all spectra. -
The
wavelength
andwavelength units
defines the wavelengths and units for the spectral locations sampled by the spectra. -
The
lines
(Y dimension of the image) defines the number of spectra in the library. -
The
spectra names
defines the corresponding names for each of the spectra in the library.
Although the bands (Z dimension of the image) might seem logical
to use for the spectral dimension, the spectral dimension is the
samples dimension and the bands variable is always 1 . Since
the data is 2D, the interleave is irrelevant.
|
Other relevant tag variables (e.g., header offset
, data type
, etc.)
are interpreted the same as they are for an image file.
Example
The ENVI header file below is for an example spectral library provided with ENVI that contains the spectral response functions for the 5 bands in the IKONOS sensor.
ENVI description = {IKONOS Resampling Filter Functions} samples = 142 lines = 5 bands = 1 header offset = 0 file type = ENVI Spectral Library data type = 5 interleave = bsq byte order = 0 wavelength units = Micrometers reflectance scale factor = 1.0 z plot titles = {Wavelength, Value} z plot range = {0.00, 1.00} band names = {IKONOS Band Filter Functions} spectra names = { IKONOS2 Pan, IKONOS2 Band 1, IKONOS2 Band 2, IKONOS2 Band 3, IKONOS2 Band 4} wavelength = { 0.34000, 0.34500, 0.35000, 0.35500, 0.36000, 0.36500, [lines deleted for documentation purposes] 1.00000, 1.00500, 1.01000, 1.01500, 1.02000, 1.02500, 1.03000, 1.03500, 1.04000, 1.04500}
The header reflects that the library contains 5
spectra (see the lines
variable) with the names IKONOS2 Pan
, IKONOS2 Band 1
… IKONOS2 Band 4
(see the spectra names
variable). All 5 spectral contain 142 wavelengths,
which are defined in microns (see wavelength units
) on the samples
defined by list assigned to the wavelength
variable.