Glossary¶
- bands¶
Refers to the spectral dimension of hyperspectral images. Bands are addressed by their index, and the wavelength of each band is stored in the image metadata.
- BIL¶
Band interleaved by line memory ordering. A type of interleave.
- BIP¶
Band interleaved by pixel memory ordering. A type of interleave.
- BSQ¶
Band sequential memory ordering. A type of interleave.
- Buteo¶
A scanner platform that is also supported by the SDK. See Scanner Integration.
- dark reference¶
A dark reference image of the same format as the hyperspectral image sensor, typically an average of many repeated samples. The image is taken with a cap in front of the camera. For pushbroom cameras, the image contains the spectral and one spatial axis.
- data cube¶
A hyperspectral image, i.e., a three-dimensional array with two spatial axes, lines and samples, and one spectral axis, bands.
- DN¶
Digital number. The raw, uncalibrated pixel values from the camera sensor.
- ENVI¶
The most widespread file format developed specifically for hyperspectral data. It was developed by NV5 Geospatial for their processing software.
ENVI uses a versatile header format that supports arbitrary metadata. The image data itself is not compressed or encoded.
- Hyperscan¶
A lab scanner with a conveyor and lights for capturing hyperspectral images with a Hypervision camera. See Scanner Integration.
- image¶
In the SDK, any source of hyperspectral data, such as a file, a camera, an in-memory array, or the result of an operation on another image. Represented by
hs.Image.- interleave¶
Refers to the memory layout of a hyperspectral data cube, specifically one of BSQ, BIL, or BIP.
- lines¶
Refers to the y-axis of hyperspectral images. The term comes from pushbroom cameras, where each individual image represents a single line.
- PAM¶
A highly generic image format that can also be used for hyperspectral data. The SDK uses some unofficial values in the header to support all interleave types.
- pipeline¶
A chain of operations on an image. Pipelines are lazy: no data is read or computed until the result is consumed, for example with
hs.Image.to_numpy(),hs.Image.resolve(),hs.Image.stream(), orhs.write().- pushbroom¶
A type of hyperspectral camera that captures one line at a time. A full image is captured by moving the object or the camera, for example with a conveyor.
- reflectance calibration¶
A conversion of raw image values to pseudo-reflectance values. This is performed using the formula: \(R = \frac{I - D}{W - D}\), where \(I\) is the original image, \(D\), \(W\) are the dark and white references.
- resolve¶
Computing a pipeline and keeping the full result in memory, see
hs.Image.resolve(). This avoids recomputing results that are used many times, but can use a lot of memory for large data cubes.- samples¶
Refers to the x-axis of hyperspectral images. The term comes from pushbroom cameras, where each individual image consists of a number (the width of the image) of spectral samples.
- stream¶
Computing a pipeline one frame at a time, see
hs.Image.stream(). A frame is a single line for BIL and BIP images, and a single band for BSQ images.- TIFF¶
A popular image format that can also support hyperspectral data.
For hyperspectral purposes, TIFF is useful because it supports compression and the files can be viewed in many different image viewers (they have to support multi-image TIFF files).
- wavelength¶
The center wavelength of a band, usually in nanometers. The wavelengths of an image are available in
hs.SpectralMeta.wavelengths.- white reference¶
A white reference image of the same format as the hyperspectral image sensor, typically an average of many repeated samples. The image is taken by pointing at a white calibration target. For pushbroom cameras, the image contains the spectral and one spatial axis.