diff --git a/data/metadata/barrier_opening.csv b/data/metadata/barrier_opening.csv index f1e2123..a83ae77 100644 --- a/data/metadata/barrier_opening.csv +++ b/data/metadata/barrier_opening.csv @@ -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, diff --git a/scripts/barrier_picker_app/Dockerfile b/scripts/barrier_picker_app/Dockerfile new file mode 100644 index 0000000..35081fb --- /dev/null +++ b/scripts/barrier_picker_app/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.12-slim + +WORKDIR /app + +# Reason: keep the image small — we only need pandas + fastapi + uvicorn. +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY app.py . +COPY static/ ./static/ + +ENV HOST=0.0.0.0 PORT=8000 + +EXPOSE 8000 + +CMD ["python", "app.py"] diff --git a/scripts/barrier_picker_app/README.md b/scripts/barrier_picker_app/README.md new file mode 100644 index 0000000..2b0614f --- /dev/null +++ b/scripts/barrier_picker_app/README.md @@ -0,0 +1,70 @@ +# Cupido — web-based barrier-opening picker + +A small FastAPI + HTML5-video app for annotating the barrier-opening +moment in each tracked recording. Lives in its own Docker container so +it can run on the lab server without polluting any existing +environment. + +## What it does + +For every video referenced by `all_video_info_merged.tsv` that has a +tracking DB on disk and isn't yet in `barrier_opening.csv`, it serves +a `