Add barrier_picker_app — Dockerised web picker for barrier opening

A FastAPI app + plain HTML5 video page that replaces the matplotlib
picker. Browse to http://host:8000/, scrub through each video with
arrow keys (±5 s, ±1 s with Shift, ±0.1 s with Ctrl, ±1 frame with
,/.), and click one of three buttons:
  - All barriers open      — every ROI usable
  - Upper barrier opens    — ROIs 1,3,5 usable; lower row marked bad
  - Lower barrier opens    — ROIs 2,4,6 usable; upper row marked bad

The current playhead time is recorded as opening_s; bad_rois is set
accordingly. Also keyboard shortcuts (1/2/3 for the three modes,
s/u for skip/unusable). Refresh-safe: every submission persists to
data/metadata/barrier_opening.csv before advancing.

Server uses byte-range streaming so seeking inside long videos is
fast. Dockerfile + docker-compose.yml mount the data volume RO and
the metadata folder RW.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Giorgio Gilestro 2026-05-01 12:33:28 +01:00
parent 24403e0474
commit 1a7542def2
7 changed files with 611 additions and 5 deletions

View file

@ -1,6 +1,7 @@
machine_name,session_date,session_time,opening_s,trim_first_s,notes
ETHOSCOPE_076,2025-07-15,16-03-10,52,0,hand-annotated 2025-07-15 batch
ETHOSCOPE_076,2025-07-15,16-31-34,94,69,first ~66s misframed (arena partly out of frame)
ETHOSCOPE_145,2025-07-15,16-03-27,42,0,hand-annotated 2025-07-15 batch
ETHOSCOPE_145,2025-07-15,16-31-41,89,69,first ~60s misframed (arena partly out of frame)
ETHOSCOPE_268,2025-07-15,16-32-05,75,0,hand-annotated 2025-07-15 batch
ETHOSCOPE_076,2025-07-15,16-03-10,52.0,0,hand-annotated 2025-07-15 batch
ETHOSCOPE_076,2025-07-15,16-31-34,94.0,69,first ~66s misframed (arena partly out of frame)
ETHOSCOPE_145,2025-07-15,16-03-27,42.0,0,hand-annotated 2025-07-15 batch
ETHOSCOPE_145,2025-07-15,16-31-41,89.0,69,first ~60s misframed (arena partly out of frame)
ETHOSCOPE_268,2025-07-15,16-32-05,75.0,0,hand-annotated 2025-07-15 batch
ETHOSCOPE_076,2024-10-21,11-07-54,346.8,0,

1 machine_name session_date session_time opening_s trim_first_s notes
2 ETHOSCOPE_076 2025-07-15 16-03-10 52 52.0 0 hand-annotated 2025-07-15 batch
3 ETHOSCOPE_076 2025-07-15 16-31-34 94 94.0 69 first ~66s misframed (arena partly out of frame)
4 ETHOSCOPE_145 2025-07-15 16-03-27 42 42.0 0 hand-annotated 2025-07-15 batch
5 ETHOSCOPE_145 2025-07-15 16-31-41 89 89.0 69 first ~60s misframed (arena partly out of frame)
6 ETHOSCOPE_268 2025-07-15 16-32-05 75 75.0 0 hand-annotated 2025-07-15 batch
7 ETHOSCOPE_076 2024-10-21 11-07-54 346.8 0