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
This script implements a subset of the CPT-IP, a test of sustained and selective attention.
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)
3 minutes
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
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
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 are provided by Millisecond.
They are not original to Cornblatt et al (1988).
-> see script "cpt_ip_instructions_inc.iqjs"
File Name: cpt_ipSummary*.iqdat
| Name | Description |
|---|---|
| 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 |
File Name: cpt_ipRaw*.iqdat
| Name | Description |
|---|---|
| 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) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
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 |
||
| 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 mode | 0 |