How to generate a vegetation index - PIX4Dfields


The following article describes how to generate vegetation indices using the default index options and how to generate a customized index using the index calculator.
The complete workflow on how to import and process drone images to generate a vegetation index is described in My first vegetation index map - PIX4Dfields.  🌱

 Previous  |  Next 
Tip: To do soil and plant masking maps using PIX4Dfields see the workaround in our community.

Index generator

To generate predefined indices based on the orthomosaic after processing the images.

1. Click Index above the Layers Menu. The INDEX GENERATOR tool opens.
2. Select the Source layer.
3. Select the vegetation index that you want to generate by checking the corresponding boxes.
4. Click Generate.


Note: The most commonly used vegetation indices are available by default in PIX4Dfields. However, the spectral composition of your dataset will determine which vegetation indices are available to generate.  For example, the list of default indices will be different for RGB versus multispectral imagery due to the different composition of spectral bands.

Available indices

Note: Try PIX4Dfields now! Register for a free 15 days trial, and download our Example datasets to learn how easy it is to generate all these indices.
Index Description Formula Image import type Platform
BNDVI - Blue Normalized Difference Vegetation Index NDVI index without red channel availability, for areas sensitive to chlorophyll content. (nir - blue) / (nir + blue) Multispectral (excluding Sequoia) Drone and satellite.
GNDVI - Green Normalized Difference Vegetation Index NDVI index without red channel availability, for areas sensitive to chlorophyll content. (nir - green) / (nir + green) Multispectral Drone and satellite.
LCI - Leaf Chlorophyll Index

Index to assess chlorophyll content in areas of complete leaf coverage.

Value range clamp between -1 and 1.

(nir - rededge) / (nir + red)  Multispectral Drone and satellite.
MCARI - Modified Chlorophyll Absorption in Reflective Index Index used to measure chlorophyll concentrations including variations in the Leaf Area Index. 1.2 * (2.5 * (nir - red) - 1.3 * (nir - green)) / (normalized to the maximum value of red, green, and nir bands) Multispectral Drone and satellite.
NDRE - Normalized Difference Red Edge Index sensitive to chlorophyll content in leaves against soil background effects. This index can only be formulated when the red edge band is available. (nir - rededge) / (nir + rededge) Multispectral Drone and satellite.
NDVI - Normalized Difference Vegetation Index Generic index used for leaf coverage and plant health. (nir - red) / (nir + red) Multispectral Drone and satellite.
SIPI2 - Structure Intensive Pigment Index 2

Index used in areas with high variability in canopy structure (e.g. forestry).


