Files
cosma-qc/pipeline
Poulpe 610b3a218b fix(stages 04/04b): load QC_BOTTOM_OK_PCT from thresholds.yaml (fallback env/hardcoded)
Iter-1 patch (thresholds.yaml bottom_visible_pct_min 50→30) had zero effect:
04_frame_extract.py and 04b_trim_water.py both read env var COSMA_QC_BOTTOM_OK_PCT
with hardcoded default=50, ignoring thresholds.yaml entirely.

Add _load_bottom_ok_pct() loader in both stages: reads thresholds.yaml first,
falls back to COSMA_QC_BOTTOM_OK_PCT env var, then hardcoded 50.

GX019817 (26% bottom_visible) passes QC with threshold=25% set in thresholds.yaml.
2026-05-12 10:36:22 +00:00
..

cosma-pipeline

Pipeline autonome de reconstruction COSMA.

Structure

pipeline/
├── config/           # Seuils QA + params par défaut (versionnés)
├── orchestrator/     # DB SQLite, dispatcher, FastAPI
├── stages/           # Modules indépendants 01..08
├── qa/               # Vérifications pass/fail/degraded
└── cron/             # Auto-itération 6h

Usage rapide

# 1. Ingest
python3 pipeline/stages/01_ingest.py /mnt/ssd/20260505-Lepradet --name 20260505-Lepradet

# 2. Parse USBL
python3 pipeline/stages/02_usbl_parse.py /home/cosma/cosma-pipeline/20260505-Lepradet/manifest.json

# 3. Filter
python3 pipeline/stages/03_usbl_filter.py /home/cosma/cosma-pipeline/20260505-Lepradet/02_usbl_raw/

Notes données

  • logs/SUB/log/*_usbl.csv = bytes série bruts (Waterlinked M64), PAS lat/lon
  • Navigation réelle dans logs/SUB/bag/*.mcap (ROS2 MCAP)
  • Mapping AUV : vidéos utilisent AUV2xx, bags utilisent AUV0xx (même 2 derniers chiffres)