Return to the Continuous Performance Test, Identical Pairs (CPT-IP) page
						
								CONTINUOUS PERFORMANCE TASK - IDENTICAL PAIRS (CPT-IP) 
							 (4-digit numbers, 2 visual distraction conditions optional)

SCRIPT INFO

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:  01-14-2016 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Copyright ©  01-14-2016 Millisecond Software


BACKGROUND INFO

											*Purpose*
This script implements a subset of the CPT-IP as described in:

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


											  *Task*
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



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:							Inquisit build
computer.platform:				the platform the script was run on
date, time, subject:			date and time script was run with the current subjectnumber 
blockcode, blocknum:			the name and number of the current block
trialcode, trialnum: 			the name and number of the currently recorded trial
									(Note: not all trials that are run might record data) 
/ 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
latency: 						the response latency in ms (measured from onset of stimulus)

Summary Statistics

/targettrials_N: 				stores the number of target trials in the Number condition
/catchtrials_N:					stores the number of catch trials in the Number condition
/fillertrials_N:				stores the number of filler trials in the Number condition
/sumrt_hit_N:					sums up latency of hits (= correct identification of targets) in the Number condition
/sumrt_FAcatch_N:				sums up latency of False Alarms (=response to catch stimuli) in catch trials in the Number condition
/sumrt_RandomError_N:			sums up latency of False Alarms (= response to filler stimuli) in filler trials in the Number condition

/Hit_N:							sums up all the Hits (= correct identification of targets) in the Numbers condition
/Miss_N:						sums up all the Misses (= missed identification of targets) in the Numbers condition
/CRcatch_N:						sums up all the Correct Rejections (= no responses) of catch stimuli in the Numbers condition
/CRfiller_N:					sums up all the Correct Rejections (= no responses ) of filler stimuli  in the Numbers condition
/FAcatch_N:						sums up all the False Alarms (= incorrect responses) to catch stimuli in the Numbers condition
/RandomError_N:					sums up all the False Alarms (= incorrect responses) to filler stimuli in the Numbers condition

(if distractor conditions were run: add the corresponding values for the remaining distractor conditions to the data file under
section DATA
NO = overlapping numbers 
NS = starred numbers)

(2) Summary data file: 'CPT_IP_summary*.iqdat' (a separate file for each participant)

script.startdate:				date script was run
script.starttime:				time script was started
script.subjectid:				subject id number
script.groupid:					group id number
computer.platform:				the platform the script was run on
script.elapsedtime:				time it took to run script (in ms)
/completed:						0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)
/H_N:							Hit rate for numbers condition
/M_N:							Miss rate for numbers condition
/FAc_N:							False Alarm catch rate for numbers condition
/RandomErrors_N:				Error-Response Rate to filler trials for numbers condition
/CRc_N:							Correct Rejection catch rate for numbers condition
/CRf_N:							Correct Rejection filler rate for numbers condition

/meanrt_hit_N:					mean reaction time of hits
/meanrt_FA_N:					mean reaction time of false alarms
/meanrt_RandomErrors_N: 		mean reaction time of random errors (Filler trials)
/dprime_N:						stores d' (parametric measure of discriminability) for Numbers condition
/beta_N:						stores ß (beta) (parametric measure of bias) for Numbers condition


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 in the form of html pages which can be edited.
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:							scancode of the response key
											Note: scancodes under Tools -> Keyboard Scancodes (default: 57)
/responsekey_label:						label of the response key (default: )
/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%)

/stimulusduration:						presentation duration of the targets (default: 50ms)
/blackoutduration:						interstimulusduration (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 regular mode

Copyright © Millisecond Software. All rights reserved.
Contact | Terms of Service | Security Statement | Employment