Vegetation Conversion Python Utilities
Project description
vegetation-conversion
Vegetation Conversion Python Utilities.
This package provides utilities for converting vegetation indices used in PT-JPL workflows.
Gregory H. Halverson (they/them)
gregory.h.halverson@jpl.nasa.gov
NASA Jet Propulsion Laboratory 329G
Installation
pip install vegetation-conversion
Usage
Import this package as vegetation_conversion:
import vegetation_conversion
1. SAVI_from_NDVI(NDVI)
- Description: Converts NDVI to a SAVI proxy using an empirical linear transformation.
- Scientific basis:
- SAVI was originally developed to reduce soil background influence in sparse vegetation by introducing a soil adjustment factor, $L$, in: $$ SAVI = \frac{(NIR - Red)(1 + L)}{NIR + Red + L} $$
- In workflows where only NDVI is available, PT-JPL implementations commonly use a linear NDVI-to-SAVI approximation to maintain compatibility with downstream canopy/energy-partitioning steps.
- This package preserves the PT-JPL parity mapping: $$ SAVI = 0.45 \cdot NDVI + 0.132 $$
- This mapping is not a universal physical replacement for the original SAVI expression; it is an empirically tuned conversion used for model continuity.
- Parameters:
NDVI: Normalized Difference Vegetation Index asnumpy.ndarrayorrasters.Raster.
- Returns:
- SAVI proxy with same container type (
numpy.ndarrayorrasters.Raster).
- SAVI proxy with same container type (
- Citation: Huete (1988).
2. fAPAR_from_SAVI(SAVI)
- Description: Estimates the fraction of absorbed photosynthetically active radiation (fAPAR) from SAVI.
- Scientific basis:
- fAPAR represents the fraction of incoming PAR absorbed by green vegetation canopy and is a key state variable controlling photosynthesis, transpiration, and coupled land-atmosphere fluxes.
- Empirical remote-sensing studies have shown approximately linear relationships between vegetation indices and canopy radiation absorption metrics over practical operating ranges.
- This package uses the PT-JPL parity relation: $$ fAPAR = 1.3632 \cdot SAVI - 0.048 $$
- Output is physically bounded by clipping to $[0, 1]$, where 0 denotes no absorbed PAR and 1 denotes full absorption.
- Parameters:
SAVI: Soil-Adjusted Vegetation Index asnumpy.ndarrayorrasters.Raster.
- Returns:
fAPARin $[0, 1]$ with same container type (numpy.ndarrayorrasters.Raster).
- Citation: Fisher et al. (2008).
3. fIPAR_from_NDVI(NDVI)
- Description: Estimates the fraction of intercepted photosynthetically active radiation (fIPAR) from NDVI.
- Scientific basis:
- fIPAR characterizes canopy interception of incoming PAR and is frequently used in ecosystem productivity and evapotranspiration partitioning frameworks.
- The PT-JPL-compatible mapping first constrains NDVI to plausible bounds and then applies a linear offset: $$ fIPAR = clip(clip(NDVI, 0, 1) - 0.05, 0, 1) $$
- The inner clipping limits NDVI to standard normalized range; subtracting 0.05 applies an empirical threshold for low-vegetation/background conditions; the outer clipping enforces physical limits for a fraction.
- Parameters:
NDVI: Normalized Difference Vegetation Index asnumpy.ndarrayorrasters.Raster.
- Returns:
fIPARin $[0, 1]$ with same container type (numpy.ndarrayorrasters.Raster).
- Citation: Gower et al. (1999).
References
- Fisher, J. B., et al. (2008). The land surface water and energy budget of the western United States based on MODIS satellite data. Water Resources Research, 44(9), W09422. https://doi.org/10.1029/2007WR006057
- Gower, S. T., Kucharik, C. J., & Norman, J. M. (1999). Direct and indirect estimation of leaf area index, fAPAR, and net primary production of terrestrial ecosystems. Remote Sensing of Environment, 70(1), 29-51. https://doi.org/10.1016/S0034-4257(99)00056-7
- Huete, A. R. (1988). A soil-adjusted vegetation index (SAVI). Remote Sensing of Environment, 25(3), 295-309. https://doi.org/10.1016/0034-4257(88)90106-X
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vegetation_conversion-1.0.1.tar.gz.
File metadata
- Download URL: vegetation_conversion-1.0.1.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dd90c5bbff63c8217bf6e1c3bdc5c4d82fde2a0e1a1e73bb01995a67b908140
|
|
| MD5 |
ab905f1d49ef3ac04ed1ad8b173bba04
|
|
| BLAKE2b-256 |
8266acab3074265dcc1f7092834520e55e5d6b613d1992e2a86f174f706b4058
|
File details
Details for the file vegetation_conversion-1.0.1-py3-none-any.whl.
File metadata
- Download URL: vegetation_conversion-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
213f96669856f6373934b62aa3b1dd17a06b3fc5e743c93d538fdffb94d1dbb3
|
|
| MD5 |
ecd614a8223972dc3a5c9f30101e5558
|
|
| BLAKE2b-256 |
4b0ac969d8bc3b41332e7d04f9e425744b136e595492fcb072b5c4738a9e43e5
|