User Manual: Inquisit AX Continuous Performance Test (AX-CPT)


___________________________________________________________________________________________________________________	

						AX Continuous Performance Task (AX-CPT)
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 07-15-2015
last updated:  09-24-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 09-24-2024 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements the AX-CPT procedure, a test of sustained and selective attention.

Reference:

Marcora, S.M,  Staiano, W. & Manning, V. (2009). Mental fatigue impairs physical performance in humans.
J Appl Physiol, 106: 857–864

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
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.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 20 minutes to complete

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________	
The fields in the data files are:

(1) Raw data file: 'ax_cpt_rawdata.iqdat' (a separate script for each participant)

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:					the platform the script was run on (win/mac/ios/android)
date, time: 						date and time script was run 
subject, group: 					with the current subject/groupnumber
session:							with the current session id

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)
										Note: 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)
										Note: for a 20 minutes task (200 trials) -> trials 151-200 are counted towards phase 3
										
blockCode, blockNum:				the name and number of the current block (built-in Inquisit variable)
trialCode, trialNum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file such as feedback trials. Thus, trialNum 
										may not reflect the number of main trials run per block.
									
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
										Note: 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)


(2) Summary data file: 'ax_cpt_summary.iqdat' (Inquisit Lab: one data file for all participants)

inquisit.version: 					Inquisit version run
computer.platform:					the platform the script was run on (win/mac/ios/android)
startDate:							date script was run
startTime:							time script was started
subjectId:							assigned subject id number
groupId:							assigned group id number
sessionId:							assigned session id number
elapsedTime:						time it took to run script (in ms); measured from onset to offset of script
completed:							0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)

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
Note: *Adjustments to z-scores as recommended by:
Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility:
Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)										
=> Adjustments are made if the  FArate (hitRate) = 0 (increased to 0.005) or 1 (decreased to 0.995)*

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)
										Note: 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)
										Note: 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

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
(I) Task: 
20minutes; each trialsequences takes 6000ms => Total of 200 trials (target: 140; notarget= 3 x 20)
=> order of the trialsequences is randomly determined

NOTE: 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

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
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 
___________________________________________________________________________________________________________________
Instructions are provided by Millisecond Software. They can be edited under section
Editable Instructions.

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are: