Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Credits:
Millisecond thanks Dr. Rensink for sharing his example stimuli for this script!
Created: January 11, 2014
Last Modified: January 14, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Flicker Paradigm to investigate the role of attention in Change Blindness inspired by: Resink et al (1997).
NOTES: • This script runs with 6 example stimuli (ONLY intended for demonstration purposes). The original study ran with 48. • the variable "interest level of change" (central vs. marginal) is not included in this script as the example stimuli contain "marginal interest" changes only. • this script runs 2 cue conditions (cue vs. no cue) either in a mixed design (default) or in a blocked design. The script does not include an unreliable cue condition as tested by Rensink et al. • this script collects mouse input and stores images of the placed response
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, 368-373.
6 minutes
Participants are presented "flickering" presentations of original and altered pictures for a maximum cycle of 1 min (default). The task is to find the one difference between the two pictures. If participants find the difference they are instructed to click on the location of the change and are asked to describe the change in detail in a textbox.
The provided stimuli are example stimuli generously shared by Dr. Rensink under
https://www2.psych.ubc.ca/\nensink/flicker/download/index.html
They are only intended for demonstration purposes.
Substitute your own stimuli under EDITABLE CODE -> Editable Stimuli and follow instructions
Use script 'flickerparadigm_determinechangelocations.iqjs' to determine the new areas of change
for each of your images.
The instructions used in this script are not original. They are provided by Millisecond in html-format.
To change the instructions, simply change the html files in a simple Text Editor (e.g. in 'Notepad' in Win or 'textEdit' in Mac)
File Name: FlickerParadigm_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| runCueCondition | By default, the cuecondition (cue vs. no cue) is run in a "mixed" design; to run the cuecondition in a blocked design, set value.runcuecondition = "blocked" |
| countPracticeRuns | Counts how often the practice round was repeated |
| countResponses | Counts how often participants clicked the mouse/touched the screen to report the change |
| propCorrectChangeTypeSelections | Proportion correct selection of Change Type (across all trials) |
| rtCorrSelections | The mean latency (in ms) of cycles when participant selected the correct change |
| rtAll | The mean latency (in ms) of cycles when participant responded (regardless of accuracy) |
| countL | Number of LOCATION trials run |
| countNRL | Number of no responses in LOCATION trials |
| propCorrectChangeTypeSelectionsL | Proportion correct selection of Change Type in LOCATION trials (based on responses made) |
| rtCorrSelectionsL | The mean latency (in ms) of cycles when participant selected the correct change in LOCATION trials |
| countP | Number of PRESENCE trials run |
| countNRP | Number of no responses in PRESENCE trials |
| propCorrectChangeTypeSelectionsP | Proportion correct selection of Change Type in PRESENCE trials (based on responses made) |
| rtCorrSelectionsP | The mean latency (in ms) of cycles when participant selected the correct change in PRESENCE trials |
| countC | Number of COLOR trials run |
| countNRC | Number of no responses in COLOR trials |
| propCorrectChangeTypeSelectionsC | Proportion correct selection of Change Type in COLOR trials (based on responses made) |
| rtCorrSelectionsC | The mean latency (in ms) of cycles when participant selected the correct change in COCATION trials |
Accuracy Evaluation Of Response Placement |
|
| propCorrectResponsePlacement | Proportion correct placement of mouse response across all trials |
| propCorrectResponsePlacementL | Proportion correct placement of mouse response across LOCATION trials |
| propCorrectResponsePlacementP | Proportion correct placement of mouse response across PRESENCE trials |
| propCorrectResponsePlacementC | Proportion correct placement of mouse response across COLOR trials |
File Name: FlickerParadigm_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| flickerSame | The duration of the blank screen/flicker in between the 2 presentations of the original pictures (or altered pictures) (original: 80ms) if set to 0 the presentation of the pictures appears continuous |
| changeType | "location" (1), "presence/absence" (2), "color" changes (3) in the pictures |
| cueCondition | 1 = a cue is given; 2 = no cue is given |
| cue | The currently presented cue |
| countTrials | Counts the number of trials |
| countCycles | Counts the number of cycles started until a response occurs |
| currentpic | The itemnumber of the currently presented (original/altered) pic |
| stimulus | The image presented (StimA) |
| responsePoint | Determines the image in the response cycle (the cycle that participant made a positive response) that was presented when participant made response "StimA1", "flicker_AA", "StimA2", "flicker_AB", "StimB1", "flicker_BB", "StimB2", "flicker_BA" or "N/A" (if no response was given) |
| alternations | Determines the number of alternations between original and altered pictures until response occurs each switch between originals and altered pictures as well as each switch between altered pictures and original pictures is counted as an alternation. => for each completed cycle, participant go through 2 alternations if the response occurs AFTER the change from original to altered pic in the last cycle, one more alternation is added to the count. |
| cycleRt | Stores the combined trial latencies across the entire cycle until response occurs (in ms) |
| selectedChangeType | The selected observed change type ('location', 'presence/absence', 'color', or empty) |
| accChangeType | 1 = the correct Change Type was selected 0 = in any other case |
| currentChange | Contains the correct description of the change |
| changeDescription | Stores the openended textbox response in regard to the observed change |
| accChangeDescription | "needs to be evaluated" script does NOT evaluate the correctness of the entered response automatically. Each openended response needs to be evaluated manually. |
| changeReportRT | Stores the time it took participant to work on the openended response until pressing the button (in ms) |
Placement Of Lbutton Down Response (In Pixels) |
|
| responseFieldCenterXPX | The pixel x-coordinate of the correct response field |
| responseFieldCenterYPX | The pixel y-coordinate of the correct response field |
| responseXPX | The pixel x-coordinate of the mouse lButtonDown response |
| responseYPX | The pixel y-coordinate of the mouse lButtonDown response |
| maxDistancePX | The max. allowed distance btw. center of correct response field and lButtonDown response (in px) |
| distancePX | The calculated distance btw. center of correct response field and lButtonDown response (in px) |
| accResponseCoordinates | 1 = the lButtonDown response was made within response circle 0 = the lButtonDown response was made outside of response circle this script collects screencaptures of the location of the lButtonDown response coordinates |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design Parameters |
||
| maxNumberofTrials | The number of test stimuli Notes a) In the mixed design all stimuli are presented within one block. In the blocked design, half the stimuli are presented in the cue, the other half in the nocue block (random sampling). b) The original study (Rensink et al used 48 stimuli)-> change images under EDITABLE CODE -> Editable Stimuli | 6 |
| maxNumberofTrialsPractice | The number of practice stimuli tested | 1 |
| runCueCondition | By default, the cuecondition (cue vs. no cue) is run in a "mixed" design; to run the cuecondition in a blocked design, set value.runcuecondition = "blocked" | "mixed" |
| allowPracticeRepeats | 1 (true): the practice round can be repeated if so indicated 0 (false): the practice round cannot be repeated | true |
Sizing Parameters |
||
| cueBoxHeight | Height of the cuebox in percentage of canvas height | 10% |
| cueBoxWidth | Width of the cuebox in percentage of canvas width | 60% |
| cueTextHeight | The height of the cue text in percentage of canvas height | 5% |
| picHeight | The height of the pictures in percentage of canvas height | 70% |
| responseCircleRadius | The proportional size of accepted response circle around the response coordinates | 12.5% |
| showResponseCircle | True = the response circle is presented to participants together their response placement false = participants only get feedback regarding their response placement | true |
Duration Parameters |
||
| cueDuration | The duration of the cue in ms | 3000 |
| startScreenDuration | The duration of the start screen in ms | 1000 |
| stimADuration | The duration of the original picture in ms the original picture is presented twice. If parameters.flickerSame = 0 the presentation of the 2 original pictures appears continuous | 240 |
| stimBDuration | The duration of the altered picture in ms the altered picture is presented twice. If parameters.flickerSame = 0 the presentation of the 2 altered pictures appears continuous | 240 |
| flickerSame | The duration of the blank screen/flicker in between the 2 presentations of the original pictures in ms (or altered pictures) if set to 0 the presentation of the pictures appears continuous | 80 |
| flickerDifferent | The duration of the blank screen/the flicker in between original and altered pictures in ms | 80 |
| maxCycleDuration | The maximum duration of the cycling through original and altered pictures if no response occurs in ms | 60000 |