Skip to main content

Backward Masking Task

Version: v1 (current)

Overview

The Backward Masking task is a classic visual perception paradigm used to investigate the temporal dynamics of conscious awareness. A target stimulus is briefly presented, followed immediately by a masking stimulus that disrupts visual processing. By manipulating the timing between target and mask, researchers can measure perceptual thresholds and explore the conditions necessary for conscious perception.

Scientific Background

Backward masking has been extensively studied in cognitive neuroscience:

  • Breitmeyer & Ogmen (2006): Visual Masking: Time Slices Through Conscious and Unconscious Vision. Oxford University Press.
  • Macknik & Martinez-Conde (2007): The role of feedback in visual masking and visual processing. Advances in Cognitive Psychology.

The key manipulation is the Stimulus Onset Asynchrony (SOA), which is the time between the onset of the target and the onset of the mask. SOA = target duration + inter-stimulus interval (ISI).

At very short SOAs (< 50ms), the mask disrupts target processing, leading to reduced accuracy. As SOA increases, participants can more easily identify the target.

Why Researchers Use This Task

  • Perceptual thresholds: Determine the minimum presentation time needed for conscious perception
  • Visual processing dynamics: Study how quickly visual information is processed
  • Individual differences: Compare perceptual thresholds across populations
  • Attention and awareness: Investigate the relationship between attention and conscious perception
  • Clinical applications: Assess visual processing deficits in neurological or psychiatric conditions

Task Parameters

Timing Configuration

All timing parameters are specified per trial, allowing you to vary SOAs systematically:

ParameterDefaultDescription
Fixation (ms)500Duration of fixation cross before target
Target Duration (ms)50How long the target is displayed
Isi (ms)0Blank interval between target and mask
Mask Duration (ms)200How long the mask is displayed
Iti (ms)1000Response timeout (inter-trial interval)

SOA Calculation: SOA = target_duration_ms + isi_ms

Visual Configuration

ParameterDefaultDescription
Backward Masking Font Size (px)72Font size for stimuli
Backward Masking Fixation Character'+'Character for fixation cross

Practice Trials

ParameterDefaultDescription
Backward Masking Practice EnabledfalseEnable practice trials with feedback
Backward Masking Practice Trials[]Array of practice trial configurations

Trial Configuration

Each trial is defined by an object with the following fields:

{
target: string; // Target stimulus (e.g., 'H', 'K')
mask: string; // Masking stimulus (e.g., '#####', '&&&&&')
response_options: string[]; // Available response buttons
expected_response: string; // Correct answer
fixation_ms: number; // Fixation duration
target_duration_ms: number; // Target presentation time
mask_duration_ms: number; // Mask presentation time
isi_ms: number; // Inter-stimulus interval
iti_ms: number; // Response timeout
block?: string; // Optional block label
}

Example Configuration

To test SOA effects, create trials with varying target_duration_ms and isi_ms:

[
{
"target": "H",
"mask": "#####",
"response_options": ["H", "K", "M", "N"],
"expected_response": "H",
"fixation_ms": 500,
"target_duration_ms": 30,
"mask_duration_ms": 200,
"isi_ms": 0,
"iti_ms": 1000,
"block": "SOA_30ms"
},
{
"target": "K",
"mask": "#####",
"response_options": ["H", "K", "M", "N"],
"expected_response": "K",
"fixation_ms": 500,
"target_duration_ms": 50,
"mask_duration_ms": 200,
"isi_ms": 0,
"iti_ms": 1000,
"block": "SOA_50ms"
},
{
"target": "M",
"mask": "#####",
"response_options": ["H", "K", "M", "N"],
"expected_response": "M",
"fixation_ms": 500,
"target_duration_ms": 100,
"mask_duration_ms": 200,
"isi_ms": 0,
"iti_ms": 1000,
"block": "SOA_100ms"
}
]

Participant Experience

Trial Sequence

  1. Fixation (500ms default): A fixation cross appears at the center
  2. Target (configurable): The target stimulus appears briefly (e.g., letter 'H')
  3. ISI (configurable): Optional blank interval
  4. Mask (configurable): The masking stimulus appears (e.g., '#####')
  5. Response: Participant selects from available options

