CoolFace
Datasetpublic

mqraitem/phenology-student-test-tiles

Phenology Student Test Tiles Dense tile-level data for the 4-month crop phenology setting, m3-6-9-12. This package contains the test split only: 48 tiles from 2019 and 2020. Each tile .npz includes: raw HLS satellite input sequence, display-ready RGB sequence, HP-LSP ground-truth phenology dates, dense predictions from Temporal Transformer, Presto, and Prithvi, CEC North American ecoregion Level I and Level II labels rasterized to the tile grid. All phenology dates and model… See the full description on the dataset page: https://huggingface.co/datasets/mqraitem/phenology-student-test-tiles.

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes6downloads
Dataset Card

Phenology Student Test Tiles

Dense tile-level data for the 4-month crop phenology setting, m3-6-9-12. This package contains the test split only: 48 tiles from 2019 and 2020.

Each tile .npz includes:

  • —raw HLS satellite input sequence,
  • —display-ready RGB sequence,
  • —HP-LSP ground-truth phenology dates,
  • —dense predictions from Temporal Transformer, Presto, and Prithvi,
  • —CEC North American ecoregion Level I and Level II labels rasterized to the tile grid.

All phenology dates and model predictions are stored in day-of-year units. Invalid ground-truth pixels are NaN in ground_truth_doy and False in ground_truth_valid.

Files

text
student_test_tiles_m3-6-9-12/
├── README.md
├── manifest.json
├── tile_metadata.csv
├── eco_region_l1_lookup.csv
├── eco_region_l2_lookup.csv
├── examples/
│   └── load_tile.py
└── data/
    └── m3-6-9-12/
        └── test/
            ├── 2019_KS-2_T14SQJ.npz
            ├── 2019_AZ-3_T12SVE.npz
            └── ...

Tile Arrays

text
hls_6band_sequence      (4, 6, 330, 330)    raw HLS input bands
hls_rgb_sequence        (4, 330, 330, 3)    RGB visualization of each input month
ground_truth_doy        (4, 330, 330)       GT phenology dates, DOY, NaN invalid
ground_truth_valid      (4, 330, 330)       valid GT mask
predictions_doy         (3, 4, 330, 330)    model predictions, DOY
model_names             (3,)                temporal_transformer, presto, prithvi
eco_region_l1_id        (330, 330)          Level I ecoregion integer IDs
eco_region_l2_id        (330, 330)          Level II ecoregion integer IDs

Phase order is:

text
0 = G, Greenup
1 = M, Maturity
2 = S, Senescence/Silking
3 = D, Dormancy/Dough

Input band order is:

text
Blue, Green, Red, NIR, SWIR1, SWIR2

Load One Tile

python
import numpy as np

tile = np.load("data/m3-6-9-12/test/2019_KS-2_T14SQJ.npz", allow_pickle=True)

x = tile["hls_6band_sequence"]
rgb = tile["hls_rgb_sequence"]
gt = tile["ground_truth_doy"]
preds = tile["predictions_doy"]
models = [str(m) for m in tile["model_names"]]
eco_l2 = tile["eco_region_l2_id"]

print(x.shape)       # (4, 6, 330, 330)
print(gt.shape)      # (4, 330, 330)
print(preds.shape)   # (3, 4, 330, 330)
print(models)

Ecoregion IDs can be decoded with:

text
eco_region_l1_lookup.csv
eco_region_l2_lookup.csv