Skip to main content

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.

  1. 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
  2. Smooth NDVI Series a. linear interpolation b. remove drops c. sg smoothing d. window smoothing e. 1 at a time or save a stack
  3. Days over (normalized) NDVI Threshold
  4. 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

ndvi_trends-0.0.8.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ndvi_trends-0.0.8-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page