Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 15, 2015
Last Modified: January 24, 2024 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the AX-CPT procedure, a test of sustained and selective attention.
Marcora, S.M, Staiano, W. & Manning, V. (2009). Mental fatigue impairs physical performance in humans. J Appl Physiol, 106: 857–864
20 minutes
Participants view sequences of letters: cue-distractor-distractor-probe and have to decide if the probe is a target (cue = A, probe = X) or not. If the probe is a target, participants press the 'E'; if it's not a target they press the 'I' key.
(I) Task:
20minutes; each trialsequences takes 6000ms => Total of 200 trials (target: 140; notarget= 3 x 20)
=> order of the trialsequences is randomly determined
the task duration in this script is determined by the number of trial sequences that span the predetermined taskduration_min
(e.g. 20 min)
given the default letterduration (300ms) and ISI (1200ms) (each trial sequence: cue -> distractor -> distractor -> probe => 6000ms).
Trialnumber instead of timing is used to determine the length of the task to ensure that the predetermined probability of targettrials
and nontargettrials is indeed run.
(II) Types of Trials:
70% Target Trial Sequences AX
10% NoTarget Trial Sequences AY
10% NoTarget Trial Sequences BX
10% No target Trial Sequences BY
(III) Default Trial Sequence:
Cue (300ms)-> ISI(1200ms)->Distractor(300ms)->ISI(1200ms)->Distractor(300ms)->ISI(1200ms)->Probe(300ms)->ISI(1200ms) =>
Response measured from onset of Probe; time to respond until end of ISI.
Probe is presented for 300ms even if response occurs before probe is erased.
To be able to give errorfeedback immediately (or almost immediately) following the response; the ISI after the probe
is handled by a separate trial. If no response occurs, the error feedback adds about 50ms to the trialduration
(IV) Performance Feedback:
Performance Feedback is presented after every 10min (default) -> after every 100 trials
Target Phases (counts hits for first and last 15 minutes of the test):
Phase 1 (for 20 minutes test): first 5 minutes -> trials 1-50
Phase 3 (for 20 minutes test): last 5 minutes -> trials 151-200
Letters:
• Default Font: Arial
• Size: can be set under section Editable Parameter (Size is proportional to monitor height)
• Cue and Probe letters: red on black
• Distractors: white on black
Errorfeedback: 50ms beep (can be edited under section Editable Stimuli)
Instructions are provided by Millisecond. They can be edited under section
Editable Instructions.
File Name: ax_cpt_summary.iqdat' (Inquisit Lab: one data file for all participants)
| 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 |
| countCorrect | Counts all correct responses |
| percentCorrect | Overall percent correct |
| meanRT | Overall mean latency of correct responses |
| signalTrialCount | Number of signal trials (AX) |
| hits | Number of correct responses in signal trials (AX) |
| hitRate | Proportion correct responses in signal trials (AX) |
| noRespSignal | The number of no responses in signal trials (AX) |
| noiseTrialCount | Number of noise trials (BX,BY,AY) |
| fas | Number of times the signal response key was pressed in noise trials (incorrect response but not a noResponse) = False Alarms |
| faRate | Proportion signal response key presses in noise trials |
| noRespNoise | Number of no responses in noise trials |
Signal Detection Measures |
|
| zHitRateOverall | The calculate z-score of the overall hitRate |
| zFARateOverall | The calculated z-score of the overall falseAlarm/commission rate |
| dPrimeOverall | Computes d' (parametric measure of discriminability btw. signals and noise) => Range (in this script) -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (go stims) were overall distinguished from noise (nogo stims) (d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets) |
| cOverall | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) (same for each phase) |
| nrTrials | Number of trials to run in the predetermined time with the predetermined stimulus durations |
| nrTargetTrialsAX | Number of AX trials to run for the predetermined duration (default: for 20 minutes) |
| nrTargetTrialsAY | Number of AY trials to run for the predetermined duration (default: for 20 minutes) |
| nrTargetTrialsBX | Number of BX trials to run for the predetermined duration (default: for 20 minutes) |
| nrTargetTrialsBY | Number of BY trials to run for the predetermined duration (default: for 20 minutes) |
| phase1Trials | Last trial run for critical phase 1 time period (default: trials run in the first 5 minutes) for a 20 minutes task (200 trials) -> trials 1-50 are counted towards phase 1 |
| phase3Trials | Trial numbers higher than this number count towards trials run for critial phase 3 (default: trials run in last 5 minutes) for a 20 minutes task (200 trials) -> trials 151-200 are counted towards phase 3 |
| feedbackTrialInterval | Number of trials that are run before feedback is given for the predetermined feedback interval |
File Name: ax_cpt_rawdata.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 |
| nrTrials | Number of trials to run in the predetermined time with the predetermined stimulus durations |
| nrTargetTrialsAX | Number of AX trials to run for the predetermined duration (default: for 20 minutes |
| nrTargetTrialsAY | Number of AY trials to run for the predetermined duration (default: for 20 minutes) |
| nrNontargetTrialsBX | Number of BX trials to run for the predetermined duration (default: for 20 minutes) |
| nrNontargetTrialsBY | Number of BY trials to run for the predetermined duration (default: for 20 minutes) |
| phase1Trials | Last trial run for critical phase 1 time period (default: trials run in the first 5 minutes) for a 20 minutes task (200 trials) -> trials 1-50 are counted towards phase 1 |
| phase3Trials | Trial numbers higher than this number count towards trials run for critial phase 3 (default: trials run in last 5 minutes) for a 20 minutes task (200 trials) -> trials 151-200 are counted towards phase 3 |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| countTrials | Count of the trialsequences |
| trialType | 1 = AX (target); 2 = AY; 3 = BX; 4 = BY |
| phase | 1 = trials run in the first 5 minutes (default; see parameters.targetphaseduration_min) 2 = trials run in the middle 3 = trials run in the last 5 minutes (default; see parameters.targetphaseduration_min) |
| cue | Stores the letter presented as the cue |
| probe | Stores the letter presented as the probe |
| distractor1 | Stores the letter presented as the distractor1 |
| distractor2 | Stores the letter presented as the distractor2 |
| stimulusItem | The presented stimuli in order of trial presentation only statically presented items |
| response | The participant's response (scancode of response key) 18 = E = target 23 = I = nontarget |
| correct | The correctness of the response (1 = correct; 0 = incorrect) |
| latency | The response latency (in ms); measured from onset of probe (2nd red letter) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Timing Parameters |
||
| taskDurationMin | Duration of task in minutes | 20 |
| feedbackIntervalsMin | Feedback intervals in min | 10 |
| targetPhaseDurationMin | The duration of the critical phases in minutes | 5 |
| letterDurationMs | The duration of the letters in ms | 300 |
| isiMs | The duration of the interstimulusintervals (offset of one letter to onset of next) in ms | 1200 |
| performanceFeedbackDuration | Sets the duration of the performance feedback in ms | 5000 |
Probability Settings |
||
| probTargetTrialsAX | Frequency of targettrials AX | 0.7 |
| probNontargetTrialsBX | Frequency of BX no target trials | 0.1 |
| probNontargetTrialsBY | Frequency of BY no target trials | 0.1 |
| probNontargetTrialsAY | Frequency of AY no target trials | 0.1 |
Sizing Parameters |
||
| letterHeight | Sets the letterheight in proportion of the canvas height | 5% |
Responsekeys |
||
| responseKeyLeft | Character label of the target key (on the left) | "E" |
| responseKeyRight | Character label of the nontarget key (on the right) | "I" |