___________________________________________________________________________________________________________________ INTEGRATED VISUAL AND AUDITORY CONTINUOUS PERFORMANCE TEST (IVACPT) ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 01-31-2014 last updated: 05-24-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 05-24-2023 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements Inquisit's interpretation of the Integrated Visual and Auditory Continuous Performance Test (IVACPT), a test of sustained and selective attention. Reference: E. Strauss, E. M. S. Sherman, & O. Spreen (2006). A Compendium of Neuropsychological Tests: Administration, Norms, and Commentary. 3rd ed., Oxford University Press, New York, (p.575-582) !Note: the script is a best guess effort by Millisecond Software. Differences between the commercially available IVA+Plus CPT and this script are likely. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are presented digits (here: 1 or 2) in visual or auditory form. One of the digits is defined as the target or GO digit (here: 1), the other digit is the nontarget or NOGO digit (here: 2). Participants are asked to press the response key (here: Spacebar) whenever they see OR hear a GO digit (here: 1) but to refrain from responding whenever they see OR hear a NOGO digit (here: 2). ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 25 minutes to complete ___________________________________________________________________________________________________________________ DATA FILE INFORMATION ___________________________________________________________________________________________________________________ The default data stored in the data files are: (1) Raw data file: 'ivacpt_raw*.iqdat' (a separate file 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 phase: "warmup", "practice", "test", "cooldown" 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. set: setcount (5 sets of 100 trials are run; each set consists of 2 Blocks of 50 trials) testblockcount: counts the number of test blocks run counttrials_block: counts the trials run in a block counttrials_total: counts the trials run across all test blocks targetdigit: stores the digit that is assigned target status currentdigit: variable used to select the digit for the current trial modalityType: 1 = visual; 2 = audio trialtype: 1 = Go; 2 = NoGo response: the participant's response for that trial (lbuttondown = left mouse click) correct: the correctness of the response (1 = correct; 0 = otherwise) latency: the response latency in ms; Note: for test trials 'RT test' contains the actual response latency rt_test: stores the latency (in ms) of the left mouse click in test (and practice) trials Hits_V: cumulative count of Hits in visual trials Misses_V: cumulative count of Misses in visual trial FAs_V: cumulative count of False Alarms in visual trials CRs_V: cumulative count of Correct Rejections in visual trials Hits_A: cumulative count of Hits in audio trials Misses_A: cumulative count of Misses in audio trial FAs_A: cumulative count of False Alarms in audio trials CRs_A: cumulative count of Correct Rejections in audio trials (2) Summary data file: 'ivacpt_summary*.iqdat' (a separate file for each participant) 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) meanRT_visualbaseline1- STD_audiobaseline1: store Mean and standard deviations of visual and auditory response latencies (in ms) for the warm-up baseline (1) meanRT_visualbaseline2- STD_audiobaseline2: store Mean and standard deviations of visual and auditory response latencies (in ms) for the cool-down baseline (2) trialcount: counts the trials run across all test blocks propcorrect_overall: the proportion correct responses across all test trials hitRate_overall: the overall hit rate across all test trials (=correct responses in Go trials) hitRate_V: the overall hit rate across all visual test trials (=correct responses in visual Go trials) hitRate_A: the overall hit rate across all auditory test trials (=correct responses in auditory Go trials) FaRate_overall: the overall false alarm rate across all test trials (=error responses in NoGo trials) FaRate_V: the overall false alarm rate across all visual test trials (=error responses in visual NoGo trials) FaRate_A: the overall false alarm rate across all auditory test trials (=error responses in auditory NoGo trials) meanRT_hits - meanRT_FAs mean latencies in ms of hits and false alarms across and separate for visual (V) and auditory (A) conditions Note: see under section Expressions for further summary variables that are calculated and could be added to the datafile (e.g. standard deviations) meanRT_Set12V: mean latency (in ms) of hits for visual trials in the 1. and 2. sets (combined) meanRT_Set45V: mean latency (in ms) of hits for visual trials in the 4. and 5. sets (combined) meanRT_Set12A: mean latency (in ms) of hits for auditory trials in the 1. and 2. sets (combined) meanRT_Set45A: mean latency (in ms) of hits for auditory trials in the 4. and 5. sets (combined) meanRT_moretargetV: mean latency (in ms) of hits for visual trials in high frequency target blocks meanRT_fewertargetV: mean latency (in ms) of hits for visual trials in low frequency target blocks meanRT_moretargetA: mean latency (in ms) of hits for auditory trials in high frequency target blocks meanRT_fewertargetA: mean latency (in ms) of hits for auditory trials in low frequency target blocks Q1_V: Q1 (25th percentile) of visual hit latencies in ms medianRT_hits_V: visual hit latency (in ms) median (50th percentile) Q3_V: Q3 (75th percentile) of visual hit latencies in ms Q1_A: Q1 (25th percentile) of auditory hit latencies in ms medianRT_hits_A: auditory hit latency (in ms) median (50th percentile) Q3_A: Q3 (75th percentile) of auditory hit latencies in ms Subscale Raw Scores: Note: these summary statistics are a best guess effort of Millisecond Software and might not be comparable to the scores obtained with commercially available programs (see section EXPRESSIONS) pra_perc: 'Prudence Auditory Scale Percent (100-((PRA#75) x 100)' => in script: 100 - ((expressions.FAs A75) * 100) prv_perc: 'Prudence Visual Scale Percent (100-((PRV#65) x 100)' => in script: 100 - ((expressions.FAs V65) * 100) via_perc: 'Vigilance Auditory Scale Percent (100-((VIA#45) x 100)' => in script: 100 - ((expressions.Misses A45) * 100) viv_perc: 'Vigilance Visual Scale Percent (100-((VIV#45) x 100)' => in script: 100 - ((expressions.Misses V45) * 100) CONA: 'Consistency Auditory Scale ((Quartile 1 RTQuartile 3RT) x 100)' => in script: (Q1 or visual hit RTs Q3 of visual hit RTs)) * 100 CONV: 'Consistency Visual Scale ((Quartile 1 RTQuartile 3RT) x 100)' => in script: ((Q1 of auditory hit RTs Q3 of auditory hit RTs)) * 100 STMA: 'Stamina Auditory Scale ((Sets 1 + 2)(Sets 4 + 5)) x 100' => in script: ((mean latency of auditory hits in sets 1 and 2 mean latency of auditory hits in sets 4 and 5)) * 100 STMV: 'Stamina Visual Scale ((Sets 1 + 2)(Sets 4 + 5)) x 100' => in script: ((mean latency of visual hits in sets 1 and 2 mean latency of visual hits in sets 4 and 5)) * 100 MNA: 'Mean Auditory reaction time for all trials (Speed Scale)' => in this script: mean latency of hits across all auditory test trials MNV: 'Mean Visual reaction time for all trials (Speed Scale, Max N = 125)' => in this script: mean latency of hits across all visual test trials FOCA: 'Focus Auditory Scale ((1 - (SDMN)) x 100)' => in this script: (1 - (standard deviation of auditory hit latenciesmean hit latency for auditory trials)) * 100 FOCV: 'Focus Visual Scale ((1 - (SDMN)) x 100)' => in this script: (1 - (standard deviation of visual hit latenciesmean hit latency for visual trials)) * 100 RFRA: 'Ratio FrequentRare Auditory RT x 100 (Readiness Scale)' => in this script: (mean auditory hit latency in blocks with frequent targetsmean auditory hit latency in blocks with rare targets) * 100 RFRV: 'Ratio FrequentRare Visual RT x 100 (Readiness Scale)' => in this script: (mean visual hit latency in blocks with frequent targetsmean visual hit latency in blocks with rare targets) * 100 RVAC: Ratio VisualAuditory Combined RT x 100 (Balance Scale) => in this script: (mean visual hit latencymean auditory hit latency) * 100 RWCA: Ratio Warm-upCool-down Auditory RT x 100 (Persistence Scale) => in this script: (mean auditory latency from baseline1 mean auditory latency from baseline2) * 100 RWCV: Ratio Warm-upCool-down Visual RT x 100 (Persistence Scale) => in this script: (mean visual latency from baseline1 mean visual latency from baseline2) * 100 AAQ: 'Auditory Attention Quotient (based on VIA perc + FOCA + MNA) ARCQ: 'Auditory Response Control Quotient (based on: PRA perc + CONA + STMA) VAQ: 'Visual Attention Quotient (based on VIV perc + FOCV + MNV) VRCQ: 'Visual Response Control Quotient (based on: PRV perc + CONV + STMV) FAQ: 'Full Scale Attention Quotient (based on AAQ + VAQ) FRCQ: 'Full Scale Response Control Quotient (based on ARCQ + VRCQ) SMA: 'SensoryMotor Auditory Scale (better of Warm-upCool down RT) => in this script: the faster mean reaction time of audio warm-up (baseline1) or audio cool-down (baseline2) SMV: 'SensoryMotor Visual Scale (better of Warm-upCool down RT) => in this script: the faster mean reaction time of visual warm-up (baseline1) or visual cool-down (baseline2) ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ a) Warm-up Baseline: - 2 blocks (one for visual assessment, one for audio assessment) for warm-up at the beginning of the session - each block runs for parameters.baselinetrialnumber (-> editable parameter, default: 30) - Trial Sequence: after a randomly selected time period (-> list.iti_baseline, editable list) a stimulus is presented and baseline response latencies are measured - default response is a left mouse button press - at the end of each blocks mean reaction times (as well as their stds) are stored for comparison purposes => as a measure of Persistence scores RWCA/RWCV calculate the ratios of the warm-up mean latencies to the equivalent cool-down mean latencies separately for audio (A) and visual (V) latencies. !Note: The Baseline Phase in this script is a best guess effort by Millisecond Software LLC b) Practice: - 1 block of practice trials between baseline blocks and test blocks - practice block is equivalent to a test block with parameters.practicetrialnumber (editable parameter, default: 50) but does not count towards summary scores. - by default, the frequency of targets equals that of non-targets during the practice session. !Note: The Practice Phase in this script is a best guess effort by Millisecond Software LLC c) Test: - 10 Blocks of 50 trials (Total: 500) divided into 5 sets: the first block in a set presents a high frequency of targets (default: 84%); the second block in a set presents a low frequency of targets (16%) (-> parameters.highfrequency, editable parameter) - Half of the trials in each block present visual stimuli, half the trials present auditory stimuli; the order is randomly determined - the order of Go and Nogo trials is randomly determined in each block - The visual stimuli appear in a box in the middle of the screen for parameters.visualstimulusduration (default: 167ms, editable parameter) - the auditory stimuli are played for 500ms (length of the audio files) - to change the length different audio files have to be used - the total trialduration (and the time to collect responses) is parameters.trialduration (default: 1500ms, editable parameter) - response mode is the mouse d) Cooling-down Baseline (same as (a)) - 2 blocks (one for visual assessment, one for audio assessment) for cool-down at the end of the session !Note: The Baseline Phase in this script is a best guess effort by Millisecond Software LLC ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ visual stimuli (default: digits 1 and 2) and audio stimuli can be edited under section Editable Stimuli The visual digits are presented in a frame in the middle of the screen. Size of the digits and the frames can be edited under section Editable Parameters ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ The provided instructions are written 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: /fontsize: fontsize of the visual digits in screen height percentages (default: 10%) /framewidth: the width of the frame in screen height percentages (default: 10%) /frameheight: the height of the frame in screen height percentages (default: 20%) /visualstimulusduration: presentation duration of the visual digits in ms (default: 167ms) Note: duration of audio files is controlled by length of audio file (here: 500ms) /trialduration: the total duration (in ms) of the test trials (= the time participants have to respond) before the next stimulus is presented (default: 1500ms) /trialnumber: the number of trials in a block (here: 50) Note: in this script the 'official' sets of 100 trials each are divided up into 2 blocks of 50 trials: the first block is the one to present a higher frequency of targets and the second block presents a lower frequency of targets /baselinetrialnumber: the number of trials run in a baseline block (default: 35) Note: each baseline block lasts roughly ~1min /practicetrialnumber: the number of trials run during practice Note: 60 trials lasting 1500ms (default) each ~ 1.5min /highfrequency: sets the frequency of targets (nontargets) in the blocks in which targets (nontargets) are presented more frequently (default: 0.84)