Awesome Spectral Indices

A ready-to-use curated list of Spectral Indices for Remote Sensing applications.
https://github.com/awesome-spectral-indices/awesome-spectral-indices

Category: Sustainable Development
Sub Category: Curated Lists

Keywords

awesome earth-engine geographic-information-systems gis google-earth-engine javascript landsat landsat-7 landsat-8 modis python radar raster remote-sensing satellite-imagery sentinel sentinel-1 sentinel-2 spectral-index spectral-indices

Keywords from Contributors

earth-observation copernicus spatial-analysis spatial-data

Last synced: 2 minutes ago
JSON representation

Repository metadata

A ready-to-use curated list of Spectral Indices for Remote Sensing applications.

README.md


GitHub: github.com/awesome-spectral-indices/awesome-spectral-indices

Website: awesome-spectral-indices.github.io/awesome-spectral-indices/

Python Package: github.com/awesome-spectral-indices/spyndex

Paper: doi.org/10.1038/s41597-023-02096-0

Streamlit App: github.com/awesome-spectral-indices/espectro

Google Earth Engine: github.com/davemlz/eemont (Python), github.com/awesome-spectral-indices/spectral (JavaScript) and github.com/r-earthengine/rgeeExtra (R)

Julia Package: github.com/awesome-spectral-indices/SpectralIndices.jl


[!IMPORTANT]
As of 2026-07-29, the old Read the Docs website is no longer available, and Awesome Spectral Indices has started its migration to v1. You can find the new website here: https://awesome-spectral-indices.github.io/awesome-spectral-indices/

The existing API will not change during this process and can continue to be used as usual, and new spectral indices can still be submitted as usual. It will be migrated fully to v1 at a later stage. More details here.

[!WARNING]
Due to recent submissions of automatically generated spectral indices lacking scientific validation, Awesome Spectral Indices has adopted a new AI and Scientific Validation Policy.

The use of AI is not prohibited, but AI-generated formulas, hypotheses, repositories, preprints, or DOI records are not considered evidence of scientific validity on their own.

Before submitting a new index, please review our AI Policy. Submissions that lack sufficient scientific justification, validation, or reproducibility may be rejected.

Spectral Indices

Spectral Indices are widely used in the Remote Sensing community. This repository keeps track of classical as well as novel spectral indices for different Remote Sensing applications. All spectral indices in the repository are curated and can be used in different environments and programming languages.
You can check the curated list of spectral indices here, and if you want to use it in your environment, it is available in CSV and JSON.

Citation

If you use this work, please consider citing the following paper:

