Manual timeseries labeling with classy
An app developed in python with streamlit (github repository)
Timeseries classification: This streamlit app allows manual classification of timeseries of Landsat and Sentinel (1 & 2). It directly connects to Google Earth Engine via the python google-cloud-sdk and earthengine-api, and allows the user to:
Randomly sample points within a region (e.g., a country or watershed), masked to agricultural pixels if desired (from GFSAD30).
Downloads pixel-level timeseries of Landsat and Sentinel 1 & 2 reflectance to Google Drive for specified time range, with cloud and cloud-shadow pixels identified.
Manually classify points into any number of user-defined classes and subclasses base on NDVI timeseries and other reflectance properties.
In the image below, the location in question (small blue circle, top-right map) is most likely a single crop due to the single peak in the NDVI timeseries (both Landsat and Sentinel 2, top panel) during the wet season (precipitation, bottom panel). The development version of the app can be run locally via streamlit after cloning the github repository and setting up a python environment with the necessary packages.