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 typewill be "ENVI Spectral Library" -
The
samples(X dimension of the image) defines the number of wavelengths used for all spectra. -
The
wavelengthandwavelength unitsdefines 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 namesdefines 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.