Continuous Performance Test - Identical Pairs - CPT-IP

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

script is in part based on Millisecond's IMTDMT.iqjs by David Nitz

Created: January 06, 2013

Last Modified: January 27, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements a subset of the CPT-IP, a test of sustained and selective attention.

References

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)

Duration

3 minutes

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

Procedure

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

!!!
This script can also run 2 distraction conditions:
(A) degraded numbers: numbers are partly overlapping (block.numbersOverlap)
(B) starred numbers: numbers are surrounded by a circle of 5 randomly placed stars (block.numbersStars)

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


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.heightDigits

Instructions

Instructions are provided by Millisecond.
They are not original to Cornblatt et al (1988).
-> see script "cpt_ip_instructions_inc.iqjs"

Summary Data

File Name: cpt_ipSummary*.iqdat

Data Fields

NameDescription
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
list.hitN.itemCount The number of target (signal) trials run in the N = numbers condition
hitRateN Hit rate in the N = numbers condition
missRateN Miss rate in the N = numbers condition
list.faCatchN.itemCount The number of catch (noise) trials run in the N = numbers condition
faCatchRateN False Alarm catch rate in the N = numbers condition
crCatchRateN Correct Rejection catch rate in the N = numbers condition
randomErrorN.itemCount The number of filler trials run in the N = numbers condition (filler = obviously different numbers)
randomErrorsN Error-Response Rate to filler trials in the N = numbers condition
crFillerRateN Correct Rejection filler rate in the N = numbers condition
meanRTHitsN Mean reaction time of hits in the N = numbers condition
meanRTFaN Mean reaction time of false alarms in the N = numbers condition
meanRTRandomErrorsN Mean reaction time of random errors (Filler trials) in the N = numbers condition
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)
zHitsN Z-score of the hit rate
zFAsN Z-score of the false alarm rate
dPrimeN Stores d' (parametric measure of discriminability) for numbers condition
(expressions.zHit-expressions.zFA)
betaN Stores ß (beta) (parametric measure of bias) for numbers condition
cN 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

Raw Data

File Name: cpt_ipRaw*.iqdat

Data Fields

NameDescription
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
blockCode Name of the current block
blockNum Number of the current block
trialCode Name of the current trial
trialNum Number of the current trial
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)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Sizing Parameters
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)
2
heightDigits Defines the fontsize of the digits in screen height percentage
Cornblatt et al (1988) used the following sizes on their machine numbers
- ~each letter 1.5cm wide
- ~each letter 2.2 cm high
20%
- ~8Cm Wide Altogether
(On A 15Inch Monitor, 20% Roughly Translates Into The Suggested Sizes)
heightStars Defines the size of the distractor stars in screen height percentage 10%
Timing Parameters
getReadyDuration The duration (in ms) of the get-ready trial 2000
stimulusDuration Presentation duration (in ms) of the targets 50
blackoutDuration InterstimulusDuration in ms
=> note: stimulusDuration and interstimulusDuration together provide a
stimulus onset asynchrony (SOA) = 1000ms
950
Responsekey
responseKey Response key " "
Debug Settings
debugmode 1 = runs debugmode; 0 = runs test mode0