With Practice Trials

If practice is enabled:

  1. Participants see practice instructions
  2. Practice trials are presented with feedback (green checkmark for correct, red X for incorrect)
  3. After practice, participants see main trial instructions
  4. Main trials begin (no feedback)

Data Output

Markers and Responses

The task records high-resolution timestamps in two separate collections:

Markers (stimulus_shown - target):

{
"type": "stimulus_shown",
"ts": "2024-01-01T00:00:01.000Z",
"hr": 1234.56,
"data": {
"trial_index": 1,
"stimulus_id": "backward_masking_0_1",
"stimulus_type": "target",
"target": "H",
"expected_response": "H",
"block": "SOA_50ms",
"target_duration_ms": 50,
"is_practice": false
}
}

Markers (stimulus_shown - mask):

{
"type": "stimulus_shown",
"ts": "2024-01-01T00:00:01.050Z",
"hr": 1284.56,
"data": {
"trial_index": 1,
"stimulus_id": "backward_masking_0_1",
"stimulus_type": "mask",
"mask": "#####",
"mask_duration_ms": 200,
"soa_ms": 50,
"is_practice": false
}
}

Response Data:

{
"trial_index": 1,
"stimulus_id": "backward_masking_0_1",
"source": "button",
"target": "H",
"mask": "#####",
"expected_response": "H",
"response_value": "H",
"response_correct": true,
"target_duration_ms": 50,
"mask_duration_ms": 200,
"isi_ms": 0,
"soa_ms": 50,
"latency_ms": 1234,
"block": "SOA_50ms",
"is_practice": false
}

Summary Artifact

A JSON file (backward_masking_summary_<taskIndex>.json) with aggregated statistics:

{
"task_kind": "backward_masking",
"task_index": 0,
"total_trials": 20,
"overall": {
"total": 20,
"valid_responses": 18,
"correct": 15,
"accuracy": 0.833,
"mean_rt_ms": 1234,
"mean_correct_rt_ms": 1123,
"timeouts": 2
},
"by_soa": {
"50ms": { "total": 10, "correct": 5, "accuracy": 0.5, "mean_rt_ms": 1456 },
"100ms": { "total": 10, "correct": 10, "accuracy": 1.0, "mean_rt_ms": 1012 }
},
"trials": [ /* per-trial data */ ]
}

Key metrics:

  • accuracy: Proportion of correct target identifications
  • by_soa: Performance grouped by stimulus onset asynchrony (target_duration_ms + isi_ms)
  • mean_rt_ms: Average reaction time from stimulus onset to response

Design Recommendations

SOA Selection

For threshold detection:

  • Start with very short SOAs (20-30ms) where accuracy should be near chance
  • Include intermediate SOAs (50-80ms) to capture the transition zone
  • Add longer SOAs (100-150ms) where accuracy should approach ceiling
  • Use at least 10 trials per SOA condition for reliable estimates

Stimulus Selection

  • Use simple, high-contrast stimuli (letters, shapes)
  • Ensure target and mask are similar in size and visual complexity
  • Balance target stimuli across response options
  • Use pattern masks (e.g., '#####') rather than blanks for strongest masking

Trial Timing

  • Keep fixation duration consistent (500ms is standard)
  • Vary only target_duration_ms and isi_ms to manipulate SOA
  • Use response timeout (iti_ms) appropriate for your population (1000-2000ms)
  • Consider adding brief feedback delays in practice trials

Practice Trials

  • Include 5-10 practice trials
  • Use easy SOAs (100ms+) for practice
  • Enable feedback to help participants understand the task
  • Ensure all target stimuli appear in practice

Typical Use Cases

  1. Threshold measurement: Estimate the minimum SOA for 75% accuracy
  2. Group comparisons: Compare masking sensitivity across populations
  3. Attention effects: Test whether attention affects masking threshold
  4. Individual differences: Correlate masking sensitivity with other measures

References

  • Breitmeyer, B.G., & Ogmen, H. (2006). Visual Masking: Time Slices Through Conscious and Unconscious Vision. Oxford University Press.
  • Enns, J.T., & Di Lollo, V. (2000). What's new in visual masking? Trends in Cognitive Sciences, 4(9), 345-352.