Vegetation indices (NDVI, GNDVI, NDRE)
Vegetation indices are calculated values that reflect the condition of the crop (healthy, stressed, weed, diseased). DroneField computes them from a multispectral drone (P4M, M3M): NDVI, GNDVI, NDRE, EVI and VARI — and also from a plain RGB drone (P4R, M3E, Mavic, …): VDVI, NGRDI, ExG and VARI.
The layer is called MS index in multispectral projects and RGB index when the project has only RGB images.
What the indices mean
Section titled “What the indices mean”NDVI — Normalized Difference Vegetation Index
Section titled “NDVI — Normalized Difference Vegetation Index”The classic “how good is the stand” measure. From the NIR (Near Infrared) and Red bands:
NDVI = (NIR - R) / (NIR + R)Range: −1 … +1. Positive values indicate photosynthesis; around 0 indicates bare soil, water or shadow; negative values are rare on ground imagery.
NDVI works best on dense stands. A saturated canopy (>0.85) is no longer differentiated — everything “very green” gets pushed to ~1.0.
GNDVI — Green NDVI
Section titled “GNDVI — Green NDVI”Uses Green instead of Red:
GNDVI = (NIR - G) / (NIR + G)More sensitive to chlorophyll content and nitrogen stress. Better at separating healthy and very-mature plants than NDVI.
NDRE — Normalized Difference Red Edge
Section titled “NDRE — Normalized Difference Red Edge”Uses the Red Edge band instead of Red:
NDRE = (NIR - RE) / (NIR + RE)The most accurate index for mature, dense stands — it does not saturate where NDVI does. The go-to index for precision N fertilisation. Use this on mature corn, wheat or rapeseed.
Video: NDVI or NDRE? Pick the wrong index and dense crops all look “healthy” while problems hide under the canopy:
RGB indices (no multispectral camera)
Section titled “RGB indices (no multispectral camera)”These indices use only the visible red, green and blue colours of the RGB orthomosaic, so any camera drone can produce them.
| Index | Formula | Good for |
|---|---|---|
| VDVI | (2G − R − B) / (2G + R + B) | general greenness; the default in RGB projects |
| NGRDI | (G − R) / (G + R) | green vs. yellow / brown — yellowing, desiccation |
| ExG | 2g − r − b (r, g, b = colour shares) | separating green plants from soil — emergence, weed patches |
| VARI | (G − R) / (G + R − B) | greenness, less sensitive to haze (RGB projects only) |
- They are generated on first use: switch the RGB index layer on (or click a greyed RGB index button) and the bands are prepared from the orthomosaic once — the airplane progress bar shows the progress. After that they switch instantly.
- In a multispectral project they appear in a second RGB row under NDVI … VARI.
- RGB indices measure greenness, not the near-infrared response of living tissue: they react well to colour (soil, yellowing, weeds) but saturate earlier on dense canopy and cannot replace NDRE for nitrogen decisions.
- Their values are small (mostly ≈ 0 … 0.3). Because the colour ramp is fixed to absolute values, RGB index maps mostly show orange to yellow-green tones — the deep greens of a dense NDVI map are rare. Use the Range slider to isolate the patches you are interested in.
- AI analysis needs multispectral bands — in RGB-only projects the AI buttons are hidden.
Reading the values — what each range means
Section titled “Reading the values — what each range means”Guide values for beginners. Each row splits the index into four bands, from bare ground to dense, healthy crop:
| Index | No plants (soil, water, dry residue) | Sparse, early or stressed | Medium | Dense, healthy |
|---|---|---|---|---|
| NDVI | < 0.15 | 0.15–0.35 | 0.35–0.65 | > 0.65 (saturates above ~0.85) |
| GNDVI | < 0.2 | 0.2–0.4 | 0.4–0.6 | > 0.6 |
| NDRE | < 0.1 | 0.1–0.2 | 0.2–0.35 | > 0.35 |
| EVI | < 0.1 | 0.1–0.25 | 0.25–0.5 | > 0.5 |
| VARI | < 0 | 0–0.1 | 0.1–0.25 | > 0.25 |
| VDVI (RGB) | < 0 | 0–0.05 | 0.05–0.15 | > 0.15 |
| NGRDI (RGB) | < 0 | 0–0.05 | 0.05–0.12 | > 0.12 |
| ExG (RGB) | < 0 | 0–0.05 | 0.05–0.2 | > 0.2 |
How to use the table:
- The numbers are guide values. Camera, calibration, light, crop and growth stage all shift them. What matters most is the pattern within one field and one flight — the lower and higher patches relative to each other.
- Show one class. Drag the Range slider to a row of the table to show only that class — everything outside the range becomes transparent. The colours themselves do not change: they are fixed to absolute index values (see Colour ramp).
- Auto range. When you switch index, the range is set to this field’s own 2nd–98th percentile, so only the extreme outliers are hidden.
- Water and shadow give negative or very low values in every index; don’t read shadows of trees or buildings as stress.
- Dense crops: if NDVI is above ~0.8 almost everywhere, switch to NDRE — it still shows differences where NDVI is saturated.
- RGB indices depend on sunlight and camera colour settings more than multispectral ones: fly in steady light and compare only flights made under similar conditions.
How they are computed
Section titled “How they are computed”Indices are part of the processing flow:
- In the processing settings, leave Multispectral processing on (it switches on automatically when the project contains multispectral bands).
- At the end of processing the band files (
band_G,band_R,band_RE,band_NIR, …) are written to theLayers/folder; every index (NDVI, GNDVI, NDRE, EVI, VARI) is computed from them on the fly. - The map shows a new MS index layer (NDVI is active by default; you switch between indices in the side panel).
Vegetation index panel
Section titled “Vegetation index panel”When the index layer is on, a floating panel appears at the bottom-right of the map:
- AI analysis — AI-assisted zoning and a draft spray plan from the Luna assistant (see AI vegetation analysis)
- Index selector — multispectral: NDVI, GNDVI, NDRE, EVI, VARI, plus an RGB row VDVI, NGRDI, ExG; RGB-only projects: VDVI, NGRDI, ExG, VARI
- Range — a two-handle slider that sets which values are shown
- Preset ranges — one-click settings (multispectral projects)
- Colour ramp — legend underneath
- Export — Save as PNG, Save as JPEG, Save as GeoTIFF (QGIS)
Preset ranges
Section titled “Preset ranges”The full index range (−1 … +1) is usually too wide for visual interpretation. DroneField offers three one-click presets:
The presets are NDVI thresholds, so they appear only in multispectral projects, and clicking one switches the panel to NDVI.
Stress
Section titled “Stress”For detecting stressed or sparse canopy (water, nutrient, disease).
Range: 0.10 … 0.30.
Use it for finding weak patches, gaps and stressed spots in a stand.
Healthy
Section titled “Healthy”Fine-grained view of the developed, healthy canopy. Range:
0.50 … 0.90.
Use it for dense stands — e.g. pea before flowering — to see where development is faster / slower.
Water / Soil
Section titled “Water / Soil”Focuses on near-zero and negative values. Range:
−1.00 … 0.00.
Use it for standing water detection, bare-soil patches.
Colour ramp
Section titled “Colour ramp”The colours are tied to fixed index values over the full −1 … +1 scale — the same value always gets the same colour, in every index and every project:
| Index value | Colour | Typical meaning |
|---|---|---|
| −1.0 … −0.8 | Black | Water, deep shadow |
| around −0.5 | Maroon | Water, wet soil |
| around −0.2 | Red | Bare soil |
| around 0.0 | Pale red | Soil, dry residue |
| around 0.3 | Orange | Sparse or stressed vegetation |
| around 0.6 | Light green | Healthy vegetation |
| 1.0 | Dark green | Strong, dense canopy |
Colours blend smoothly between these points.
Custom range
Section titled “Custom range”The Range slider does not stretch the colours — it acts as a filter: pixels whose value falls outside min … max become transparent, the rest keep their fixed colour. Useful for:
- Showing only one class from the table above (e.g. drag the handles to NDRE 0.10–0.20 to see only the weak zones)
- Hiding soil and water so only the crop remains on the map
When you switch index, the range is set automatically to the field’s own 2nd–98th percentile. Changes take effect immediately on the map.
On-demand index processing
Section titled “On-demand index processing”If processing ran without multispectral bands (e.g. a quick orthomosaic only), or an RGB index has not been generated yet, its button in the panel is greyed out (↓). Hover over it — the tooltip lists the missing bands (e.g. “NDRE – processing needed (missing bands: RE, NIR)”).
Click the greyed button and processing starts right away:
- multispectral indices — only the missing bands are processed, existing work is not redone;
- RGB indices — the bands are generated once from the RGB orthomosaic.
Faster than rerunning the whole processing.
Export
Section titled “Export”The panel’s Export button offers three formats. Each exports the coloured map exactly as shown (index, range, transparency).
PNG / JPEG
Section titled “PNG / JPEG”The visualisation is saved as an image with the colour ramp. No georeference — a simple picture, fine for email or presentations.
GeoTIFF (QGIS)
Section titled “GeoTIFF (QGIS)”A georeferenced 8-bit RGBA .tif of the same coloured map:
- Georeferenced in WGS84, EPSG:4326
- Loads directly in QGIS, ArcGIS and other GIS programs, on top of your other layers
- It holds colours, not index values — you cannot re-classify it
For the raw values (Float32), use the band files in the project’s
Layers/ folder — band_G.tif, band_R.tif, band_RE.tif,
band_NIR.tif (multispectral) or rgb_band_R.tif, rgb_band_G.tif,
rgb_band_B.tif (RGB indices) — and compute the index in QGIS with
the Raster Calculator.
See Exporting to QGIS for details.
Exported file names
Section titled “Exported file names”Exports go into the project’s Exports/ folder, named after the
index and the range (×100, n = negative):
Exports/├─ NDVI_010-030.png├─ NDVI_010-030.jpg├─ NDRE_020-035.tif└─ ...What not to do
Section titled “What not to do”- Don’t base decisions on NDVI alone — no index tells the whole story. Soil sampling and ground inspection always complement it.
- Don’t compare two different drones — P4M and M3M filter spectra differently; values are not 1:1 comparable.
- Don’t mix morning and afternoon flights within one project — changing solar angle shifts index values.