This commit is contained in:
Felix Delattre 2026-02-20 11:34:08 +01:00
parent 626917fffb
commit c2908724cf
3 changed files with 10 additions and 4 deletions

View file

@ -100,6 +100,7 @@ def prepare_s2(season, site_position, site_name, cleaning_strategy="aggressive",
temp_normalized = s2_output_dir / f"temp_{s2_file.name}"
with rasterio.open(s2_file) as src:
# S2 L2A: use DN/10000 (Earth Search AWS differs from ESA spec; offset caused many transparent pixels)
data = src.read().astype("float32") / 10000.0
profile = src.profile.copy()
profile.update({"dtype": "float32", "nodata": 0})

View file

@ -31,8 +31,13 @@ def process_cropped(season, site_position, site_name, cleaning_strategy="aggress
valid = ~np.isnan(data) & (data > 0.001)
rows = np.any(valid, axis=(0, 2))
cols = np.any(valid, axis=(0, 1))
r0, r1 = np.where(rows)[0][[0, -1]]
c0, c1 = np.where(cols)[0][[0, -1]]
row_idx = np.where(rows)[0]
col_idx = np.where(cols)[0]
if len(row_idx) == 0 or len(col_idx) == 0:
print(f"[PROCESS] Skipping {fusion_file.name} (no valid pixels)")
continue
r0, r1 = row_idx[0], row_idx[-1]
c0, c1 = col_idx[0], col_idx[-1]
w, h = c1 - c0 + 1, r1 - r0 + 1
window = windows.Window(c0, r0, w, h)
data_crop = src.read(window=window)

4
run.py
View file

@ -19,12 +19,12 @@ def run_pipeline(season, site_position, site_name):
"""Run pipeline from existing raw data (no downloads)."""
try:
# Download steps (skipped - use existing data in data/{site_name}/{season}/raw/)
download_s2(season, site_position, site_name)
#download_s2(season, site_position, site_name)
# download_s3(season, site_position, site_name)
# download_phenocam(season, site_position, site_name)
# download_phenocam_greenness(season, site_position, site_name)
print(f"Generating NDVI for raw data: {site_name}, {season}")
#print(f"Generating NDVI for raw data: {site_name}, {season}")
#create_ndvi_timeseries_raw(season, site_position, site_name)
print(f"Running EFAST fusion for all scenarios: {site_name}, {season}")