Return to the Monetary Incentive Delay Task page
___________________________________________________________________________________________________________________	

									MONETARY INCENTIVE DELAY TASK
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 08-28-2015
last updated:  03-10-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 03-10-2020 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements the Monetary Incentive Delay Task; a task to induce anticipation of reward and 
punishment within a simple reaction time task.

The implemented procedure is based on:

Knutson, B., Westdorp, A., Kaiser, E., & Hommer, D. (2000). FMRI visualization of brain activity during a monetary 
incentive delay task. Neuroimage, 12(1), 20-27

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
Participants are asked to respond to a brief target shape that follows 2 different cues: one an incentive cue 
(e.g. an orange shape) and the other a nonincentive cue (e.g. a blue shape).
Responses to nonincentive targets (aka targets following nonincentive cues) never have an impact on money gained 
or money lost; nevertheless participants receive verbal feedback whether they were fast enough or not. 
Responses to incentive targets have different consequences depending on three different reward conditions: 
Control vs. Reward vs. Punishment.

In the Reward condition, participants who respond fast enough to a target that follows an incentive cue 
get a monetary reward (e.g. $1).
If they are not fast enough, no money is won.
In the Punishment condition, participants who respond fast enough to a target that follows an incentive cue 
do not lose any money (e.g. $1).
If they fail to respond in time, they lose money (e.g. $1).
In the control condition, there is no difference between incentive and nonincentive targets. 
Participants can neither win any money, nor can they lose any.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 30 minutes to complete

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

(1) Raw data file: 'monetaryincentivedelaytask_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
script.sessionid:				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.
										
values.exp_condition:			0 = control condition; 1 = Reward condition; 2 = Punishment Condition									
values.order:					'reward->punish' vs. 'punish->reward'
									
values.incentive_condition:		1 = incentive; 2 = nonincentive
values.delayduration:			the current delay duration in ms
values.targetduration:			the current target duration in ms (also the response window)

expressions.baselineRT60:		the 60th percentile reaction time (in ms) based on mean and standard deviation: 
								X = z-score(60th percentile)*SD + mean
										
stimulusitem:					the presented stimuli in order of trial presentation (only static elements)
response:						the participant's response (here: scancode of response button)
correct:						the correctness of the response (1 = correct; 0 = incorrect)
latency: 						the response latency (in ms)
values.total_control:			the total earned in control condition
values.total_reward:			the total earned in reward condition
values.total_punishment:		the total earned in punishment condition

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

computer.platform:				the platform the script was run on (win/mac/ios/android)
script.startdate:				date script was run
script.starttime:				time script was started
script.subjectid:				assigned subject id number
script.groupid:					assigned group id number
script.sessionid:				assigned session id number
script.elapsedtime:				time it took to run script (in ms); measured from onset to offset of script
script.completed:				0 = script was not completed (prematurely aborted); 
								1 = script was completed (all conditions run)
									
values.order:					'reward->punish' vs. 'punish->reward'

expressions.meanRT_baseline:the baseline mean reaction time in ms
expressions.SD_baseline:		the standard deviation of the baseline reaction times in ms

expressions.baselineRT60:		the 60th percentile reaction time (in ms) based on mean and standard deviation: 
								X = z-score(60th percentile)*SD + mean

values.total_control:							the total earned in control condition
values.total_reward:							the total earned in reward condition
values.total_punishment:						the total earned in punishment condition
expressions.propCorrect_IncentiveReward:		proportion correct for incentive trials in the reward condition
expressions.propCorrect_NonIncentiveReward:		proportion correct for nonincentive trials in the reward condition
expressions.propCorrect_IncentivePunishment:	proportion correct for incentive trials in the punishment condition
expressions.propCorrect_NonIncentivePunishment:	proportion correct for nonincentive trials in the punishment condition
expressions.propCorrect_IncentiveControl:		proportion correct for incentive trials in the control condition
expressions.propCorrect_NonIncentiveControl:	proportion correct for nonincentive trials in the control condition	

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

3 conditions: Control vs. Reward vs. Punishment, tested within in a blocked design.
All participants start with the Control condition. 
The assignment to Reward -> Punishment vs. Punishment -> Reward is counterbalanced by groupnumber
(odd groupnumbers start with Reward; even groupnumbers start with Punishment)

In each condition: 
- 100 trials
	- 20 incentive trials
	- 80 nonincentive trials
	=> The order is randomized with the constraint that incentive trials cannot be presented consecutively
- the color for incentive/nonincentive trials is different for each condition

Trial Sequence (6000ms):
cue (500ms) -> random delay* (4000-4500ms)-> target (variable, duration = 60th percentile RT)** -> Feedback (500ms) -> ITI (variable to round trial sequence duration to ~6s)

*Random Delay: is controlled by list.delay under section Editable Lists
**Target Durations: in this script, the targetduration is set to the 60th percentile RT as assessed during baseline ~ 60% correct performance
Knutson et al (2000) report to have used targetdurations beween 160ms and 260ms (p.21)
Note: if the 60th percentile > 500ms the script aborts automatically (500ms is the max. possible target duration given all other default trial durations)

___________________________________________________________________________________________________________________
STIMULI
___________________________________________________________________________________________________________________
cues/targets: squares (size can be controlled via parameters.stimsize under section Editable Values)
targets: white in all conditions
Control: incentive cue: red; nonincentive cue: green
Reward: incentive cue: orange; nonincentive cue: blue
Punishment: incentive cue: yellow; nonincentive cue: pink

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
are not original to Knutson et al (2000) - they can be edited under 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:				the response key (default: " " = Spacebar)

/cueduration:				the duration of the cue in ms (default: 500)
/feedbackduration:			the duration of the feedback in ms (default: 500)
/trialduration:				the duration of a complete trial sequence in ms (default: 6000)
/Reward_win:				the number of points ($) won in the Reward condition (default: 1)
/Punishment_loss:			the number of points ($) lost in the Punishment condition (default: 1)
/punishment_startamount:	the amount of money provided at the beginning of the punishment condition (default: 20)
/reward_startamount:		the amount of money provided at the beginning of the reward condition (default: 0)
/control_startamount:		the amount of money provided at the beginning of the control condition (default: 0)
/stimsize:					the size  of the cues/targets as percentages of canvas height (default: 10%)

/presenttotal:				true = present the "Total earned" throughout Reward and Punishment Blocks.
							false = does not present the "Total earned" throughout Reward and Punishment Blocks.


Note: the expressions under Editable values can be changed to change the 10 targetdurations.