jakies pierdoly

This commit is contained in:
Vysyr committed 2026-09-25 15:39:26 +02:00
1 parent 6a13b1ef04
commit ae7dc34053
6 files changed
+136 -67

No files matched your search

+19 -7
View File
@@ -109,14 +109,18 @@ Each run writes `results/gaze_exercises_<timestamp>.csv` plus a sidecar
every recording with `--subject-id` and, when varying setup, `--session-tag`:
```powershell
python gaze_exercises.py --subject-id you --session-tag laptop_50cm --screen-diagonal 15.6 --viewing-distance 50
python gaze_exercises.py --subject-id you --session-tag monitor_90cm --screen-diagonal 27 --viewing-distance 90
python gaze_exercises.py --list-monitors
python gaze_exercises.py --subject-id you --session-tag laptop_50cm --monitor 1 --viewing-distance 50
python gaze_exercises.py --subject-id you --session-tag monitor_90cm --monitor 2 --viewing-distance 90
```
`--screen-diagonal` (inches) and `--viewing-distance` (cm) must match the
physical setup for that recording — they drive the pixel-to-degree conversion
used for both the logged error and velocity columns, so an incorrect value
silently skews every derived feature in that session.
`--monitor` picks which physical display to run on and auto-detects its
diagonal; pass `--screen-diagonal` explicitly only if auto-detection reports
`unknown size` for that display. `--viewing-distance` (cm) has no way to be
auto-detected and must match the physical setup for that recording — it
drives the pixel-to-degree conversion used for the logged error and velocity
columns, so an incorrect value silently skews every derived feature in that
session.
CSV columns beyond the basic error metrics:
@@ -162,6 +166,14 @@ Once more subjects are recorded, re-run training; group the split by
`subject_id` (leave-one-subject-out) instead of by trial for the real paper
evaluation.
`dispersion_px` and `accel_px_s2` in the raw CSV are in screen pixels, which
are not comparable across recordings taken on different physical screens or
viewing distances. Training re-derives both in visual-angle units
(`dispersion_deg`, `accel_deg_s2`) using each session's `_meta.json`, matching
what `adaptive_filter.py`'s `OnlineFeatureTracker` computes online — this
matters as soon as you record on more than one screen/distance combo, which
is exactly what varying `--monitor`/`--viewing-distance` across sessions does.
`adaptive_filter.py` defines the real-time filters built on that model:
`BaselineFilter` (the existing fixed median+EMA filter), and
`MLAdaptiveFilter` in `mode="hard"` (discrete fixation/saccade/pursuit
@@ -177,7 +189,7 @@ reports RMS error, mean error, and on-target accuracy % for raw gaze, the
fixed baseline filter, and both ML-adaptive modes side by side:
```powershell
python eval_static_fixation.py --subject-id you --duration 60 --viewing-distance 70 --screen-diagonal 31.5
python eval_static_fixation.py --subject-id you --duration 60 --viewing-distance 70 --monitor 1
```
Press Space to start the 60-second hold. Results are saved to