Normalized Difference Vegetation Index C
NDVIc is a corrected version of NDVI that incorporates SWIR bands to account for atmospheric and canopy background effects. The correction factor using SWIR bands helps improve the accuracy of vegetation assessments, particularly in areas with varying atmospheric conditions or soil backgrounds.
Used in crop monitoring, and forest monitoring.
When to use
- Time-series monitoring of crop health, growth stages, and stress detection
- Land cover classification and vegetation type discrimination
- Biomass estimation and net primary productivity studies
- Drought impact assessment over agricultural and forest areas
- Phenology tracking — green-up, peak season, and senescence
- vegetation monitoring with atmospheric correction
- improved vegetation assessment
Limitations
- Saturates in dense canopies (LAI > 3) — values plateau and lose discrimination ability
- Sensitive to atmospheric scattering, especially blue-band haze
- Soil background contaminates measurements in sparsely vegetated areas
- Sun-sensor geometry (BRDF effects) introduces variability across acquisitions
- Cloud cover and shadows produce invalid pixels that need masking
- Requires sensors with SWIR bands — not available on all platforms
What the values mean
| Surface type | Typical NDVIc |
|---|---|
| Open water, snow | -0.3 to -0.1 |
| Bare soil, urban | -0.1 to 0.2 |
| Sparse or stressed crops | 0.2 to 0.4 |
| Healthy crops, grassland | 0.4 to 0.7 |
| Dense forest, peak season | 0.7 to 0.9 |
General Formula
Sensor-Specific Formulas
Most-used sensors — click to show code below
| Sensor | Provider | Formula | Band Mapping |
|---|---|---|---|
| USGS/NASA | (B5 - B4) / (B5 + B4) * (1 - (B6 - SWIRmin) / (SWIRmax - SWIRmin)) | RED→B4, NIR→B5, SWIR→B6 | |
| ESA | (B8 - B4) / (B8 + B4) * (1 - (B11 - SWIRmin) / (SWIRmax - SWIRmin)) | RED→B4, NIR→B8, SWIR→B11 | |
| MAXAR | (NIR1 - Red) / (NIR1 + Red) * (1 - (SWIR2 - SWIRmin) / (SWIRmax - SWIRmin)) | RED→Red, NIR→NIR1, SWIR→SWIR2 |
Spectral Band Visualization — Landsat 8/9
Code Examples
Adapted for Landsat 8/9 bands —
Frequently Asked Questions
What is the NDVIc (Normalized Difference Vegetation Index C) and when should I use it?
NDVIc is a corrected version of NDVI that incorporates SWIR bands to account for atmospheric and canopy background effects. The correction factor using SWIR bands helps improve the accuracy of vegetation assessments, particularly in areas with varying atmospheric conditions or soil backgrounds. Vegetation indices quantify plant health, biomass, and photosynthetic activity by exploiting the contrast between how plants absorb visible light for photosynthesis and reflect near-infrared radiation from their cellular structure. NDVIc is particularly suited for vegetation monitoring with atmospheric correction, improved vegetation assessment, canopy background effect reduction. The general formula is (NIR - RED) / (NIR + RED) * (1 - (SWIR - SWIRmin) / (SWIRmax - SWIRmin)), which requires RED and NIR and SWIR spectral bands.
Which satellite sensors can I use to calculate NDVIc?
NDVIc is supported by 4 satellite sensors in our database, including Landsat 8/9, Sentinel-2, SuperView-2, WorldView 3. Each sensor uses different band designations — for example, Landsat 8/9 uses the formula (B5 - B4) / (B5 + B4) * (1 - (B6 - SWIRmin) / (SWIRmax - SWIRmin)), while Sentinel-2 uses (B8 - B4) / (B8 + B4) * (1 - (B11 - SWIRmin) / (SWIRmax - SWIRmin)). Select a sensor above to see its specific band mapping.
What spectral bands does NDVIc require and why?
NDVIc requires RED (640-760), NIR (780-1400), SWIR (1550-1750). Vegetation strongly absorbs red light for photosynthesis while reflecting near-infrared light from its mesophyll cell structure, making this contrast a reliable indicator of plant vigour.
How do I calculate NDVIc in Python or R?
Both Python and R code samples are provided above. In Python, use rasterio to load individual band GeoTIFF files and numpy for the arithmetic. In R, the terra package handles raster operations efficiently. The key is to load bands as floating-point arrays to avoid integer division, and to handle division-by-zero cases where the denominator equals zero. For production use, consider applying a valid data mask to exclude no-data pixels before calculation.
How does NDVIc compare to NDVI and other vegetation indices?
While NDVI is the most common vegetation index, NDVIc uses shortwave infrared bands to capture vegetation water content information that NDVI misses. The choice of index depends on your application, sensor availability, and atmospheric conditions.
NDVIc vs other vegetation indices
| Index | Name | How it differs |
|---|---|---|
| ARI | Anthocyanin Reflectance Index | Alternative vegetation index — different band combination |
| mARI | Modified Anthocyanin Reflectance Index | Refined formulation for specific conditions |
| ARVI | Atmospherically Resistant Vegetation Index | Atmospherically corrected version |
| ARVI2 | Atmospherically Resistant Vegetation Index 2 | Atmospherically corrected version |
Related Vegetation Indices
References
Need help choosing?
Ask our AI assistant for sensor recommendations, code examples, or how NDVIc compares to other indices for your specific use case.