foo
This commit is contained in:
parent
626917fffb
commit
c2908724cf
3 changed files with 10 additions and 4 deletions
|
|
@ -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}"
|
temp_normalized = s2_output_dir / f"temp_{s2_file.name}"
|
||||||
with rasterio.open(s2_file) as src:
|
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
|
data = src.read().astype("float32") / 10000.0
|
||||||
profile = src.profile.copy()
|
profile = src.profile.copy()
|
||||||
profile.update({"dtype": "float32", "nodata": 0})
|
profile.update({"dtype": "float32", "nodata": 0})
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,13 @@ def process_cropped(season, site_position, site_name, cleaning_strategy="aggress
|
||||||
valid = ~np.isnan(data) & (data > 0.001)
|
valid = ~np.isnan(data) & (data > 0.001)
|
||||||
rows = np.any(valid, axis=(0, 2))
|
rows = np.any(valid, axis=(0, 2))
|
||||||
cols = np.any(valid, axis=(0, 1))
|
cols = np.any(valid, axis=(0, 1))
|
||||||
r0, r1 = np.where(rows)[0][[0, -1]]
|
row_idx = np.where(rows)[0]
|
||||||
c0, c1 = np.where(cols)[0][[0, -1]]
|
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
|
w, h = c1 - c0 + 1, r1 - r0 + 1
|
||||||
window = windows.Window(c0, r0, w, h)
|
window = windows.Window(c0, r0, w, h)
|
||||||
data_crop = src.read(window=window)
|
data_crop = src.read(window=window)
|
||||||
|
|
|
||||||
4
run.py
4
run.py
|
|
@ -19,12 +19,12 @@ def run_pipeline(season, site_position, site_name):
|
||||||
"""Run pipeline from existing raw data (no downloads)."""
|
"""Run pipeline from existing raw data (no downloads)."""
|
||||||
try:
|
try:
|
||||||
# Download steps (skipped - use existing data in data/{site_name}/{season}/raw/)
|
# 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_s3(season, site_position, site_name)
|
||||||
# download_phenocam(season, site_position, site_name)
|
# download_phenocam(season, site_position, site_name)
|
||||||
# download_phenocam_greenness(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)
|
#create_ndvi_timeseries_raw(season, site_position, site_name)
|
||||||
|
|
||||||
print(f"Running EFAST fusion for all scenarios: {site_name}, {season}")
|
print(f"Running EFAST fusion for all scenarios: {site_name}, {season}")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue