MSAVI2 Algorithm Specification |
The second Modified Soil
Adjusted Vegetation Index
algorithm was was developed by Qi et al. (1994) as a recursion of
MSAVI
Basically, they use an iterative process and substitute 1 -
MSAVI(n-1) as the L factor in MSAVI(n).
They then inductively solve the iteration where MSAVI(n) =
MSAVI(n-1)
In the process, the need to precalculate WDVI and
NDVI and the need to find the soil line are
eliminated.
The MSAVI2 results from the following equation:
MSAVI2 = (1/2) * ( 2 * IR_factor * near_IR + 1 - sqrt( ( 2 *
IR_factor * near_IR + 1) * ( 2 * IR_factor * near_IR + 1) - 8 *
(IR_factor * near_IR - red_factor * red) ) )
Not all soils are alike. Different soils have different
reflectance spectra.
All of the vegetation indices assume that there is a soil line,
where there is a single slope in RED-NIR space.
However, it is often the case that there are soils with different
RED-NIR slopes in a single image.
Also, if the assumption about the isovegetation lines (parallel or
intercepting at the origin) is not exactly right,
changes in soil moisture (which move along isovegetation lines)
will give incorrect answers for the vegetation index.
The problem of soil noise is most acute when vegetation cover is
low.
The following group of indices attempt to reduce soil noise by
altering the behavior of the isovegetation lines.
All of them are ratio-based, and the way that they attempt to
reduce soil noise is by shifting the place where the isovegetation
lines meet.
WARNING: These indices reduce soil noise at the cost of
decreasing the dynamic range of the index.
These indices are slightly less sensitive to changes in vegetation
cover than NDVI (but more sensitive than PVI) at low levels of
vegetation cover.
These indices are also more sensitive to atmospheric variations
than NDVI (but less so than PVI). (See Qi et al. (1994) for
comparisons.)
Also the processor computes an additional flags band called 'msavi2_flags' with the following bit coding:
Bit Position | Description |
---|---|
Bit 0 | The computed value for MSAVI2 is NAN or is Infinite |
Bit 1 | The computed value for MSAVI2 is less than -1 (minus one) |
Bit 2 | The computed value for MSAVI2 is greater than 1 (one) |