Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: June 16, 2015
Last Modified: April 01, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements an Inquisit version of the Montreal Imaging Stress Test as (MIST) described in Dedovic et al (2005). The MIST was designed to induce moderate psychosocial stress in a functional imaging environment (fMRI or PET scans). It combines difficult mental arithmetic under time pressure with negative performance evaluations.
Because the MIST was developed as a stress test to be used under imaging conditions (e.g. fMRI, PET), where participants might have limited access to keyboards/touchscreens, the responses are collected by mouse input. This script is a best guess effort of Millisecond based on published information.
Dedovic, K.; Renwick, R,; Khalili Mahani, N.; Engert, V.; Lupien, S.J. & Pruessner, J.C. (2005). The Montreal Imaging Stress Task: using functional imaging to investigate the effects of perceiving and processing psychosocial stress in the human brain. J Psychiatry Neurosci, 30, 319-325.
40 minutes
Participants are asked to solve arithmetic problems of 5 different difficulty levels under 3 different stress conditions. In the high stress condition (experimental condition), the participant's performance is manipulated to be relatively low by a) timing performance (e.g. if too many are correct, less time is allocated) b) comparing the participant's performance to the "average" performance (80-90% correct) by means of a "performance bar" In the control condition, the participants are asked to solve the same problems but without overt timing and without presenting the performance bar. In the rest condition, participants are simply asked to rest. In all conditions the participants are asked to control the selection of the solution by "dialing" via mouse selections: left button (dials counterclockwise), right button (dials clockwise), middle button (submits the response).
this script uses pregenerated sequences for the 5 levels of difficulty. The problems used can be edited under
section "Editable Lists"
this script uses instructions that are not original to Dedovic et al (2005).
They can be edited in script montrealstresstest_instructions_inc.iqjs (language-dependent)
File Name: montrealstresstest_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| 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 |
| meanRTComplete1 | Stores the mean response time in ms of level 1 training trials (not corrected for accuracy) |
| meanRTComplete2 | Stores the mean response time in ms of level 2 training trials (not corrected for accuracy) |
| meanRTComplete3 | Stores the mean response time in ms of level 3 training trials (not corrected for accuracy) |
| meanRTComplete4 | Stores the mean response time in ms of level 4 training trials (not corrected for accuracy) |
| meanRTComplete5 | Stores the mean response time in ms of level 5 training trials (not corrected for accuracy) |
| numberCorrectExp | Number of correctly solved experimental trials |
| percentCorrectExp | Percent correct of experimental trials across levels |
| percentCorrectExp1 | Percent correct of level 1 experimental trials |
| percentCorrectExp2 | Percent correct of level 2 experimental trials |
| percentCorrectExp3 | Percent correct of level 3 experimental trials |
| percentCorrectExp4 | Percent correct of level 4 experimental trials |
| percentCorrectExp5 | Percent correct of level 5 experimental trials |
| meanrtExp | Mean correct response latency in ms of experimental trials across levels |
| meanrtExp1 | Mean correct response latency in ms of level 1 experimental trials |
| meanrtExp2 | Mean correct response latency in ms of level 2 experimental trials |
| meanrtExp3 | Mean correct response latency in ms of level 3 experimental trials |
| meanrtExp4 | Mean correct response latency in ms of level 4 experimental trials |
| meanrtExp5 | Mean correct response latency in ms of level 5 experimental trials |
| numberCorrectExp | Number of correctly solved control trials |
| percentCorrectCtrl | Percent correct of control trials across levels |
| percentCorrectCtrl1 | Percent correct of level 1 control trials |
| percentCorrectCtrl2 | Percent correct of level 2 control trials |
| percentCorrectCtrl3 | Percent correct of level 3 control trials |
| percentCorrectCtrl4 | Percent correct of level 4 control trials |
| percentCorrectCtrl5 | Percent correct of level 5 control trials |
| meanrtCtrl | Mean correct response latency in ms of control trials across levels |
| meanrtCtrl1 | Mean correct response latency in ms of level 1 control trials |
| meanrtCtrl2 | Mean correct response latency in ms of level 2 control trials |
| meanrtCtrl3 | Mean correct response latency in ms of level 3 control trials |
| meanrtCtrl4 | Mean correct response latency in ms of level 4 control trials |
| meanrtCtrl5 | Mean correct response latency in ms of level 5 control trials |
| countExp1 | Stores the number of level 1 concluded experimental trials |
| countExp2 | Stores the number of level 2 concluded experimental trials |
| countExp3 | Stores the number of level 3 concluded experimental trials |
| countExp4 | Stores the number of level 4 concluded experimental trials |
| countExp5 | Stores the number of level 5 concluded experimental trials |
| countCtrl1 | Stores the number of level 1 concluded control trials |
| countCtrl2 | Stores the number of level 2 concluded control trials |
| countCtrl3 | Stores the number of level 3 concluded control trials |
| countCtrl4 | Stores the number of level 4 concluded control trials |
| countCtrl5 | Stores the number of level 5 concluded control trials |
File Name: montrealstresstest_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| order | Order of Rest, Experimental and Control Condition |
| condition | 1 = training 2 = experimental 3 = control 4 = rest |
| level | Stores the level of the presently presented problem |
| problem | Stores the presently presented problem |
| solution | Stores the solution to the presently presented problem |
| dialPosition | The currently 'highlighted' dial |
| response | The participant's response |
| acc | 0 = Timeout 1 = correct response 2 = error response |
| error | 1 = error: erroneous response or timeout 0 = correct response |
| latency | The response latency (in ms) of the current trial |
| rtComplete | Stores the response latency in ms of the current complete training/control/experimental problem |
| trialTimeout | Stores the max. duration in ms of the currently complete training/control/experimental task |
| currentTimeoutExp | Stores the max. duration in ms of the presented segment of the current experimental task ( each dial press starts a new trial segment, so trialtimeout needs to be continuously adjusted) |
| increaseTimeout | 1 = the last 3 experimental responses were incorrect or timeouts 0 = otherwise |
| decreaseTimeout | 1 = the last 3 experimental responses were all correct 0 = otherwise |
| meanLast3Errors | For exp condition only: calculates the the mean error performance during the last 3 trials (is set to -1 if there are fewer than 3 trials to report on) |
| currentMeanRT | The RT (in ms) of the last three responses |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Timing Parameters |
||
| trainingTimeout | Sets the timeout for the training block (per difficulty level) in ms | 60000 |
| experimentalBlockTimeout | Sets the timeout of the individual experimental block (per difficulty level) in ms | 120000 |
| feedbackDuration | Sets the feedback duration in ms | 500 |
| restDuration | Sets the duration of the rest period in ms | 60000 |
| itiTest | The default length of the intertrial interval in ms in experimental and control task that would run if the response latency of the currently solved problem was equal to the one determined during training | 1000 |
Ui Paramaters |
||
| whitePerformance | Sets the performance proportion of the performance bar that appears white performance > 80% appears green | 80% |
| redPerformance | Sets the performance proportion of the performance bar that appears red | 60% |
| averagePerformance | Sets the average performance that participant compares to -> used for the average performance triangle | 85% |
| inactiveDialButtonColor | The color of the digit buttons (during experiment) when not active | "blue" |
| activeDialButtonColor | The color of the digit buttons (during experiment) when active the dial colors on the instruction pages need to be updated manually | "orange" |