A ready-to-use curated list of Spectral Indices for Remote Sensing applications.
GitHub: github.com/awesome-spectral-indices/awesome-spectral-indices
Documentation: awesome-ee-spectral-indices.readthedocs.io
Python Package: github.com/awesome-spectral-indices/spyndex
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)
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.
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"
).
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:
Description | Standard | Sentinel-1 | Sentinel-2 | Landsat-89 | Landsat-457 | MODIS |
---|---|---|---|---|---|---|
Aerosols | A | B1 | B1 | |||
Blue | B | B2 | B2 | B1 | B3 | |
Green | G | B3 | B3 | B2 | B4 | |
Red | R | B4 | B4 | B3 | B1 | |
Red Edge 1 | RE1 | B5 | ||||
Red Edge 2 | RE2 | B6 | ||||
Red Edge 3 | RE3 | B7 | ||||
NIR | N | B8 | B5 | B4 | B2 | |
NIR 2 | N2 | B8A | ||||
SWIR 1 | S1 | B11 | B6 | B5 | B6 | |
SWIR 2 | S2 | B12 | B7 | B7 | B7 | |
Thermal 1 | T1 | B10 | B6 | |||
Thermal 2 | T2 | B11 | ||||
Backscattering Coefficient HV | HV | HV | ||||
Backscattering Coefficient VH | VH | VH | ||||
Backscattering Coefficient HH | HH | HH | ||||
Backscattering Coefficient VV | VV | VV |
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.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/parametersA
andB
(e.g.kNR
meansk(N,R)
, wherek
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).
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 add it! Please follow the Contribution Guidelines in order to add it.
And one more thing: If you see an error in one or several indices, please report it or update the index (indices) by following the Contribution Guidelines!
There is no deadline. The repository is continuously updated!
- spectral: Awesome Spectral Indices for the Google Earth Engine JavaScript API (Code Editor).
- 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.
- rgeeExtra: High-level functions to process spatial and simple Earth Engine objects.
AFRI1600: Aerosol Free Vegetation Index (1600 nm). | |
AFRI2100: Aerosol Free Vegetation Index (2100 nm). | |
ARI: Anthocyanin Reflectance Index. | |
ARI2: Anthocyanin Reflectance Index 2. | |
ARVI: Atmospherically Resistant Vegetation Index. | |
ATSAVI: Adjusted Transformed Soil-Adjusted Vegetation Index. | |
AVI: Advanced Vegetation Index. | |
BCC: Blue Chromatic Coordinate. | |
BNDVI: Blue Normalized Difference Vegetation Index. | |
BWDRVI: Blue Wide Dynamic Range Vegetation Index. | |
CIG: Chlorophyll Index Green. | |
CIRE: Chlorophyll Index Red Edge. | |
CVI: Chlorophyll Vegetation Index. | |
DVI: Difference Vegetation Index. | |
DVIplus: Difference Vegetation Index Plus. | |
EVI: Enhanced Vegetation Index. | |
EVI2: Two-Band Enhanced Vegetation Index. | |
ExG: Excess Green Index. | |
ExGR: ExG - ExR Vegetation Index. | |
ExR: Excess Red Index. | |
FCVI: Fluorescence Correction Vegetation Index. | |
GARI: Green Atmospherically Resistant Vegetation Index. | |
GBNDVI: Green-Blue Normalized Difference Vegetation Index. | |
GCC: Green Chromatic Coordinate. | |
GDVI: Generalized Difference Vegetation Index. | |
GEMI: Global Environment Monitoring Index. | |
GLI: Green Leaf Index. | |
GM1: Gitelson and Merzlyak Index 1. | |
GM2: Gitelson and Merzlyak Index 2. | |
GNDVI: Green Normalized Difference Vegetation Index. | |
GOSAVI: Green Optimized Soil Adjusted Vegetation Index. | |
GRNDVI: Green-Red Normalized Difference Vegetation Index. | |
GRVI: Green Ratio Vegetation Index. | |
GSAVI: Green Soil Adjusted Vegetation Index. | |
GVMI: Global Vegetation Moisture Index. | |
IAVI: New Atmospherically Resistant Vegetation Index. | |
IKAW: Kawashima Index. | |
IPVI: Infrared Percentage Vegetation Index. | |
IRECI: Inverted Red-Edge Chlorophyll Index. | |
MCARI: Modified Chlorophyll Absorption in Reflectance Index. | |
MCARI1: Modified Chlorophyll Absorption in Reflectance Index 1. | |
MCARI2: Modified Chlorophyll Absorption in Reflectance Index 2. | |
MCARI705: Modified Chlorophyll Absorption in Reflectance Index (705 and 750 nm). | |
MCARIOSAVI: MCARI/OSAVI Ratio. | |
MCARIOSAVI705: MCARI/OSAVI Ratio (705 and 750 nm). | |
MGRVI: Modified Green Red Vegetation Index. | |
MNDVI: Modified Normalized Difference Vegetation Index. | |
MNLI: Modified Non-Linear Vegetation Index. | |
MRBVI: Modified Red Blue Vegetation Index. | |
MSAVI: Modified Soil-Adjusted Vegetation Index. | |
MSI: Moisture Stress Index. | |
MSR: Modified Simple Ratio. | |
MSR705: Modified Simple Ratio (705 and 750 nm). | |
MTCI: MERIS Terrestrial Chlorophyll Index. | |
MTVI1: Modified Triangular Vegetation Index 1. | |
MTVI2: Modified Triangular Vegetation Index 2. | |
mND705: Modified Normalized Difference (705, 750 and 445 nm). | |
mSR705: Modified Simple Ratio (705 and 445 nm). | |
ND705: Normalized Difference (705 and 750 nm). | |
NDDI: Normalized Difference Drought Index. | |
NDGI: Normalized Difference Greenness Index. | |
NDII: Normalized Difference Infrared Index. | |
NDMI: Normalized Difference Moisture Index. | |
NDPI: Normalized Difference Phenology Index. | |
NDREI: Normalized Difference Red Edge Index. | |
NDVI: Normalized Difference Vegetation Index. | |
NDVI705: Normalized Difference Vegetation Index (705 and 750 nm). | |
NDYI: Normalized Difference Yellowness Index. | |
NGRDI: Normalized Green Red Difference Index. | |
NIRv: Near-Infrared Reflectance of Vegetation. | |
NIRvH2: Hyperspectral Near-Infrared Reflectance of Vegetation. | |
NIRvP: Near-Infrared Reflectance of Vegetation and Incoming PAR. | |
NLI: Non-Linear Vegetation Index. | |
NMDI: Normalized Multi-band Drought Index. | |
NRFIg: Normalized Rapeseed Flowering Index Green. | |
NRFIr: Normalized Rapeseed Flowering Index Red. | |
NormG: Normalized Green. | |
NormNIR: Normalized NIR. | |
NormR: Normalized Red. | |
OCVI: Optimized Chlorophyll Vegetation Index. | |
OSAVI: Optimized Soil-Adjusted Vegetation Index. | |
PSRI: Plant Senescing Reflectance Index. | |
RCC: Red Chromatic Coordinate. | |
RDVI: Renormalized Difference Vegetation Index. | |
REDSI: Red-Edge Disease Stress Index. | |
RENDVI: Red Edge Normalized Difference Vegetation Index. | |
RGBVI: Red Green Blue Vegetation Index. | |
RGRI: Red-Green Ratio Index. | |
RI: Redness Index. | |
RVI: Ratio Vegetation Index. | |
S2REP: Sentinel-2 Red-Edge Position. | |
SARVI: Soil Adjusted and Atmospherically Resistant Vegetation Index. | |
SAVI: Soil-Adjusted Vegetation Index. | |
SAVI2: Soil-Adjusted Vegetation Index 2. | |
SI: Shadow Index. | |
SIPI: Structure Insensitive Pigment Index. | |
SR: Simple Ratio. | |
SR2: Simple Ratio (800 and 550 nm). | |
SR3: Simple Ratio (860, 550 and 708 nm). | |
SR555: Simple Ratio (555 and 750 nm). | |
SR705: Simple Ratio (705 and 750 nm). | |
SeLI: Sentinel-2 LAI Green Index. | |
TCARI: Transformed Chlorophyll Absorption in Reflectance Index. | |
TCARIOSAVI: TCARI/OSAVI Ratio. | |
TCARIOSAVI705: TCARI/OSAVI Ratio (705 and 750 nm). | |
TCI: Triangular Chlorophyll Index. | |
TDVI: Transformed Difference Vegetation Index. | |
TGI: Triangular Greenness Index. | |
TRRVI: Transformed Red Range Vegetation Index. | |
TSAVI: Transformed Soil-Adjusted Vegetation Index. | |
TTVI: Transformed Triangular Vegetation Index. | |
TVI: Transformed Vegetation Index. | |
TriVI: Triangular Vegetation Index. | |
VARI: Visible Atmospherically Resistant Index. | |
VARI700: Visible Atmospherically Resistant Index (700 nm). | |
VI700: Vegetation Index (700 nm). | |
VIG: Vegetation Index Green. | |
WDRVI: Wide Dynamic Range Vegetation Index. | |
WDVI: Weighted Difference Vegetation Index. | |
AWEInsh: Automated Water Extraction Index. | |
AWEIsh: Automated Water Extraction Index with Shadows Elimination. | |
LSWI: Land Surface Water Index. | |
MBWI: Multi-Band Water Index. | |
MLSWI26: Modified Land Surface Water Index (MODIS Bands 2 and 6). | |
MLSWI27: Modified Land Surface Water Index (MODIS Bands 2 and 7). | |
MNDWI: Modified Normalized Difference Water Index. | |
MuWIR: Revised Multi-Spectral Water Index. | |
NDVIMNDWI: NDVI-MNDWI Model. | |
NDWI: Normalized Difference Water Index. | |
NDWIns: Normalized Difference Water Index with no Snow Cover and Glaciers. | |
NWI: New Water Index. | |
S2WI: Sentinel-2 Water Index. | |
SWM: Sentinel Water Mask. | |
WI1: Water Index 1. | |
WI2: Water Index 2. | |
WRI: Water Ratio Index. | |
BAI: Burned Area Index. | |
BAIM: Burned Area Index adapted to MODIS. | |
BAIS2: Burned Area Index for Sentinel 2. | |
CSI: Char Soil Index. | |
CSIT: Char Soil Index Thermal. | |
MIRBI: Mid-Infrared Burn Index. | |
NBR: Normalized Burn Ratio. | |
NBR2: Normalized Burn Ratio 2. | |
NBRT1: Normalized Burn Ratio Thermal 1. | |
NBRT2: Normalized Burn Ratio Thermal 2. | |
NBRT3: Normalized Burn Ratio Thermal 3. | |
NDVIT: Normalized Difference Vegetation Index Thermal. | |
SAVIT: Soil-Adjusted Vegetation Index Thermal. | |
VI6T: VI6T Index. | |
NBSIMS: Non-Binary Snow Index for Multi-Component Surfaces. | |
NDGlaI: Normalized Difference Glacier Index. | |
NDSI: Normalized Difference Snow Index. | |
NDSII: Normalized Difference Snow Ice Index. | |
NDSInw: Normalized Difference Snow Index with no Water. | |
NDSaII: Normalized Difference Snow and Ice Index. | |
S3: S3 Snow Index. | |
SWI: Snow Water Index. | |
BI: Bare Soil Index. | |
BLFEI: Built-Up Land Features Extraction Index. | |
BaI: Bareness Index. | |
DBI: Dry Built-Up Index. | |
DBSI: Dry Bareness Index. | |
EBBI: Enhanced Built-Up and Bareness Index. | |
EMBI: Enhanced Modified Bare Soil Index. | |
IBI: Index-Based Built-Up Index. | |
MBI: Modified Bare Soil Index. | |
NBLI: Normalized Difference Bare Land Index. | |
NBUI: New Built-Up Index. | |
NDBI: Normalized Difference Built-Up Index. | |
NDBaI: Normalized Difference Bareness Index. | |
NDISIb: Normalized Difference Impervious Surface Index Blue. | |
NDISIg: Normalized Difference Impervious Surface Index Green. | |
NDISImndwi: Normalized Difference Impervious Surface Index with MNDWI. | |
NDISIndwi: Normalized Difference Impervious Surface Index with NDWI. | |
NDISIr: Normalized Difference Impervious Surface Index Red. | |
NDSoI: Normalized Difference Soil Index. | |
NHFD: Non-Homogeneous Feature Difference. | |
NSDS: Normalized Shortwave Infrared Difference Soil-Moisture. | |
PISI: Perpendicular Impervious Surface Index. | |
UI: Urban Index. | |
VgNIRBI: Visible Green-Based Built-Up Index. | |
VrNIRBI: Visible Red-Based Built-Up Index. | |
kEVI: Kernel Enhanced Vegetation Index. | |
kIPVI: Kernel Infrared Percentage Vegetation Index. | |
kNDVI: Kernel Normalized Difference Vegetation Index. | |
kRVI: Kernel Ratio Vegetation Index. | |
kVARI: Kernel Visible Atmospherically Resistant Index. | |
DPDD: Dual-Pol Diagonal Distance. | |
DpRVIHH: Dual-Polarized Radar Vegetation Index HH. | |
DpRVIVV: Dual-Polarized Radar Vegetation Index VV. | |
NDPolI: Normalized Difference Polarization Index. | |
QpRVI: Quad-Polarized Radar Vegetation Index. | |
RFDI: Radar Forest Degradation Index. | |
VDDPI: Vertical Dual De-Polarization Index. | |
VHVVD: VH-VV Difference. | |
VHVVP: VH-VV Product. | |
VHVVR: VH-VV Ratio. | |
VVVHD: VV-VH Difference. | |
VVVHR: VV-VH Ratio. | |
VVVHS: VV-VH Sum. | |
Check the full list of spectral indices with their formulas here.
You can download or clone the repository:
git clone https://github.com/davemlz/awesome-ee-spectral-indices.git
Or you can download the single files here (right-click > Save link as...):
- César Aybar: The formidable pydantic expert and creator of rgee.