Skip to main content

Flicker Task

Version: v1 (current)

A change detection paradigm using alternating images to reveal attentional limits in visual perception.

Overview

The Flicker task is closely related to the Change Blindness paradigm. Two versions of an image alternate with a brief blank interval. One contains a change, the other does not. The rapid alternation (flicker) helps detect changes by creating a local motion signal, yet substantial changes often go unnoticed for many seconds, revealing the sparse nature of visual representations.

This task demonstrates that without attention directed to the changing region, even large alterations remain invisible. It's used to study visual attention, scene perception, and the role of transients in change detection.

Scientific Background

Classic Findings:

  • Flicker Advantage: Easier than one-shot change detection but still challenging
  • Attention Dependence: Unattended changes remain invisible despite flicker
  • Change Magnitude: Larger changes detected faster, but even huge changes can be missed

Seminal Paper:

  • Rensink, O'Regan, & Clark (1997): To see or not to see: The need for attention to perceive changes

Why Researchers Use This Task

  1. Attention Research: Study role of attention in change detection
  2. Applied Vision: Train observers (radiologists, security) to detect anomalies
  3. Scene Perception: Understand what we encode from visual scenes
  4. Aging Studies: Assess age-related changes in attention and perception

Where to Configure

Study Form → Tasks → Flicker → Configure.

Configuration Parameters

ParameterTypeDefaultDescription
Canvas Width (px)number800Display canvas width (min 400, max 1920)
Canvas Height (px)number600Display canvas height (min 300, max 1080)
Enable PracticebooleantrueShow a practice round (with feedback) before the main trials

Timing (flicker rate, blank duration), the change location, and the click region are configured per trial in the trial spreadsheet, not as global parameters.

Trial Spreadsheet Columns

Both the main and practice trial tables use the same 8 columns:

ColumnTypeDefaultDescription
Image A URLtextURL of the first image
Image B URLtextURL of the second (changed) image
Change Xnumber0X coordinate of the change centre (image content coordinates)
Change Ynumber0Y coordinate of the change centre
Region Size (px)number50Radius of the correct-click region around the change
Flicker Rate (ms)number250Duration each image is shown (min 50)
Blank (ms)number80Duration of the blank between images
BlocktextBlock label for the trial

A trial is only kept when both Image A URL and Image B URL are provided.

Participant Flow

  1. The participant sees the first image displayed on screen.
  2. After the Image Duration, a brief blank screen appears for the Blank Duration.
  3. The second image (with or without a change) is displayed.
  4. The cycle repeats (image A, blank, image B, blank) until the participant detects the change or the per-trial cycle limit is reached.
  5. The participant clicks on the change location when they notice it. The click is scored correct when it falls within the change region, and the time to detection is recorded.

Data Output

Markers and Responses

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

Markers

MarkerKey data fieldsDescription
flicker_trial_starttrial_index (or practice_trial_index), is_practice, stimulus_id, image_a_url, image_b_url, change_x, change_y, flicker_rate_ms, blank_duration_ms, fixation_ms, max_cyclesTrial onset (practice prefix: flicker_practice_trial_start)
image_a_onsetstimulus_id, image_a_url, image_b_url, change_x, change_y, cycleImage A presented (emitted at trial start and on every return to A)
image_b_onsetstimulus_id, image_b_url, cycleImage B presented
blank_phase_onsetstimulus_id, cycle, after_image_aBlank screen between images
stimulus_aoistimulus_id, stimulus_bounds, aois (change_region)Canvas bounds and change-region AOI
feedback_shownpractice_trial_index, feedback_correctPractice feedback (practice only; not emitted when the stimulus failed to load)
response_recordedtrial_index (or practice_trial_index), is_practiceResponse logged
flicker_image_load_failedtrial_index (or practice_trial_index), is_practice, stimulus_id, image_a_url, image_b_urlImage A and/or image B failed to load or decode; no stimulus was ever shown for this trial

Marker names are prefixed with the task slug (flicker_). During practice the index field is practice_trial_index instead of trial_index.

Response Data:

{
"trial_index": 1,
"is_practice": false,
"stimulus_id": "flicker_0_1",
"source": "button",
"responded": true,
"valid_trial": true,
"image_a_url": "https://example.com/scene1a.jpg",
"image_b_url": "https://example.com/scene1b.jpg",
"change_x": 350,
"change_y": 200,
"click_x": 355,
"click_y": 198,
"detection_correct": true,
"detection_time_ms": 5420,
"flicker_cycles": 8,
"block": "main",
"latency_ms": 5420
}

source is one of button (participant click), timeout (cycle limit reached), moderator_advance (moderator forced completion), or image_load_failed (the stimulus image(s) failed to load or decode, so no valid stimulus was ever shown). valid_trial is false only for image_load_failed; such a trial carries no meaningful detection data and is excluded from the summary artifact's accuracy/timing statistics. latency_ms is only present when a detection time was measured (never on image_load_failed).

Image loading robustness: images are loaded as plain (non-crossOrigin) elements, since the canvas is only ever drawn to, never read back as pixel data. If an image fails to load or decode, the participant sees a plain, non-technical message (not a raw browser error) instead of a blank canvas, the trial is marked source: "image_load_failed" / valid_trial: false, and a flicker_image_load_failed marker is recorded.

Summary Artifact

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

{
"task_kind": "flicker",
"task_index": 0,
"overall": {
"total": 10,
"valid_clicks": 9,
"correct_detections": 7,
"accuracy": 0.78,
"mean_detection_time_ms": 5420,
"median_detection_time_ms": 5300,
"mean_cycles_to_detection": 8,
"timeouts": 1
},
"breakdowns": {},
"extras": {
"total_trials": 10
},
"trials": [ /* per-trial data */ ],
"practice": { /* same { overall, breakdowns, extras, trials } structure, present only if practice was enabled and ran */ }
}

Key metrics:

  • detection_correct: Whether click was within the correct change region
  • detection_time_ms: Time from trial start to click
  • flicker_cycles: Number of complete A-B-A cycles before detection
  • accuracy: Proportion of correct detections

Design Recommendations

  • Image Pairs: Use high-resolution images with clearly defined change regions. The change should be meaningful (e.g., object removal, color shift).
  • Blank Duration: 80 ms is standard; shorter blanks make changes easier to detect, longer blanks increase difficulty.
  • Cycle Limit: Set Max Cycles high enough so most participants can find the change, but not so high that frustrated participants stall.
  • Practice Trials: Include a practice round with an obvious change so participants understand the task.
  • Counterbalancing: Randomize which image (A or B) contains the change across trials.

Common Issues and Solutions

IssueSolution
Participants cannot find the changeIncrease image duration or reduce blank duration; ensure the change is large enough
Changes detected too quicklyDecrease image duration or increase blank duration; use subtler changes
Timing feels inconsistentEnsure images are preloaded before the trial starts to avoid loading delays
Participants click randomlyAdd instructions emphasizing accuracy; consider requiring participants to indicate the change location
Canvas appears blankIf Image A/B URLs point to files the browser cannot fetch or decode (broken link, unsupported format), the participant sees a plain error message rather than a blank canvas, and the trial is recorded as source: "image_load_failed" (excluded from accuracy/timing stats). Verify the image URLs are reachable and in a supported format (JPEG/PNG/WebP).

References

  • Rensink, R. A., O'Regan, J. K., & Clark, J. J. (1997). To see or not to see: The need for attention to perceive changes in scenes. Psychological Science, 8(5), 368-373.
  • Simons, D. J., & Rensink, R. A. (2005). Change blindness: Past, present, and future. Trends in Cognitive Sciences, 9(1), 16-20.

See Also