carlson-leaf-area-index
Leaf Area Index (LAI) Remote Sensing Method from Carlson et al 1997 Python Package
Gregory H. Halverson (they/them)
gregory.h.halverson@jpl.nasa.gov
NASA Jet Propulsion Laboratory 329G
Overview
This package provides a Python implementation of the Leaf Area Index (LAI) algorithm described by Carlson & Ripley (1997) and related literature. It converts NDVI (Normalized Difference Vegetation Index) data to LAI using a two-step process based on canopy light absorption and the Beer-Lambert law, suitable for remote sensing applications.
Features
- Converts NDVI to Leaf Area Index (LAI)
- Supports both NumPy arrays and
rasters.Rasterobjects - Based on peer-reviewed scientific literature
Installation
Install via pip:
pip install carlson-leaf-area-index
Usage
import numpy as np
from carlson_leaf_area_index import carlson_leaf_area_index
# Example NDVI array
NDVI = np.array([[0.1, 0.3, 0.5], [0.04, 0.52, 0.25]])
LAI = carlson_leaf_area_index(NDVI)
print(LAI)
Algorithm
The algorithm converts NDVI to LAI in two main steps:
-
Estimate fIPAR (fraction of absorbed photosynthetically active radiation) from NDVI:
fIPAR = clip(NDVI - 0.05, min_fIPAR, max_fIPAR)- This relates NDVI to the fraction of light absorbed by the canopy.
-
Calculate LAI using the Beer-Lambert law:
LAI = -ln(1 - fIPAR) / KPAR- KPAR is the extinction coefficient for PAR (default 0.5).
-
Clipping:
- Results are clipped to a valid LAI range (default 0–10).
Values of fIPAR below the minimum are set to NaN (no absorption), and LAI is clipped to the specified range.
References
- Carlson, T.N., & Ripley, D.A. (1997). On the relation between NDVI, fractional vegetation cover, and leaf area index. Remote Sensing of Environment, 62(3), 241-252. https://doi.org/10.1016/S0034-4257(97)00104-1
- Monsi, M., & Saeki, T. (1953). Über den Lichtfaktor in den Pflanzengesellschaften und seine Bedeutung für die Stoffproduktion. Japanese Journal of Botany, 14, 22-52.
- Goudriaan, J. (1977). Crop Micrometeorology: A Simulation Study.
License
See LICENSE file for details.
Metadata
Release files for carlson-leaf-area-index 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| carlson_leaf_area_index-1.1.0.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| carlson_leaf_area_index-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / carlson_leaf_area_index-1.1.0.tar.gz
| Download URL | carlson_leaf_area_index-1.1.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6da100b99187b51b0f4bc6e721b7badf0e70984ae706f29a0a13f684dae6f0f8
|
|
BLAKE2b-256 checksum How to use checksums |
abcc25276b476959f121b48f7fceec4108e30ad5a6c1ff918a9afeb55fac33b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Release files / carlson_leaf_area_index-1.1.0-py3-none-any.whl
| Download URL | carlson_leaf_area_index-1.1.0-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0186f8ff4af23be28d01dd217b469c0cf379856fc81f7bc710966d535d6f9ffa
|
|
BLAKE2b-256 checksum How to use checksums |
6b5ffac636f9fe688d6217ad595ce560049397e9f8559fdd9ee62c601a10edb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|