Match the angle.
How accurately can you set the angle of a line you saw for half a second, without a protractor? Are you better with oblique lines or with horizontal and vertical ones?
Original study
- Appelle, S. (1972). Perception and discrimination as a function of stimulus orientation: The "oblique effect" in man and animals. Psychological Bulletin, 78(4), 266–278. Source
- Coppola, D. M., Purves, H. R., McCoy, A. N., & Purves, D. (1998). The distribution of oriented contours in the real world. Proceedings of the National Academy of Sciences, 95(7), 4002–4006. Source
- Furmanski, C. S., & Engel, S. A. (2000). An oblique effect in human primary visual cortex. Nature Neuroscience, 3(6), 535–536. Source
- Girshick, A. R., Landy, M. S., & Simoncelli, E. P. (2011). Cardinal rules: Visual orientation perception reflects knowledge of environmental statistics. Nature Neuroscience, 14(7), 926–932. Source
- de Gardelle, V., Kouider, S., & Sackur, J. (2010). An oblique illusion modulated by visibility: Non-monotonic sensory integration in orientation processing. Journal of Vision, 10(10), 6. Source
- Wei, X.-X., & Stocker, A. A. (2015). A Bayesian observer model constrained by efficient coding can explain 'anti-Bayesian' percepts. Nature Neuroscience, 18(10), 1509–1517. Source
- Pratte, M. S., Park, Y. E., Rademaker, R. L., & Tong, F. (2017). Accounting for stimulus-specific variation in precision reveals a discrete capacity limit in visual working memory. Journal of Experimental Psychology: Human Perception and Performance, 43(1), 6–17. Source
- Orban, G. A., Vandenbussche, E., & Vogels, R. (1984). Human orientation discrimination tested with long stimuli. Vision Research, 24(2), 121–128. Source
Our adaptation
An orientation reproduction task on the oblique effect (Appelle, 1972). In each of eight rounds a white line through the middle of a round aperture on a dark background is shown for 500 ms, followed by a 300 ms mask of random short lines; then an orange line starting 35–80° away is rotated into place. Four targets are exactly horizontal or vertical and four are oblique (22.5–67.5° from the nearest horizontal/vertical).
Differences from the original study
- The screen's own edges provide a ready reference for horizontal and vertical, which may enlarge the effect.
- Presentation time depends on the screen refresh rate.
Measured variables
The columns of the open data file. List fields are expanded into numbered columns (for example rt_60, est_3); JSON columns contain only numbers and fixed stimulus names.
| Column | Type | Description |
|---|---|---|
t | JSON | Rounds: [[target °, answer °, start °, time in ms] × 8] (orientation 0–180). |
err_1 | number | Signed orientation error in the round (°). (item 1) |
err_2 | number | Signed orientation error in the round (°). (item 2) |
err_3 | number | Signed orientation error in the round (°). (item 3) |
err_4 | number | Signed orientation error in the round (°). (item 4) |
err_5 | number | Signed orientation error in the round (°). (item 5) |
err_6 | number | Signed orientation error in the round (°). (item 6) |
err_7 | number | Signed orientation error in the round (°). (item 7) |
err_8 | number | Signed orientation error in the round (°). (item 8) |
pts_1 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 1) |
pts_2 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 2) |
pts_3 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 3) |
pts_4 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 4) |
pts_5 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 5) |
pts_6 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 6) |
pts_7 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 7) |
pts_8 | number | Round score (0–10): 10 / (1 + (|error| / 6)^1.6). (item 8) |
points | number | Total score (0–80). |
card_err | number | Mean absolute error for horizontal/vertical targets (°). |
obl_err | number | Mean absolute error for oblique targets (°). |
pull | number | Mean shift toward the nearest horizontal/vertical for oblique targets (°; positive = toward; misses above 20° excluded). |
ratio | number | Oblique error / horizontal-vertical error (denominator at least 0.3). |
Columns present in every file (14)
row_id | string | Row code. Regenerated at random in every release; it does not identify a person and cannot be matched across releases or experiments. |
experiment | string | Short name of the experiment (URL slug). |
experiment_version | integer | Version of the answer format. For experiments whose format changed, only the current format is published. |
date | YYYY-MM-DD | YYYY-Www | YYYY-MM | Day the answer was given (Istanbul time). If fewer than 5 answers share the same day, language and device, it is coarsened to the ISO week, and to the month if that is still too few. |
date_precision | day | week | month | Precision of the date column. |
lang | tr | en | (boş) | Interface language. Language recording started in the first week of October 2026; for earlier answers it is known only in experiments whose stimuli depend on the language, and empty otherwise. |
device | desktop | mobile | tablet | (boş) | Device class reported by the browser (class only; browser details are neither stored here nor published). |
source | site | embed | Where the answer came from: the balabs site or the experiment embedded on another site. The embedding site is not published. |
mode | free | daily | challenge | race | session | (boş) | Play mode in scored experiments: free play, daily round, challenge, race room, experiment session. Empty for unscored experiments and for older answers that did not store it. |
color_vision | normal | rg | by | contrast | (boş) | In color-based experiments, the color vision mode the participant chose: normal, red-green, blue-yellow or high contrast. Stimuli are generated along different axes per mode, so compare within a mode. Empty for other experiments. |
first_play | 1 | Every row is a participant’s first play of this experiment (always 1). Replays are stored only as leaderboard scores and are not part of the open data. |
seen_before | yes | no | unsure | (boş) | Participant’s own report of whether they had seen this experiment or its known answer before (in experiments that ask). |
duration_s | number | Time from the start of the experiment to submitting the answer, in seconds (measured in the browser, 0.1 s). |
play_score | number | Leaderboard score of the first play (scored experiments; defined on the method card). Empty for unscored experiments. |
Exclusion criteria
The server requires all eight rounds and checks that there are exactly four horizontal/vertical and four oblique targets; targets between 0.5° and 15° are rejected.
- Only each participant's first answer to this experiment; replays are not included.
- Simulated rows, bots, banned and sample accounts are not included.
- Answers before 3 October 2026 are not included (the first day the open data notice was live).
Scoring
Leaderboard score: total score (0–80); higher is better.
Leaderboard measure: angle sense (higher is better). The play_score column in the open data is this score for the first play.
Version notes
- October 2026
The interface language (lang) started being stored with each answer; for earlier answers it is known only in experiments whose stimuli depend on the language, and empty otherwise.