No project description provided
Project description
NDVI TRENDS
A module for studying NDVI Trends (from S2/LSAT) with a particular emphasis on determining or deriving relvant features for cover-cropping.
- Generate and Save NDVI Series for small Regions a. grab NDVI Series on the fly for any geom b. for a large set of geoms efficiently grab and save all
- Smooth NDVI Series a. linear interpolation b. remove drops c. sg smoothing d. window smoothing e. 1 at a time or save a stack
- Days over (normalized) NDVI Threshold
- Cover Crop Detection
- green-up dates
- features (AUC, mean/median differences for set time periods, other metrics)
PROPOSED MODULES
smoothing: handles smoothing data
data: get/save data (in real time, 1 at a time, map over a bunch)
gee: helpers for google earth engine
nb: helpers for visual outputs for notebooks
calc: smooths data, extracts features of interest, computes GREEN-DAYS
cli: automates batch jobs
REQUIREMENTS
Packages are managed through a conda yaml file. To create/update the ndvi_trends
environment:
# create
conda env create -f conda-env.yaml
# update
### NOTE: prune not working https://github.com/conda/conda/issues/7279
conda env update -f conda-env.yaml --prune
### use mamba as workaround:
mamba env update -f conda-env.yaml --prune
Additionally this repo is using config_args and mproc still in developmemt. Clone the repos and then (with ndvi_trends conda env activated) run pip install --e .
Note: the minimal conda-env does not specify the required package versions. requirements.txt can be used to recreate the exact env.
QUICK START
Usage example
DOCUMENTATION
DEPLOY TO PYPI:
# (optional) need to first remove old distributions or be more selective with * on twine-upload
rm -rf dist
# https://packaging.python.org/en/latest/tutorials/packaging-projects/
python -m build
python -m twine upload dist/*
NOTE: When testing locally the editable environment (pip install -e .
) might behave differently than the pacakage. For example, the pyproject.toml should explicitly include submodules. In this case:
[tool.setuptools]
packages = [
"ndvi_trends",
"ndvi_trends.utils"
]
My original file did not include ndvi_trends.utils
but behaved correctly locally. However when deployed this lead to problems. Before deploying drop the -e
!
MODULES:
├── ndvi_trends │ ├── calc: extracts features and statistics from NDVI Series │ ├── data: methods for fetching NDVI data from Harmonized S2-Landsat using GEE │ ├── smoothing: gap filling and smoothing utilities │ └── utils │ └── ee: helper methods for GEE
See doc-strings for documentation of python modules.
STYLE-GUIDE
Following PEP8. See setup.cfg for exceptions. Keeping honest with pycodestyle .
Project details
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
Hashes for ndvi_trends-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bec64618490be0c98801b363c6b551dbf7e64e98d487fca17b8409a9dea52271 |
|
MD5 | 158762918be017575f98e8c9c79aa09b |
|
BLAKE2b-256 | d54c4ae20495094a2972b87d09ad54a4396b1cb24bc5575f242f4a3c3e00364e |