User Manual: Inquisit Stop Signal Task (SST)


___________________________________________________________________________________________________________________	

									Stop Signal Task (SST)
___________________________________________________________________________________________________________________

Script Author: David Nitz (dave@millisecond.com) for Millisecond Software, LLC
last updated:  06-30-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 06-30-2020 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
	This script implements the 'Stop Signal Task' as described in:
	Verbruggen, F., Logan, G. D., & Stevens, M. A. (2008). STOP-IT: Windows executable software for the stop-signal paradigm. 
	Behavior Research Methods, 40(2), 479-483.
	
	Additional References:
	Logan, G. D. (1994). On the ability to inhibit thought and action: A user’s guide to the stop signal paradigm. In D. Dagenbach 
	& T. H. Carr, Inhibitory processes in attention, memory, and language (pp. 189-239). San Diego: Academic Press	

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
After looking at a fixation circle, participants are presented an arrow withing this circle that either points right or left. 
The task is to press the left response key if  the arrow points to the left and press the right response key if the arrow 
points to the right UNLESS a signal beep is played AFTER the presentation of the arrow. In this case the response should be 
stopped before execution. 

The delay between presentation of arrow and signal beep (starting at 250ms) is adjusted up or down (by 50ms) depending on performance. 
The delay gets longer if the previous signal stop was successful (up to 1150ms) and it gets smaller if the previous signal stop was not 
successful (down to 50ms). The stimlus onset asynchrony between the start of each trial (onset of fixation circles) is 2000ms.
Participants can respond up until the next trial starts.
									  
___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 12 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________	
The default data stored in the data files are:

(1) Raw data file: 'stopsignalTask_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)
blocknumber:					Number of Test Blocks (custom variable)
expressions.blocknumber_adj:	adjusted number of test blocks

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. 

trialnumber:					Number of trials run in a block (custom variable)
trialnumber_adj:				adjusted Number of trials run in a block (does not count the first one)

stimulus:						1 = left arrow, 2 = right arrow
signal:							1 = presence of an auditory signal, 0 otherwise 
                                                      
ACC:							0 = incorrect; 2 = correct                                                                
response:						key pressed by subject (scancode of response button pressed; 32 = D; 37 = K)
responseCategory:				1 = left; 2 = right; 0 = no response
rt:								reaction time in ms (0 = no response)

ns_ntotal :						total number of ns trials 
ss_ntotal:						total number of ss trials  
ssd:							ssd for the current trial
p_rs:							probability of reacting in ss trials => p(response|signal)
ssd: 							mean stop signal delays (in ms) in ss trials 

ssrt: 							estimation of the covert stop signal reaction time in ms (SSRT) 
								(the time required to stop the initiated go-process)
								=> the slower the SSRT the more difficult to stop the go-process 
									=> the faster the SSRT the easier to stop the go-process
									(measure of inhibition ability)
									
sr_rt:              			mean reaction time (in ms) in ss trials	in ms
ns_rt: 							mean reaction time (in ms) in correct ns trials, across blocks => 'choice reaction time'
ns_hit :						percentage of mean number of hits in ns trials 
miss: 							percentage of mean number of misses in ns trials
 
z_score:						z-score of p(response|signal) with
								expected mean = n*p; standard deviation = sqrt(n*p*q); 
								with n= number of stop signal trials; p = parameters.p; q = 1-p
									
p_value:						p-value	that corresponds to the calculated z-value							
								NOTE: z-score and corresponding p-value indicate whether a participant inhibited significantly more or less than 
								50% of the time	(see parameters.p)
								(Verbruggen et al: for participants who inhibited significantly more or less than 50% of the time
								the subtraction method to calculate SSRT (see SSRT) cannot be used)

(2) Summary data file: 'stopsignaltask_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)
								
p_rs:							probability of reacting in ss trials => p(response|signal)
ssd: 							mean stop signal delays (in ms) in ss trials
 
ssrt: 							estimation of the covert stop signal reaction time in ms (SSRT) 
								(the time required to stop the initiated go-process)
								=> the slower the SSRT the more difficult to stop the go-process 
								=> the faster the SSRT the easier to stop the go-process
								(measure of inhibition ability)

sr_rt:             				mean reaction time in ss trials	in ms
ns_rt: 							mean reaction time in correct ns trials, across blocks => 'choice reaction time'
ns_hit :						percentage of mean number of hits in ns trials 
miss: 							percentage of mean number of misses in ns trials 
z_score:						z-score of p(response|signal) with expected mean = n*p; standard deviation = sqrt(n*p*q)

p_value:						p-value	that corresponds to the calculated z-value							
								NOTE: z-score and corresponding p-value indicate whether a participant inhibited significantly more or less than 
								50% of the time	(see parameters.p)
								(Verbruggen et al: for participants who inhibited significantly more or less than 50% of the time
								the subtraction method to calculate SSRT (see SSRT) cannot be used)	

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	
* tests Stop Signal Delays between: 50ms (min) - 1150ms (max) with adjustment steps = 50ms
* The initial Stop Signal Delay is set to 250ms
* The total trialduration of each signal and no signal trial is 2000ms	(= SOA between onsets of fixation stims)
* half the arrows in each trialtype point left, the other right

1 Practice Block: 32 trials (8 signal trials : 24 no signal trials = 1:3)
3 Test Blocks: 64 trials each (16 signal trials : 48 no signal trials = 1:3)	

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
see section Editable Stimuli

___________________________________________________________________________________________________________________	
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:

	Adjustable Task Parameters:
	- resetpracticessd			Boolean switch to determine whether SSD should be reset to 
								start value (parameters.ssd_start) after practice block. Default is 'false'.
	- leftkey					Keyboard scan code for the left response key. Default is "D".
	- rightkey					Keyboard scan code for the right response key. Default is "K".
	- minssd					Minimum allowable Stop Signal Delay (SSD). Default is '50'.
								Given that a '0' delay does not make sense, this value should usually 
								be set to match parameters.adjustment.
	- maxssd					Maximum allowable Stop Signal Delay (SSD). Default is '1150'.
								Given the default trial/stimulus timing
								'/ stimulustimes = [0=fixation; 250=stim; 1500=erasestim]', this value 
								should be chosen such that 'maxssd + stopsignalduration <= 1250'.
								Otherwise the Stop Signal would occur *after* the given trial has 
								already terminated, which, of course, would not make any sense.
	- adjustment				Amount in ms by which SSD should be in- or decreased depending on 
								successful or unsuccessful response inhibition. Default is '50'.
	- ssd_start					Initial Stop Signal Delay (SSD) in ms. Default is '250'.
	- pretrialpause				Duration of pretrialpause in ms. Default is '500'.
	- trialduration				Total duration for a given trial in ms. Default is '2000'.
	- waitbetweenblocks			Wait period between blocks in seconds. Default is '10'.
	- p							Target response inhibition probability. Default is '0.5'.
								Do *not* change this value unless you are very familiar with
								the Stop Signal paradigm.