Flag 9dd6a82d08 dashboard + dispatcher — UX props, trim head+tail, cols, link direct
dashboard:
- job_id, AUV GP1/GP2 (serial en tooltip), segment_label, duree reelle,
  nb frames, nb hors-eau trimes
- lien viser plain <a href> (plus de POST ni popup). Affiche uniquement
  si job.done ET viser_url persistee (demo.py kept alive)
- CSS minimal: flex row, separateurs, skipped en italic mute

dispatcher:
- trim head ET tail (AUV hors-eau en debut + fin de session)
- migration DB: trimmed_head, trimmed_tail, video_duration_s
- do_extract persiste total_duration_s + trimmed counts via set_status
- run_one: RuntimeError(skipped_short) preserve le status=skipped
- min_frames underwater pour skip les segments trop courts
- ram_budget 0.45 -> 0.35 (OOM rc=137 avec 8237 frames sur 62GB RAM)
2026-04-22 21:28:06 +00:00

cosma-qc

COSMA post-acquisition QC pipeline — reconstruction photogrammétrique par GoPro (lingbot-map), queue de jobs distribués, dashboard web pour suivi terrain le jour même.

Objectif

Après une acquisition AUV (2 GoPros × 2-3 AUVs × heures d'enregistrement), savoir rapidement si la couverture est complète avant de replier la mission — sans attendre les 30 jours du traitement photogrammétrique complet.

Pipeline

SSD plugged ─┐
             ├─▶ Ingestion ─▶ Frame extraction (per GoPro × segment)
             │                        │
             │                        ▼
             │                  Job queue (SQLite)
             │                        │
             │         ┌──────────────┼──────────────┐
             ▼         ▼              ▼              ▼
         Dashboard  Worker .87    Worker .84    (scalable)
         (FastAPI)   (3060)       (3090)
             │         │              │
             │         └─▶ PLY ◀──────┘
             │              │
             │              ▼
             └──────── ICP stitch (Open3D) ─▶ viser viewer

Stack

  • Backend : FastAPI + SQLite
  • Frontend : HTMX (UI réactive sans build JS)
  • Queue : table SQLite + workers SSH-triggered
  • Monitoring : polling nvidia-smi sur .87 / .84, df pour disque
  • Reconstruction : lingbot-map (GCT-Stream windowed)
  • Stitch : Open3D ICP

Déploiement

  • Service sur .82 (stable, Caddy pour URL propre)
  • Workers : SSH vers .87 (3060 12 GB) et .84 (3090 24 GB)

État

Scaffold en cours.

Description
COSMA post-acquisition QC pipeline: per-GoPro lingbot-map reconstruction, job queue, web dashboard
Readme 6 MiB
Languages
Python 76.3%
HTML 11.6%
CSS 11.5%
Dockerfile 0.6%