Pro/Antisaccade Task
Version: v1 (current)
An oculomotor control paradigm measuring inhibitory control and voluntary gaze redirection.
Overview
The Pro/Antisaccade task is a powerful measure of inhibitory control and executive function using eye movements. In prosaccade trials, participants look toward a suddenly appearing peripheral target (reflexive, prepotent response). In antisaccade trials, participants must inhibit this reflexive urge and instead look in the opposite direction (requiring cognitive control).
Antisaccade errors (looking toward rather than away from the target) reveal failures of inhibitory control. Error rates and latencies provide sensitive measures of executive function. The task requires minimal instruction and can be adapted for populations with limited verbal abilities, making it valuable for clinical and developmental research.
The task is widely used in neuropsychiatry (schizophrenia, ADHD, Parkinson's), aging research, and cognitive neuroscience studies of prefrontal cortex function.
Scientific Background
Classic Findings:
- Antisaccade Cost: Antisaccades are slower (50-100ms) and more error-prone (5-20% errors in healthy adults) than prosaccades
- Inhibitory Failure: Errors reflect failure to suppress reflexive saccade toward target
- Error Correction: Many antisaccade errors are self-corrected within 100-200ms
- Age Effects: Children and older adults show higher antisaccade error rates
- Clinical Markers: Elevated errors in schizophrenia (40-50%), ADHD, frontal lobe damage
Key Mechanisms:
- Reflexive Suppression: Inhibiting automatic saccade toward sudden onset
- Voluntary Generation: Programming saccade to mirror location
- Response Conflict: Competition between pro and anti responses
Seminal Papers:
- Hallett (1978): Primary and secondary saccades to goals
- Munoz & Everling (2004): Look away: The anti-saccade task and the voluntary control of eye movement
- Hutton & Ettinger (2006): The antisaccade task as a research tool in psychopathology
Why Researchers Use This Task
- Executive Function: Sensitive measure of inhibitory control and response suppression
- Clinical Biomarker: Endophenotype for schizophrenia and other neuropsychiatric disorders
- Aging Research: Track age-related decline in cognitive control
- Prefrontal Function: Probe dorsolateral prefrontal cortex and frontal eye fields
- Pharmacology: Test effects of medications on cognitive control
Current Implementation Status
Fully Implemented:
- ✅ Prosaccade and antisaccade blocks
- ✅ Left/right target locations
- ✅ Error rate and latency measurement
- ✅ Practice trials for each condition
- ✅ Self-reported saccade direction (in absence of eye-tracker)
Partially Implemented:
- ⚠️ Manual keyboard/button response instead of eye-tracking
- ✅ Per-trial gap/overlap (set the Gap (ms) column per trial; 0 = overlap)
Not Yet Implemented:
- ❌ Eye-tracking integration for true saccade measurement
- ❌ Error correction detection
- ❌ Mixed block variant (pro and anti cued trial-by-trial)
Configuration Parameters
The Pro/Antisaccade configuration exposes a small set of global display/behaviour options. Timing (fixation, gap, cue, target, ITI) and eccentricity are per-trial values set in the trial spreadsheets (see Trial Spreadsheet below), not global parameters.
Display Options
| Parameter (form key) | Type | Default | Range | Description |
|---|---|---|---|---|
pro_antisaccade_fixation_size_px | number | 20 | 5–50 | Size of the central fixation cross (px) |
pro_antisaccade_cue_size_px | number | 20 | 5–50 | Size of the peripheral cue (px) |
pro_antisaccade_fixation_color_hex | string | #000000 | — | Fixation cross color (hex) |
pro_antisaccade_cue_color_hex | string | #000000 | — | Peripheral cue color (hex) |
Behaviour Options
| Parameter (form key) | Type | Default | Description |
|---|---|---|---|
pro_antisaccade_time_based | boolean | true | When on, each trial auto-advances on timeout (target window) and keyboard responses are collected. When off, on-screen Left/Right buttons are shown. |
pro_antisaccade_practice_enabled | boolean | true | Whether the practice phase (with feedback) runs before the main block. |
Trial Spreadsheet
Main and practice trials are defined as spreadsheet rows. Each row has the following columns:
| Column | Type | Description |
|---|---|---|
| Trial Type | dropdown | prosaccade or antisaccade |
| Side | dropdown | left or right (cue side) |
| Block | text | Free-text block label (optional) |
| Fixation (ms) | numeric | Fixation duration (min 100, default 1000; default rows use 500) |
| Gap (ms) | numeric | Gap between fixation offset and cue onset (min 0, default 0; default rows use 200) |
| Cue (ms) | numeric | Peripheral cue duration (min 50, default 200; default rows use 100) |
| Target (ms) | numeric | Response window after cue offset (min 50, default 1000) |
| ITI (ms) | numeric | Inter-trial interval (min 0, default 1000; default rows use 500) |
| Eccentricity (deg) | numeric | Cue distance from center in degrees (default 10; default rows use 8) |
Keyboard Shortcuts
Researchers can customize the keyboard bindings used during the task:
| Parameter | Type | Default | Description |
|---|---|---|---|
| Show keyboard hint | boolean | True | Display an on-screen hint showing the configured keys |
| Left key | key | Arrow Left (←) | Key for left response |
| Left action label | text | "Left" | Label shown in the keyboard hint for the left key |
| Right key | key | Arrow Right (→) | Key for right response |
| Right action label | text | "Right" | Label shown in the keyboard hint for the right key |
Data Output
Markers
The runtime emits, per trial: a slug-prefixed trial-start marker (pro_antisaccade_trial_start, or pro_antisaccade_practice_trial_start in the practice phase), fixation_onset/fixation_offset, gap_onset (only when the trial's gap is > 0), cue_onset/cue_offset, target_phase_start (opens the response window; latency is measured from here), and a trial-end marker. Practice trials additionally emit feedback_shown.
Example cue_onset marker:
{
"type": "cue_onset",
"ts": "2024-01-01T00:00:01.000Z",
"hr": 1234.56,
"data": {
"trial_index": 0,
"is_practice": false,
"stimulus_id": "pro_antisaccade_0_1",
"trial_type": "antisaccade",
"cue_side": "right",
"expected_response": "left",
"block": "main",
"cue_ms": 100
}
}
Response Data
Each response is recorded as a trial-grain row (the source enum is keyboard, button, timeout, or moderator_advance):
{
"trial_index": 0,
"is_practice": false,
"stimulus_id": "pro_antisaccade_0_1",
"source": "keyboard",
"trial_type": "antisaccade",
"cue_side": "right",
"expected_response": "left",
"response_value": "left",
"raw_key": "ArrowLeft",
"response_correct": true,
"responded": true,
"block": "main",
"latency_ms": 285
}
Summary Artifact
Emitted as pro_antisaccade_summary_<taskIndex>.json:
{
"task_kind": "pro_antisaccade",
"task_index": 0,
"total_trials": 24,
"overall": {
"total": 24,
"valid_responses": 22,
"correct": 18,
"accuracy": 0.818,
"mean_rt_ms": 285,
"mean_correct_rt_ms": 270,
"timeouts": 2
},
"breakdowns": {
"trial_type": {
"prosaccade": { "total": 12, "valid_responses": 12, "correct": 11, "accuracy": 0.917, "mean_rt_ms": 245, "mean_correct_rt_ms": 240, "timeouts": 0 },
"antisaccade": { "total": 12, "valid_responses": 10, "correct": 7, "accuracy": 0.7, "mean_rt_ms": 325, "mean_correct_rt_ms": 300, "timeouts": 2 }
}
},
"effects": {
"antisaccade_cost_ms": 60
},
"trials": [...]
}
When practice is enabled and practice trials were run, a practice object (same shape: total_trials, overall, breakdowns.trial_type, trials) is also included.
Example Research Configurations
Standard Pro/Antisaccade
Blocks: Prosaccade (30 trials), then antisaccade (30 trials)
Timing: 1000ms fixation, immediate target onset, 1000ms target display
Locations: ±10° left/right
Analysis: Antisaccade error rate, RT cost
Gap Paradigm (Enhanced Reflexive Saccades)
Timing: 1000ms fixation, 200ms gap (blank), then target
Effect: Gap increases reflexive saccade errors in antisaccade
Purpose: Examine inhibitory control under stronger prepotent response
Mixed Block (Advanced)
Trials: Pro and anti randomly intermixed
Cue: Color/shape cue indicates pro vs. anti on each trial
Purpose: Maximize response conflict and test rapid task-switching
Participant Experience
- Instructions: Learn to respond "Same side" or "Opposite side" depending on the trial label shown on screen (paradigm names are never exposed to participants)
- Practice - Same Side: Each trial shows "Same side" label; respond with the arrow key toward the dot (10 trials)
- Practice - Opposite Side: Each trial shows "Opposite side" label; respond with the arrow key toward the other side (10 trials with feedback)
- Main Same-Side Block: 30 trials, respond to indicate direction
- Break: Brief rest and reminder
- Main Opposite-Side Block: 30 trials, respond toward the other side
- Completion: See accuracy for each block
Response Methods
Keyboard (recommended):
- Press Left Arrow Key (←) for left response (default -- configurable by researcher)
- Press Right Arrow Key (→) for right response (default -- configurable by researcher)
Buttons (if button mode):
- Click "Left" or "Right" button on screen
All keyboard bindings are configurable by the researcher in the study configuration. The keys listed above are the defaults.
Design Recommendations
General Guidelines
- Block Order: Counterbalance pro-first vs. anti-first across participants
- Trial Count: 30-40 trials per condition for stable error rates
- Instructions: Emphasize speed AND accuracy (don't just respond quickly without controlling saccade)
- Target Eccentricity: 8-12° typical; closer = harder to inhibit
Gap/Overlap Manipulation
- Overlap: Target appears while fixation still visible (easier to inhibit)
- Gap: 200ms blank before target (harder, more errors)
- Express Saccades: Very short latency saccades in gap condition
Population-Specific Adaptations
Children (8+ years):
- Extended practice (15-20 trials per condition)
- Slower pacing
- Gamification ("look at the spaceship" vs. "look at the empty space")
- Expect higher error rates (15-30%)
Older Adults (65+):
- Clear, high-contrast targets
- Generous time limits
- More practice trials
- Expect moderately elevated errors (12-20%)
Clinical Populations:
- Schizophrenia: Expect 40-50% antisaccade errors
- ADHD: Elevated errors and RT variability
- Parkinson's: Impaired antisaccades, normal prosaccades
- Frontal damage: Severe antisaccade deficit
Common Issues and Solutions
| Issue | Solution |
|---|---|
| High prosaccade errors (>5%) | Participants misunderstand task; add more practice |
| No antisaccade cost | Task too easy; reduce target eccentricity or add gap |
| Participants close eyes | Emphasize keeping eyes open throughout trial |
| Manual response doesn't match saccade | Emphasize honest reporting; ideally use eye-tracking |
| Ceiling effects (perfect antisaccade) | Use gap paradigm or mixed block to increase difficulty |
References
- Hallett, P. E. (1978). Primary and secondary saccades to goals defined by instructions. Vision Research, 18(10), 1279-1296.
- Munoz, D. P., & Everling, S. (2004). Look away: The anti-saccade task and the voluntary control of eye movement. Nature Reviews Neuroscience, 5(3), 218-228.
- Hutton, S. B., & Ettinger, U. (2006). The antisaccade task as a research tool in psychopathology: A critical review. Psychophysiology, 43(3), 302-313.
- McDowell, J. E., Dyckman, K. A., Austin, B. P., & Clementz, B. A. (2008). Neurophysiology and neuroanatomy of reflexive and volitional saccades. Journal of Neurophysiology, 100(6), 3053-3062.
See Also
- Go/No-Go Task - Related inhibitory control paradigm
- Posner Cueing - Spatial attention without eye movements
- Flanker Task - Response inhibition and conflict