Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 07, 2018
Last Modified: January 06, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a basic Posner Cueing task, a measure of attention, as described at: https://en.wikipedia.org/wiki/Posner_cueing_task.
15 minutes
Participants are asked to press the [space] as fast as possible once a star appears in either a left or a right box that are positioned next to a center fixation cross.
Before each star appears, a cue is given that predicts the location of the star in 80% of the trials: endogenous cues (peripheral): the box location of the star is briefly highlighted exogenous cue (center): an arrow appears above the fixation cross that points to the location of the star.
Default Set-up of this script:
This script runs one test block of endogenous cues (highlighted box locations, peripheral cues) and one test block of exogenous cues
(arrow cues above the fixation cross, center cues). The order of the two test blocks is randomly determined.
Each test block runs 100 trials. The default ratio of valid cues: invalid cues = 4 : 1 (=> 80 valid cue trials; 20 invalid cue trials).
Half the trials signal a left target location; half the trials signal a right target location.
The order of the trials is randomly determined for each participant.
Each test block starts with a practice block of 10 trials (default ratio of valid : invalid cues = 4 : 1).
Default Trial Sequence:
- Fixation Cross + 2 empty boxes (for 1000ms, default, can be edited under section Editable Parameters: parameters.cueDelay)
- cue (for 20ms; default can be edited under section Editable Parameters: parameters.cueDuration)
- Stimulus Onset Asynchrony between onset of cue and onset of target of 100ms and 500ms are used (controlled by list.SOAs under section Editable Lists)
by default SOAs are randomly determined without replacement for valid cues, invalid cues (and optional control trials)
=> in the default setting, half of each trial type runs with 100ms SOAs the other half with 500ms SOAs
- target duration (= response timeout) for 1000ms (default, can be edited under section Editable Parameters: parameters.targetduration)
- Intertrial interval for 1500ms (default, can be edited under section Editable Parameters: parameters.ITI)
by default, 'no responses' on valid and invalid cue trials as well as 'early responses' ([space] presses that
are made BEFORE the star appears) are REPEATED with the same settings at the end of each block.
Optional Design Changes:
(1) Instead of running a blocked design of exogenous and endogenous cues, a mixed design can be run.
To run a mixed design, go to section Editable Parameters: parameters.runMixedDesign
A mixed design runs one block of 200 trials (valid cues : invalid cues = 4 : 1).
The practice session runs twice the number of practice trials.
(2) In addition to valid and invalid cue trials, control trials ('catch trials'; trials that do not present a target) can be added.
To add control trials, go to section Editable Parameters: parameters.runControlTrials
The ratio of valid cues : invalid cues : control trials = 4 : 1 : 1
(3) By default, 'no responses' on valid and invalid cue trials as well as 'early responses' ([space] presses that
are made BEFORE the star appears) are REPEATED at the end of each block. To turn off the automatic make-up trials,
go to section Editable Parameters: parameters.runMakeupTrials
provided by Millisecond - can be edited under section Editable Stimuli
The size of the boxes and their location on the screen can be edited under section
Editable Parameters.
The default background of the screen is black. Fixation cross and star are presented in white.
Unlit boxes are presented with a gray frame. 'Lit' boxes are presented white.
provided by Millisecond - can be edited under section Editable Instructions
File Name: cueingtask_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| 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 |
Parameter Settings |
|
| runMixedDesign | True(1) = arrow cue trials and highlight cue trials are run in the same block (order of trials is determined randomly) false(0), DEFAULT = arrow cue trials and highlight cue trials are run in a blocked design (order is determined randomly) |
| runControlTrials | True(1) = control trials (= no target is presented) are run intermixed with target trials false(0), DEFAULT = no control trials are run |
| runMakeupTrials | True(1), DEFAULT = all error trials (valid and invalid cue trials) are repeated at the end of the block (if control trials are run, these are not repeated in case of erroneous responses) false(0) = no error trials are repeated |
Data |
|
| testTrialCountTargets | Counts valid test trials that present targets (= valid/invalid cue trials) across all test blocks |
| testTrialCountControls | Counts valid test control trials that do not present targets across all test blocks (control trials are optional, see parameters.runControlTrials) |
| testTrialCountTotal | Counts all valid test trials (valid cues, invalid cues, control trials) across all test blocks |
| countEarlyResponsesTargets | Counts the number of early responses in valid/invalid target trials (test trials only) => early response: a [space] press that occurs before the target appears |
| countNoResponsesTargets | Counts the number of no responses to valid/invalid targets (test trials) |
| countResponsesControls | Counts the number of [space] presses in 'control' trials (if control trials are run) |
| meanRTValidCueArrow | Mean reaction time ([space] press) in ms in trials that presented a valid arrow cue (across SOAs) |
| meanRTInvalidCueArrow | Mean reaction time ([space] press) in ms in trials that presented an invalid arrow cue (across SOAs) |
| meanRTValidCueHighlight | Mean reaction time ([space] press) in ms in trials that presented a valid highlighted box cue (across SOAs) |
| meanRTInvalidCueHighlight | Mean reaction time ([space] press) in ms in trials that presented an invalid highlighted box cue (across SOAs) |
File Name: cueingtask_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| phase | "practice" vs. "test" |
| trialType | "original" vs. "makeup" (= repeats) |
| validTrial | Trials that present targets: 1 = [space] press occurred after onset of target; 0 = otherwise (= early responses + no responses) control trials (optional, no targets presented): 1 = no responses; 0 = [space] press if parameters.runMakeupTrials == true => invalid target trials get repeated at the end of their respective blocks (control trials, if run, are excluded from repeats) |
| testTrialCountTargets | Counts valid test trials that present targets (= valid/invalid cue trials) across all test blocks |
| testTrialCountControls | Counts valid test control trials that do not present targets across all test blocks (control trials are optional, see parameters.runControlTrials) |
| testtrialcountTotal | Counts all valid test trials (valid cues, invalid cues, control trials) across all test blocks |
| cueValidity | 0 = control trial (no target presented) 1 = cue is valid (target appears in cued location) 2 = cue is invalid (target appears in opposite location) |
| cueType | 1 = arrow (endogenous cue) 2 = highlighted location box (exogenous cue) |
| cueLocation | 1 = cue points to left box 2 = cue points to right box |
| soa | The current Stimulus Onset Asynchrony in ms (time btw. cue onset and target onset) |
| trialTimestamp | The script elapsed time (in ms) of trial onset (relative to start of script) |
| latency | The time (in ms) that [space] press was recorded; measured from start of trial |
| rtTimestamp | The script elapsed time (in ms) of the onset of the current response (relative to start of script) Example: 1389ms => the response (or lack thereof) was recorded 1389ms after onset of script |
| lastTargetOnset | The script elapsed time (in ms) of the last target timestamp (relative to start of script) Example: 1250ms => the last target was recorded 1250ms after onset of script |
| response | Scancode of response button pressed (57 = [space]; 0 = no response) |
| rtStimOnset | Response Time (in ms) to target onset: the difference in ms btw. RT_timestamp and lastTargetOnset Example: RT_timestamp - lastTargetOnset = 1389ms - 1250ms = 139ms "No Response" => no [space] press was detected during the trial "Early Response" => [space] press was detected BEFORE the onset of the scheduled target if parameters.runMakeupTrials == true => all 'No Response' and 'Early Response' trials are repeated (applies to valid and invalid cue trials only) |
| countEarlyResponsesTargets | Counts the number of early responses in valid/invalid target trials (test trials only) => early response: a [space] press that occurs before the target appears |
| countNoResponsesTargets | Counts the number of no responses to valid/invalid targets (test trials) |
| countResponsesControls | Counts the number of [space] presses in 'control' trials (if control trials are run) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| runMixedDesign | True(1) false(0), default = arrow cue trials and highlight cue trials are run in a blocked design (order is determined randomly) | |
| runControlTrials | True(1) = control trials (= no target is presented) are run intermixed with target trials false(0), default = no control trials are run | |
| runMakeupTrials | True(1), default = all error trials (valid and invalid cue trials) are repeated at the end of the block (if control trials are run, these are not repeated in case of erroneous responses) false(0) = no error trials are repeated User Interface Parameters | |
| squareHeight | The height of the square in %screenheight | 20% |
| fixationHeight | The height of the fixationheight in %screenheight | 10% |
| leftSquareX | X-coordinate of left square 0% is left side of active canvas - 100% is right side of active canvas (active canvas is the part of the screen that is used for the script) | 25% |
| rightSquareX | X-coordinate of the right square | 75% |
| arrowSize | Proportional height of the arrow Timing Parameters | 10% |
| cueDelay | Delay of cue (in ms) | 1000ms |
| cueDuration | Duration of cue (in ms) | 20ms |
| targetDuration | Duration of target (in ms) - corresponds to response timeout | 1000ms |
| iti | Intertrial interval (in ms) | 1500ms |
| readyDuration | The duration (in ms) that participants are 'forced' to stay on the 'get ready' page | 2000ms |