(nir - green) / (nir - red) Multispectral Drone and satellite.
TGI - Triangular Greenness Index RGB index for chlorophyll sensitivity. (green - (0.39 * red) - (0.61 * blue)) /(normalized to the maximum value of red, green, and blue bands) RGB Drone and satellite.
VARI - Visible Atmospherically Resistant Index RGB index for leaf coverage. min(1; max(-1; (green - red) / (green + red - blue) )) RGB Drone and satellite.
NDMI - Normalized Difference Moisture Index NDWI uses the NIR and SWIR bands to monitor changes in water content of leaves. (nir - swir_1613) / ( nir + swir_1613) Multispectral Satellite
Note 1: min(1, max(-1, ...) is clamping the values between -1 and 1.  

Index calculator

To generate a custom index using the index calculator.

1. Open the INDEX GENERATOR by clicking the icon at the top right of the window.
2. Choose the source layer.
3. Click Create custom index below the list of available indices.
4. Name the index.
5. Enter the formula either by clicking the Operations and the Available bands buttons or by using your keyboard.
When a formula is valid, the Preview button turns green.
6. Click the Preview button to preview your index.
7. When you are satisfied with the preview, click Apply
8. The generated custom index now appears in the list of layers and in the map interface.

Custom indices can be created depending on the available bands from your imported images, these are listed as buttons under Available bands.

Note: Single-band reflectance maps can be generated using the index calculator. For more information: How to generate reflectance maps with PIX4Dfields?

The Operations buttons are described below:

Operation Description Operation Description
( open parenthesis ^ exponentiation
) close parenthesis abs absolute value
* multiplication exp exponential (e^x)
+ addition log natural logarithm
- subtraction max maximum value between two arguments, the separator is ";" (semicolon)
/ division min minimum value between two arguments, the separator is ";" (semicolon)
; (semicolon) separator for functions that take more than one parameter sqrt square root

Understanding the NDVI

The NDVI (Normalized Difference Vegetation Index), the so-called "Green Index", is sensitive to chlorophyll content.

Healthy vegetation absorbs most of the visible light that hits it and reflects a large portion of the near-infrared light. As a result, healthy vegetation will have a high NDVI value.

The NDVI  scale ranges from -1 to +1. This scale is designed to represent different types of land cover and vegetation health or density. Here's a brief overview of what values within this range typically indicate:

  • Values close to +1: High NDVI values (close to +1) indicate dense green leaves and are typically associated with healthy, vigorous vegetation. This is because healthy vegetation reflects more near-infrared (NIR) light and absorbs more visible light.
  • Values close to 0: NDVI values around 0 indicate barren areas of rock, sand, or snow, where there is little difference in the reflectance between the red and NIR wavelengths, suggesting minimal vegetation.
  • Values close to -1: Negative NDVI values (close to -1) are possible but less common and can occur when the reflectance in the red wavelength is greater than the reflectance in the NIR wavelength. This situation might be observed in water bodies, where the absorption of NIR is higher than the absorption of visible light, resulting in negative NDVI values.

It's important to note that NDVI values are influenced by the specific characteristics of the area being observed, including the type of vegetation, the stage of growth, and the presence of any stress factors (like water availability or diseases). Here's a more detailed breakdown of the NDVI value obtained for a wheat field data provided in My first vegetation index map - PIX4Dfields

  • -1.0 to 0.0: There are no pixels with these values, as it's mainly related to non-vegetated surfaces, (water, snow, clouds, etc.)
  • 0.0 to 0.5: Bare soil, as evident from the machine tire marks.
  • 0.5 to 0.7: Non-healthy vegetation, low plant density.
  • 0.5 to 0.7: Healthier vegetation.
  • 0.9 to 0.973: Dense vegetation, healthy crops at peak vitality.


Was this article helpful?
29 out of 32 found this helpful

Article feedback (for troubleshooting, post here instead)


  • Dusan Jovanovic

    how to work with multispectral geotiff? For example I have an image with 10 bands, and I want to create my index, but when I import image is not recognized as  an image with 10 bands 

  • Alex Wong

    How do you insert formula such as MCARI into Index Calculator since it wouldnt accept ","

  • Avatar
    Momtanu (Pix4D)

    Hi Alex,

    You will need to use ; instead of ,

    I have just changed it in the article. Thanks for letting us know :-)

    Edited by Momtanu (Pix4D)
  • Avatar
    Momtanu (Pix4D)

    Hi Dusan,

    Are you working with Pix4Dfields? Pix4Dfields can only process rededge and Sequoia imagery at this moment in terms of multispectral sensors. We are working on having more cameras in the database.

  • Wesley Davidson

    Hi I'm trying to use the below function from excel to convert drone measured temperatures to on ground calibration for thermal imagery.  However I'm not having any luck with Pix4d recognizing the exp function as mentioned above.  And I can't  see it in my index calculator as an option, 



  • Avatar
    Momtanu (Pix4D)

    Hi Wesley, We do not have exponential in the calculator. You can use 2.71828 (value of e)^(your formula) 

  • Cody Blake

    Is it possible to make a specific color more distinct? If I wanted to make red appear brighter and stand out over the green/yellow background.

  • Avatar
    Momtanu (Pix4D)

    Hi Cody,

    You cannot do that in fields. You can import the map in QGIS and try playing with the symbology

    Edited by Momtanu (Pix4D)
  • Adam DeZeeuw

    Is the Index Generator available on web based application or only on the Desktop software?

  • Avatar
    Momtanu (Pix4D)

    Adam It is not available on cloud. However, you can upload NDVI map to cloud for sharing with clients or anyone you want.

  • Rasmus Grønning

    Hello, is it possible to draw 30 regions on a reflectance map and calculate the average index map for every region, individually?

    I currently have to draw a region on each of my 30 plots, one at a time, and generate the index map each time.

  • Katherine James

    I keep getting this syntax error when trying to do this equation, and I have no idea why or how to fix it. Any ideas would be greatly appreciated.

  • Chinthaka Jayasinghe


    I use RedEdge M sensor for image acquisition and use Pix4D to create orthoimage from each band then I do radiometric calibration in QGIS or sometimes use eCognition algorithms. As images are not radiometrically calibrated, I can't generate indices in Pix4D pipeline(step 3) but, I can use QGIS or eCognition to generate indices. When I generate indices through QGIS or in eCognition, the resolution is reduced so my question is, can I bring calibrated layers back to pix4D to generate indices using index calculator?


  • Nivin S


    Is it necessary to do a radiometric calibration for VARI algorithm?


  • Avatar
    Momtanu (Pix4D)

    Nivin, Pix4Dfields does not have 100% radiometric calibration yet, it will be there shortly.

    When working with common RGB cameras, keep in mind that they are probably not designed for radiometric fidelity. So indices like VARI will not have absolute values. They will give you some patterns and can be used for comparison.

    @Chinthaka you are using Pix4Dfields, right? There is no way you can bring back calibrated layers to Pix4D later. Radiometric calibration will be there in fields soon. Pix4Dmapper already does radiometric calibration. 

    @Katherine, It seems a multiplication or division symbol is missing. Though I don't know which formula you are using, it seems there might be a multiplication sign after 0.2 and another symbol before red_edge/red. You will need to look up this formula and use the correct symbols.

    @Rasmus, It is not possible to import 30 regions at a time because the values keep accumulating. You can draw 30 regions, but the index values and the statistics will be for all the 30 regions together, not for each of them. So while importing, we allow only one shp file import at a time.

    Edited by Momtanu (Pix4D)
  • Avatar
    Momtanu (Pix4D)

    Hello all, I would request you to keep Pix4Dmapper and Pix4Dfields questions separate. This page is for Pix4Dfields only, though the formulas can be used anywhere. If you have Pix4Dmapper agriculture questions, please post them on our community page: with the correct topic. For questions like this, the topic where you can post would be processing. 

  • Will Anderson

    Hi Momtanu,

    Is it possible to do a custom band order in Pix4dFields using the index generator or some other method (e.g. NIR-G-R or NIR-RE-G)? If so, I can't seem to figure out how.





  • Avatar
    Momtanu (Pix4D)


    We do not have the feature of generating composite maps yet. However, you can generate 3 bands separately by using formula red=red, green=green and NIR=NIR by the index calculator and then use QGIS/ArcGIS to create the composite map with the 3 individual reflectance maps.

  • Juan Zanelli

    Hello Momtanu,

    I have tried to insert formula red=red but it says Invalid.

    If I leave red only it allows to export a 3 band file.

    If I put greyscale, the same it gives a 3 bands file.

    Is this 3 bands file that you recommend to export to QGIS/ARCGIS? It does not give a composite map of red in 1 single band?

    Thank you

  • Fernanda Bosmediano

    Hey Juan, 

    I replied to you on an internal comment.  You can import the to ArcGIS. Please always use the for calculations.  

    To all, you can always write us into our Pix4Dfields community or you can contact us by contacting support  we are more than happy to help


  • Jonas Stjernberg


    I dont find a way to set the min and max values for the index maps? When I take process photos of both lakes and ground; I want to look only at the water surface. I would like to leave any values below min or above max at uniform value, and get the histogram only for the selected range.


  • Fernanda Bosmediano

    Hi Jonas, 

    At the moment, using Pix4Dfields you can visualize the max and min value in the distribution of values feature (see my screenshot). In this case, I am displaying just the  NIR band as an example. We consider very valuable the information that you shared with us regarding selecting a range due to lakes and ground influences, and I will make sure to share this feedback with my team, in Berlin where we develop the application. 

    Meanwhile, we do suggest to use free software like QGIS for this. Let me know if you have more questions


    Edited by Fernanda Bosmediano
  • Ofir Levy

    I am shooting using a DuetT camera and would like to calculate TGI (manually, since we can't use and form of max functions in pix4D), but I'd like to know what the reference is to your formula:

    (G-0.39R-0.61B) / max(R,G,B)

    Your formula is very different from the original one in Hunt et. al.2011, and produces slightly different numbers.

    Edited by Ofir Levy
  • Fernanda Bosmediano


    Thank you for bringing this to our attention. Our reference to the TGI index is this article.Using the wavelengths of a typical CMOS camera and normalizing by the green signal, the TGI equation is TGI = RGREEN - 0.39 * RRED - 0.61* RBLUE. We are normalizing to the maximum of the three. You can gladly contact us to trough support to determine why you are getting different numbers with our formula and the original one.

    Kind regards, 

    Edited by Fernanda Bosmediano
  • Dany Rutayisire

    please can anyone help me to correct this issue



  • Fernanda Bosmediano

    Hi Dany,

    Thank you for contacting us. In this article, we describe possible causes and solutions for that issue. Could you please contact support and attach the pdf report of your project? We will gladly help you.

    Side note:  I would kindly recommend all of our users to contact support or use our community when we have some questions. With our community, you can connect with other Pix4D users, and we can work together.

    Thank you very much for your understanding

    Edited by Fernanda Bosmediano
  • Paulo Henriques

    Hello, how are you? Hope fine!

    I would like to ask a question. After the NDVI generation, for example, on both softwares Pix4D Mapper and Fields suggest me a standard interval. Can I trust on these values or do I have to change it? If I have to change which interval should I insert? Should I always enter the range from -1 to +1?

    Best regards!

  • Avatar
    Momtanu (Pix4D)

    Hi Paulo, We are doing good. Hope you are doing well too. NDVI should always range from -1 to +1 (the interval should lie within this range, however, according to the area, the max, min values will be different). You can trust the values produced by Mapper and Fields. For Mapper, the Min/Max values in color maps and prescription are not the same values as the minimum/maximum values of the index map section. The software will cut off by default the outliers on the edge of the histogram. If you still want use the maximum/minimum value, they can be modified.

  • Blue Goose Construction

    I am trying the above indices and on all of them i get invalid. What am I doing wrong?


  • Avatar
    Momtanu (Pix4D)

    Blue Goose Construction Can you write us a personal support ticket with the logfile, p4df file and quality report with a screenshot of your Pix4D index screen. It might happen if the images are overexposed, or have some other issues. Please make sure you are using the latest version.

Article is closed for comments.