Lesson 0: introduction

Author: Su Ye (remotesensingsuy@gmail.com)

This tutorial was made to present the examples for using pyxccd for multiple remote sensing and ecological applications using multi-source time-series datasets.

Special thanks to Tianjia Chu, Ronghua Liao, Yingchu Hu, and Yulin Jiang for preparing tutorial datasets.

Preparation

First, please install pyxccd. In a Jupyter notebook cell, run:

pip install pyxccd

Additionally, you need to install the visualization package:

pip install seaborn

Download the recent source codes of pyxccd in the devel branch, unzipped it, and under the directory /pyxccd/tutorial, the directory should look like:

└── notebooks
└── datasets

Learning Pyxccd with Examples

To illustrate the utilities of pyxccd, we prepared multiple notebook examples using multivariate satellite-based time series across a wide range of applications in this tutorial:

No.

Topics

Applications

Location

Time series

Resolution

Density

1

Break detection

Forest fire

Sichuan, China

HLS2.0

30m

2-3 days

2

Parameter selection

Forest Insects

CO & MA, United States

Landsat

30m

8-16 days

3

Flexible choice for inputs

Crop dynamics

Henan, China

Sentinel-2

10m

5 days

4

Tile-based processing

General disturbances

Zhejiang, China

HLS2.0

30m

2-3 days

5

State analysis 1

Greening

Tibet, China

MODIS

500m

16 days

5

State analysis 2

Precipitation seasonality

Arctic

GPCP

2.5°

Monthly

6

Anomalies vs. breaks

Agricultural drought

Rajasthan, India

GOSIF

0.05°

8 days

7

Near real-time monitoring

Forest logging

Sichuan, China

HLS2.0

30m

2-3 days

8

Gap filling

Soil moisture

Henan, China

FY3B

25km

Daily

Note:

  1. The tutorial primarily provides pixel-based time series examples for educational purposes; however, in practical applications, analyses are typically performed on image-based datasets. In Lesson 4, we will specifically demonstrate the procedures for applying pyxccd to real-world image-based time series;

  2. All date columns in the tutorial are formatted as Gregorian proleptic ordinal numbers, representing the number of days elapsed since 0001-01-01. Users can convert the ordinal date format to human-readable date format using the Python function datetime.date.fromordinal().