User Manual: Inquisit Continuous Performance Test, Identical Pairs (CPT-IP)


___________________________________________________________________________________________________________________	

								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