___________________________________________________________________________________________________________________ CONTINUOUS PERFORMANCE TASK - IDENTICAL PAIRS (CPT-IP) (4-digit numbers, 2 visual distraction conditions optional) ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC script is in part based on Millisecond Software's IMTDMT.iqx by David Nitz Date: 12-06-2013 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 a subset of the CPT-IP, a test of sustained and selective attention. Reference: Cornblatt, B. A., Risch ,N. J., Faris,G., Friedman,D.& Erlenmeyer- Kimling, L. (1988). The continuous performance test, identical pairs version (CPT-IP): I. New findings about sustained attention in normal families. Psychiatry Research 26, 223-238. The default variant of the CPT-IP implemented: 4-digit numbers without distractions (default) 2 number distraction conditions are optional: 4-digit number overlapping/4-digit number surrounded by stars Adjustments to z-scores as described 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) ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants work through several conditions of a Continuous Performance Task with the task to identify identical pairs. Participants are presented a continuous stream of 4-digit numbers, one at a time, in the middle of the screen at a fairly fast presentation rate. The task is to press a response key any time a number is repeated (=target; Go trials). For non-repeating stimuli, including lures that look similar to the previous stimulus (= catch stimulus), participants are instructed to wait for the next target (NoGo trials). 2 visual distraction conditions can be added: (A) using overlapping 4-digit numbers and (B) using stars around the the 4-digit numbers ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 3 minutes to complete ___________________________________________________________________________________________________________________ DATA FILE INFORMATION ___________________________________________________________________________________________________________________ The default data stored in the data files are: (1) Raw data file: 'cpt_ip_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 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. trialtype: stores the type of the trial: 1 = target; 2 = catch; 3 = filler stim: the currently presented 4-digit number response: the participant's response (scancode of response code or 0 = no response) correct: the correctness of the response (1 = correct; 0 = otherwise) latency: the response latency in ms (measured from onset of stimulus) (2) Summary data file: 'cpt_ip_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) Note: N = Numbers Condition list.hit_N.itemCount: the number of target (signal) trials run in the N = Numbers condition H_N: Hit rate in the N = Numbers condition M_N: Miss rate in the N = Numbers condition list.FAcatch_N.itemCount: the number of catch (noise) trials run in the N = Numbers condition FAc_N: False Alarm catch rate in the N = Numbers condition CRc_N: Correct Rejection catch rate in the N = Numbers condition RandomError_N.itemCount: the number of filler trials run in the N = Numbers condition (filler = obviously different numbers) RandomErrors_N: Error-Response Rate to filler trials in the N = Numbers condition CRf_N: Correct Rejection filler rate in the N = Numbers condition meanrt_hit_N: mean reaction time of hits in the N = Numbers condition meanrt_fa_N: mean reaction time of false alarms in the N = Numbers condition meanrt_randomerrors_N: mean reaction time of random errors (Filler trials) in the N = Numbers condition Note: z-score calculations: adjustments (see Gregg & Sedikides, 2010, p.148) If the hit rate / FA rate is 0 => 0.005 is used instead (aka 0.005 is added to the hit/FA rate) IF the hit rate / FA rate is 1.0 => 0.995 is used instead (aka 0.005 is subtracted fro m the hit/FA rate) zhits_N: z-score of the hit rate zFAs_N: z-score of the false alarm rate dprime_N: stores d' (parametric measure of discriminability/sensitivity) for Numbers condition (expressions.z_Hit-expressions.z_Fa) beta_N: stores ß (beta) (parametric measure of bias) for Numbers condition c_N: criterium measure (response bias, independent of changes in dprime) The absolute value of c provides an indication of the strength of the subject bias negative when participant more likely to report that signal is present positive for favoring caution IF distractor conditions are to be run: add the corresponding values for the remaining distractor conditions: NO = overlapping numbers NS = starred numbers ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ By default, this script runs 1. 1 Practice Block of 50 trials 2. 1 Number Block (no distractions) of 150 trials target trials: 30 catch trials: 28 filler trials: 92 !!!Note: This script can also run 2 distraction conditions: (A) degraded numbers: numbers are partly overlapping (block.numbers_overlap) (B) starred numbers: numbers are surrounded by a circle of 5 randomly placed stars (block.numbers_stars) To add distraction conditions, go to section EXPERIMENT Trials: 3 types 1. Filler trials: not repeating, look different (at least 2 digits differ) from previous stimulus 2. Target trials: repeat previous stimulus 3. Catch trials: similar to previous stimulus (only 1 digit differs) - Target and Catch trials call filler items => at least one filler item in between targets - the numbers are presented for 50ms (editable value) and then blacked-out for 950ms => SOA = 1000ms Participants have the entire 1000ms to respond Notes: If distractor conditions are run, summary statistics need to be added to data files accordingly ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ white 4-digit numbers (can repeat digits) on a black background in monospaced 'Courier New'. (a monospaced font was chosen to ensure that all digits get the same screen space) Size can be adjusted via Editable Parameters - > parameters.height_digits ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ Instructions are provided by Millisecond Software LLC. They are not original to Cornblatt et al (1988). -> 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: /responsekey: response key (default: spacebar as " ") /height_digits: defines the fontsize of the digits in screen height percentage (default: 20%) Note: Cornblatt et al (1988) used the following sizes on their machine Numbers: - ~each letter 1.5cm wide - ~each letter 2.2 cm high - ~8cm wide altogether (on a 15inch monitor, 20% roughly translates into the suggested sizes) /height_stars: defines the size of the distractor stars in screen height percentage (default: 10%) /getreadyduration: the duration (in ms) of the get-ready trial (default: 2000ms) /stimulusduration: presentation duration (in ms) of the targets (default: 50ms) /blackoutduration: interstimulusduration in ms (default: 950ms) => note: stimulusduration and interstimulusduration together provide a stimulus onset asynchrony (SOA) = 1000ms /minhdist: minimum number of digits that need to differ between a new filler stimulus and a previous stimulus -comparison is done by comparing digits at the same position (default: 2) /debugmode: 1 = runs debugmode; 0 = runs test mode