Skip to content

Choosing an Algorithm

Zeit implements more than a dozen methods. Most projects need one or two. Start from the question you are trying to answer, and let it pick the method.

Start from your question

Your question Use Needs
When was this area disturbed (cleared, burned) and how badly? LandTrendr One image per year
Did anything change, at any time of year? What did it change into? CCDC Every clear image (dense, multi-band)
Is something changing right now, compared with a stable past? BFAST Monitor Regular series (e.g. 16-day composites)
How many changes happened, and when, in a regular series? BFAST Lite Regular series
Did the trend change, the seasonal cycle, or both? BFAST Regular series
Is this area getting greener or browner over the decades? Mann-Kendall One value per year (or method="seasonal")
When does the growing season start, peak and end? Is this year late? Phenology Dense series, several per month
Which crop or land-cover type is this pixel, given a few examples? TWDTW Reference time series per class
Which land-cover types exist here, with no labels at all? SOM Any cube
Can I work with fields and patches instead of pixels? SNIC Any cube
I have many labelled samples and want the best classifier. TempCNN / LightTAE Labelled time series
I have two dates and labelled change masks. Siamese Change Detector Image pairs + masks

A quick decision guide

flowchart TD
    Q{"What do you want to know?"}
    Q -->|"When / where did it change?"| C{"How often is it observed?"}
    Q -->|"Is there a long-term trend?"| MK["Mann-Kendall"]
    Q -->|"What is it?"| L{"Do you have labels?"}
    Q -->|"When is the growing season?"| PH["Phenology"]

    C -->|"Once a year"| LT["LandTrendr"]
    C -->|"Every clear image"| CC["CCDC"]
    C -->|"Regular composites"| B{"Past or present?"}
    B -->|"Whole history"| BL["BFAST Lite / BFAST"]
    B -->|"New observations only"| BM["BFAST Monitor"]

    L -->|"A few examples per class"| TW["TWDTW"]
    L -->|"Many labelled samples"| DL["TempCNN / LightTAE / U-TAE"]
    L -->|"None"| SO["SOM clustering"]

Change detection methods compared

The four change-detection families answer related but different questions. The figures below all come from their tutorials.

LandTrendr CCDC BFAST Lite / BFAST BFAST Monitor
Input 1 index, 1 value per year Up to 7 bands, every clear observation 1 index, regular series 1 index, regular series
Models the season? No (annual values) Yes (harmonics) Yes (harmonics) Yes (harmonics)
Detects Abrupt and gradual change, recovery Abrupt change, any time of year Breaks in trend (and season, for BFAST) The first break after a date
Typical use Forest disturbance history Land-cover change mapping and classification Retrospective break analysis Alerts
Speed per pixel Very fast Moderate Moderate Very fast

Combine methods

The methods complement each other. A common pattern is Mann-Kendall to find where a region is trending, then LandTrendr or CCDC to find when and how abruptly it changed there. Another is Tmask to clean the data before CCDC. See the User Guide for every workflow.