PCI Geomatics Help Center

How can we help you today?

Calculating Vegetation Indices

PCI Geomatics -

The VEGINDEX tool provides a quick and easy way to calculate vegetation indices for each pixel in the input data. It will calculate one or many vegetation indices using the data in the selected file and or specified channels. 

It is recommended that users run one of the atmospheric correction functions on their data prior to using the vegetation indices tool, as this will ensure that the results are truly due to the vegetation and not due to changing atmospheric conditions.

The following list shows supported INDEX values when using this algorithm.

  • GRVI: Green/Red Vegetation Index
  • GI: Greenness Index
  • VDI: Vegetation Difference Index
  • RVI: Ratio Vegetation Index
  • NDVI: Normalized Difference Vegetation Index
  • TDVI: Transformed Difference Vegetation Index
  • SAVI: Soil Adjusted Vegetation Index
  • MSAVI2: Modified Soil Adjusted Vegetation Index
  • GEMI: Global Environmental Monitoring Index
  • GVI: Green Vegetation Index
  • MCARI: Modified Chlorophyll Absorption Ratio Index
  • MTVI: Modified Triangular Vegetation Index
  • EVI: Enhanced Vegetation Index
  • EVI2: Two-band Enhanced Vegetation Index
  • AFRI16: Aerosol-free Vegetation Index
  • AFRI21: Aerosol-free Vegetation Index
  • OSAVI: Optimized Soil Adjusted Vegetation Index
  • RENDVI: Red Edge Normalized Difference Vegetation Index
  • MRNDVI: Modified Red Edge Normalized Difference Vegetation Index
  • MCARI2: Modified Chlorophyll Absorption Ratio Index Improved
  • TCARI: Transformed Chlorophyll Absorption Reflectance Index
  • NMDI: Normalized Multi-band Drought Index
  • CIRedEdge: Red Edge Chlorophyll Index
  • LAI: Leaf Area Index
  • NDNI: Normalized Difference Nitrogen Index
  • PSRI: Plant Senescence Reflectance Index

Below are quick steps for running VEGINDEX in Focus as well as Python.

Run VEGINDEX - Focus

  1. Start Geomatica Focus
  2. Click Tools > Algorithm Librarian

  1. The Algorithm Librarian window opens. Click Find…
  2. In the Find what box type vegindex

  1. Double click on the VEGINDEX application

  1. The VEGINDEX GUI opens.
  2. Click Browse… to load an image
  3. In this tutorial we will be using a Landsat 8 image. Landsat data can be downloaded directly from the Earth Explorer Website.
  4. To load the image, select the _MTL.txt file.
  5. When prompted select the MS bands.
  6. Click on the corresponding bands as input. The band combination for Landsat 8 is as follows: B:2, G:3, R:4, NIR:5 SWIR:6, SWIR1:7

  1. In the Output: Generated vegetation indices Browse… to an output folder location.
  2. Select a file name. Note that the resultant data will be written out to a new 32-bit raster layers in the same file. This is to avoid any scaling of the results.
  3. Check mark Viewer-RGB

  1. Select the Input Params 1. Select the corresponding Sensor name from the drop down list. If none are specified the function will use the file and band metadata information, if available; to select the proper input data for the selected index or indices. Note that RGB, RBGN and RGBPLUS are also sensor options.
  1. Select ALL from the Index to calculate drop down list. At this step you can choose to calculate only one or all possible indices. Note that if ALL is chosen, the application will calculate all indices that can be calculated with the provided data. Note that some sensors do not contain as many input channels which will limit the number of indices the application is able to calculate.

  1. Click Run.
  2. The output is loaded into Focus and contains 11 raster channels. Each channel corresponds to a different vegetation index.

  1. To load a channel for viewing, right click on the channel in the Files tab and select View > As Pseudocolor


You can also run VEGINDEX in Python (as well as EASI). Below is a quick example of how to run VEGINDEX in a python script. 

 from pci.vegindex import vegindex

input_file = r"D:\Data\Landsat8\LC80180302015234LGN00_MTL.txt-MS"
output_file = r"D:\Data\Landsat8\Vegindex.pix"

vegindex(fili=input_file, filo=output_file, asensor="Landsat-8", index="ALL")
Have more questions? Submit a request


Powered by Zendesk