Skip to content

Spectral indices

A spectral index reduces each pixel's spectrum to one number that measures a particular feature, usually the depth or area of an absorption band. Computed over every pixel, it gives a map of where that feature is strong.

Notation

For a pixel, \(R(\lambda)\) is its value at wavelength \(\lambda\). An index is defined by up to three wavelengths:

  • left \(\lambda_L\) and right \(\lambda_R\): the shoulders on either side of the feature
  • middle \(\lambda_M\): the bottom of the absorption trough

Each wavelength is matched to the nearest band in the cube, so the definitions work for cubes with different band spacings.

Ratio (RATIO)

\[ \text{Ratio} = \frac{R(\lambda_M)}{R(\lambda_L)} \]

Set Middle as the numerator band and Left as the denominator band. Pixels where \(R(\lambda_L) = 0\) are left empty.

Relative absorption band depth (RABD)

RABD compares the value at the trough with a straight-line continuum drawn between the two shoulders, evaluated at \(\lambda_M\):

\[ t = \frac{\lambda_M - \lambda_L}{\lambda_R - \lambda_L}, \qquad \text{continuum}(\lambda_M) = R(\lambda_L) + t\,\big(R(\lambda_R) - R(\lambda_L)\big) \]
\[ \text{RABD} = 1 - \frac{R(\lambda_M)}{\text{continuum}(\lambda_M)} \]

A value of 0 means there is no absorption. Values closer to 1 mean a deeper trough. Negative values mean the spectrum peaks rather than dips.

Normalised RABD (RABD_NORM)

This is RABD rescaled to \([0, 1]\) over the whole image, so maps from different samples share a colour scale:

\[ \text{RABD}_{\text{norm}} = \frac{\text{RABD} - \min(\text{RABD})}{\max(\text{RABD}) - \min(\text{RABD})} \]

Relative absorption band area (RABA)

RABA integrates the gap between the continuum and the spectrum across all bands from \(\lambda_L\) to \(\lambda_R\), using the trapezoidal rule:

\[ d(\lambda) = \Big[R(\lambda_L) + \tfrac{\lambda - \lambda_L}{\lambda_R - \lambda_L}\big(R(\lambda_R) - R(\lambda_L)\big)\Big] - R(\lambda) \]
\[ \text{RABA} = \sum_{b=L}^{R-1} \frac{d(\lambda_b) + d(\lambda_{b+1})}{2}\,(\lambda_{b+1} - \lambda_b) \]

The result is in reflectance × nm. RABA captures broad features better than RABD, because it uses the whole band rather than a single point.

Mean reflectance (RMEAN)

\[ \text{RMean} = \frac{1}{N} \sum_{b=L}^{R} R(\lambda_b) \]

This is the average over the \(N\) bands from \(\lambda_L\) to \(\lambda_R\). It is useful as a brightness reference, or to normalise other indices.

Built-in indices

Name Type \(\lambda_L\) \(\lambda_M\) \(\lambda_R\)
RABD660670 RABD 590 665 730
RABD510 RABD 460 510 560
R590R690 RATIO 590 — 690
RABA400700 RABA 400 550 700
RMEAN550700 RMEAN 550 — 700

All wavelengths are in nm. These come from sediment-core imaging. For example, RABD at 660–670 nm is a standard proxy for chlorophyll and its degradation products. Define your own indices for the absorption features of your samples; see Custom indices.