calc_msavi: Calculate Modified Soil Adjusted Vegetation Index 2 (MSAVI)

View source: R/calc_indices.R

calc_msaviR Documentation

Calculate Modified Soil Adjusted Vegetation Index 2 (MSAVI)

Description

Computes the Modified Soil Adjusted Vegetation Index 2 (MSAVI2), which eliminates the need for manually finding or specifying a soil adjustment factor L.

Usage

calc_msavi(nir, red)

Arguments

nir

Near-infrared band (terra::SpatRaster or numeric).

red

Red band (terra::SpatRaster or numeric).

Details

MSAVI = \frac{2 \times NIR + 1 - \sqrt{(2 \times NIR + 1)^2 - 8 \times (NIR - RED)}}{2}

Description & Purpose: MSAVI simplifies SAVI by calculating an inductive soil adjustment factor mathematically, providing high sensitivity in sparse vegetation without requiring empirical soil line parameters.

Value

A terra::SpatRaster (named "MSAVI") or numeric vector with index values.

References

Qi, J., Chehbouni, A., Huete, A. R., Kerr, Y. H., & Sorooshian, S. (1994). A modified soil adjusted vegetation index. Remote Sensing of Environment, 48(2), 119-126.

See Also

calc_savi, calc_osavi, geo_index

Examples

# Numeric scalar calculation
calc_msavi(nir = 0.7, red = 0.2)

# Raster layer calculation
img <- get_example_data()
msavi_rast <- calc_msavi(nir = img[["nir"]], red = img[["red"]])
print(msavi_rast)


GeoIndexR documentation built on Oct. 10, 2026, 5:08 p.m.