Demonstrates two perceptual effects caused by the interaction between eye movement and LCD display rendering, inspired by the TestUFO battery:
Sync-strobe mode (toggle with S) draws the bar only on even frames (50 % duty cycle), sharpening the phantom effect.
Measurement mode (toggle with M) adds a static comparison rectangle whose width you adjust to match the perceived blur width, letting you record a quantitative estimate.
go run main.go # fullscreen
go run main.go -d # windowed (development)
go run main.go -d -s 1 # windowed, subject ID 1
| Flag | Default | Description |
|---|---|---|
-d |
off | Development mode: windowed 1024×768 |
-s |
0 |
Participant ID |
| Key | Action |
|---|---|
S |
Toggle strobe mode |
M |
Toggle measurement mode |
↑ / ↓ |
Velocity +/− 50 px/s (range 100–1500) |
← / → |
Bar width +/− 1 px (normal mode) or comparison width (measure mode) |
| Enter | Record perceived width (measurement mode) |
| Escape | Quit |
In measurement mode, each Enter press records a row to goxpy_data/ with: velocity, actual bar width, strobe status, and perceived (matched) width.
No data file is written if measurement mode is never used.