@article{montero2023standardized,
  title={A standardized catalogue of spectral indices to advance the use of remote sensing in Earth system research},
  author={Montero, David and Aybar, C{'e}sar and Mahecha, Miguel D and Martinuzzi, Francesco and S{"o}chting, Maximilian and Wieneke, Sebastian},
  journal={Scientific Data},
  volume={10},
  number={1},
  pages={197},
  year={2023},
  publisher={Nature Publishing Group UK London}
}

Attributes

All spectral indices follow a standard. Each item of the list has the following attributes:

  • short_name: Short name of the index (e.g. "NDWI").
  • long_name: Long name of the index (e.g. "Normalized Difference Water Index").
  • formula: Expression/formula of the index (e.g. "(G - N)/(G + N)").
  • bands: List of required bands/parameters for the index computation (e.g. ["N","G"]).
  • platforms: List of platforms with the required bands for the index computation (e.g. ["MODIS", "Landsat-457", "Landsat-89", "Sentinel-2"]).
  • reference: Link to the index reference/paper/doi (e.g. "https://doi.org/10.1080/01431169608948714").
  • application_domain: Application domain of the index (e.g. "water").
  • date_of_addition: Date of addition to the list (e.g. "2021-04-07").
  • contributor: GitHub user link of the contributor (e.g. "https://github.com/davemlz").

Expressions

The formula of the index is presented as a string/expression (e.g. "(N - R)/(N + R)") that can be easily evaluated. The parameters used in the expression for each index follow this standard:

In the case of RADAR Indices, the bands follow this standard:

Additional index parameters also follow a standard:

  • g: Gain factor (e.g. Used for EVI).
  • L: Canopy background adjustment (e.g. Used for SAVI and EVI).
  • C1: Coefficient 1 for the aerosol resistance term (e.g. Used for EVI).
  • C2: Coefficient 2 for the aerosol resistance term (e.g. Used for EVI).
  • cexp: Exponent used for OCVI.
  • nexp: Exponent used for GDVI.
  • alpha: Weighting coefficient used for WDRVI, BWDRVI and NDPI.
  • beta: Calibration parameter used for NDSIns.
  • gamma: Weighting coefficient used for ARVI.
  • omega: Weighting coefficient used for MBWI.
  • sla: Soil line slope.
  • slb: Soil line intercept.
  • PAR: Photosynthetically Active Radiation.
  • k: Slope parameter by soil used for NIRvH2.
  • epsilon: Adjustment constant used for EBI, WC1 and WC2.
  • n: Adjustment factor used for RWI.
  • eta: Mix of green and red reflectances in GRARI.
  • lmb: Parameter that controls the atmospheric correction in GRARI.
  • lambdaN: NIR wavelength used for NIRvH2 and NDGI.
  • lambdaR: Red wavelength used for NIRvH2 and NDGI.
  • lambdaG: Green wavelength used for NDGI.

The kernel indices are constructed using a special type of parameters:

  • kAB: Kernel of bands/parameters A and B (e.g. kNR means k(N,R), where k is the kernel function).
  • p: Kernel degree (used for the polynomial kernel).
  • c: Free parameter that trades off the influence of higher-order versus lower-order terms (used for the polynomial kernel).

Call for Indices! 🚨

Researchers that have published (or aim to publish) their novel spectral indices are encouraged to add them to this repository! The list of spectral indices is used as a source for different resources that allow spectral indices computation in different environments (such as Python and Google Earth Engine). To add an index, please follow the Contribution Guidelines.

In the same line, if you know an spectral index that is not included in this repository, you are encouraged to follow the Contribution Guidelines.

And one more thing: If you see an error in one or several indices, please open an issue!

There is no deadline. The repository is continuously updated!

Used by

JavaScript

  • spectral: Awesome Spectral Indices for the Google Earth Engine JavaScript API (Code Editor).

Python

  • eemont: A Python package that extends Google Earth Engine.
  • eeExtra: A Python package that unifies the Google Earth Engine ecosystem.
  • Espectro: The Awesome Spectral Indices Streamlit App.
  • spyndex: Awesome Spectral Indices in Python.

Julia

R

  • rgeeExtra: High-level functions to process spatial and simple Earth Engine objects.

Spectral Indices by Application Domain

Vegetation

Water

Burn

Snow

Urban

Soil

Clouds

Kernel

Radar

List

Check the full list of spectral indices with their formulas here.

Download Raw Files

You can download or clone the repository:

git clone https://github.com/awesome-spectral-indices/awesome-spectral-indices.git

Or you can download the single files here (right-click > Save link as...):

Credits

Citation (CITATION.bib)

@article{montero2023standardized,
  title={A standardized catalogue of spectral indices to advance the use of remote sensing in Earth system research},
  author={Montero, David and Aybar, C{\'e}sar and Mahecha, Miguel D and Martinuzzi, Francesco and S{\"o}chting, Maximilian and Wieneke, Sebastian},
  journal={Scientific Data},
  volume={10},
  number={1},
  pages={197},
  year={2023},
  publisher={Nature Publishing Group UK London}
}


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: about 17 hours ago

Total Commits: 567
Total Committers: 13
Avg Commits per committer: 43.615
Development Distribution Score (DDS): 0.312

Commits in past year: 96
Committers in past year: 4
Avg Commits per committer in past year: 24.0
Development Distribution Score (DDS) in past year: 0.198

Name Email Commits
David Montero Loaiza 4****z 390
GitHub Action a****n@g****m 155
emanuelcc e****o@h****m 5
kalab-oto k****o@g****m 3
guillemc23 g****5@g****m 3
MartinuzziFrancesco m****o@g****m 3
csaybar c****r@g****m 2
jakimowb b****w@g****e 1
Zivan Karaman 3****n 1
Júlio Hoffimann j****n@g****m 1
Clément Mayet c****t@w****m 1
Charalambos Chrysostomou c****u@g****m 1
osekenj k****e@e****u 1

Committer domains:


Issue and Pull Request metadata

Last synced: about 17 hours ago

Total issues: 83
Total pull requests: 24
Average time to close issues: 6 months
Average time to close pull requests: about 2 months
Total issue authors: 27
Total pull request authors: 12
Average comments per issue: 1.99
Average comments per pull request: 0.92
Merged pull request: 16
Bot issues: 0
Bot pull requests: 0

Past year issues: 23
Past year pull requests: 2
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 3 days
Past year issue authors: 4
Past year pull request authors: 2
Past year average comments per issue: 1.35
Past year average comments per pull request: 2.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/awesome-spectral-indices/awesome-spectral-indices

Top Issue Authors

  • MartinuzziFrancesco (21)
  • remi-braun (17)
  • davemlz (11)
  • CvenGeo (5)
  • eomasters-repos (4)
  • geoSanjeeb (2)
  • m-mohr (2)
  • szwiep (2)
  • joanvlasschaert (1)
  • lucas-johnson (1)
  • edujusti (1)
  • delatorredm (1)
  • Daniel-Trung-Nguyen (1)
  • RaphaelDELAIR (1)
  • ruthh22 (1)

Top Pull Request Authors

  • j-miszczyszyn (5)
  • MartinuzziFrancesco (5)
  • kalab-oto (3)
  • jakimowb (2)
  • kenoz (2)
  • cmayet (1)
  • EmanuelCastanho (1)
  • c-chrysostomou (1)
  • pmrelvas (1)
  • MATRIX4284 (1)
  • csaybar (1)
  • zivankaraman (1)

Top Issue Labels

  • NEW INDEX (57)
  • new standard band required (12)
  • enhancement (8)
  • original source required (5)
  • tasseled cap (4)
  • duplicate (1)
  • bug (1)
  • new application domain required (1)

Top Pull Request Labels

  • original source required (2)
  • NEW INDEX (2)
  • duplicate (1)

Dependencies

docs/docs-requirements.txt pypi
  • recommonmark *
  • sphinx >=1.4,
  • sphinx-copybutton *
  • sphinx-material *
  • sphinxcontrib-autoprogram *
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/update_files.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • ad-m/github-push-action v0.6.0 composite
  • schneegans/dynamic-badges-action v1.0.0 composite

Score: 9.641603172905487