cupido/scripts
Giorgio Gilestro 1a7542def2 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>
2026-05-01 12:33:28 +01:00
..
barrier_picker_app Add barrier_picker_app — Dockerised web picker for barrier opening 2026-05-01 12:33:28 +01:00
__init__.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
analyze_distances.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
auto_detect_targets.py Remove hardcoded /home/gg paths so the project is portable 2026-05-01 08:55:44 +01:00
build_video_inventory.py Add video duration_s to inventory and propagate to merged TSV 2026-05-01 11:13:05 +01:00
calculate_distances.py Unify analysis pipeline around the TSV; move tracked DBs out of cloud sync 2026-04-30 15:20:14 +01:00
config.py Remove data/raw/ entirely — all bulky data now under /mnt/data/projects/cupido/ 2026-05-01 09:20:25 +01:00
detect_barrier_opening.py Merge 2025-07-15 batch into the xlsx; tools to detect & re-track 2026-05-01 10:28:25 +01:00
explore_barrier_signal.py Merge 2025-07-15 batch into the xlsx; tools to detect & re-track 2026-05-01 10:28:25 +01:00
export_video_db_index.py Add video duration_s to inventory and propagate to merged TSV 2026-05-01 11:13:05 +01:00
load_roi_data.py Make load_roi_data progress bar refresh reliably in JupyterLab 2026-05-01 09:43:12 +01:00
merge_2025_07_15_into_xlsx.py Merge 2025-07-15 batch into the xlsx; tools to detect & re-track 2026-05-01 10:28:25 +01:00
ml_classification.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
monitor_tracking.py Unify analysis pipeline around the TSV; move tracked DBs out of cloud sync 2026-04-30 15:20:14 +01:00
pick_barrier.py Force interactive matplotlib backend in pick_barrier 2026-05-01 12:23:15 +01:00
pick_targets.py Merge 2025-07-15 batch into the xlsx; tools to detect & re-track 2026-05-01 10:28:25 +01:00
plot_avg_distance_aligned.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
plot_avg_distance_first_200s.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
plot_avg_distance_over_time.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
plot_distance_over_time.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
statistical_tests.py Initial commit: organized project structure for student handoff 2026-03-05 16:08:36 +00:00
track_videos.py Remove hardcoded /home/gg paths so the project is portable 2026-05-01 08:55:44 +01:00
tracking_geometry.py Add offline tracking pipeline for video backlog 2026-04-27 17:25:26 +01:00