Optimized Mnemonic Similarity Task (oMST): Stimuli Set 6, order: "611" Main Script to run: omst_set6_611.iqjs ___________________________________________________________________________________________________________________ Optimized Mnemonic Similarity Task (oMST) - also referred to as the continuous MST- * keyboard version * ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 07-25-2024 last updated: 07-29-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 07-29-2024 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements Millisecond Software's version of the Optimized Mnemonic Similarity Task (oMST) (Start et al, 2023) with keyboard input. The oMST is a continous form of the classic Mnemonic Similarity Task (MST), an object recognition test sensitive to changes in memory performance. Whereas the MST uses a two phase testing paradigm, the oMST combines both phases into a single one (thus it's also referred to as the continuous MST), cutting down on testing time. //////////////// ///Reference:/// //////////////// Stark CEL, Noche JA, Ebersberger JR, Mayer L and Stark SM (2023) Optimizing the mnemonic similarity task for efficient, widespread use. Front. Behav. Neurosci. 17:1080366. doi: 10.3389/fnbeh.2023.1080366 the original implementation can be downloaded here: https://github.com/celstark/oMST /////DISCLAIMER//// Millisecond attempts to replicate the original task as faithfully as possible but differences between the implementations likely still exist. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants see a sequence of 128 objects, one after the other. For each object they have to decide whether it is NEW (never seen before), OLD (previously seen) or SIMILAR (a similar object has been seen but not the exact same one). 64 of the images are NEW, 20 of the images are OLD and 44 are SIMILAR. Stark et al provide 6 different stimuli sets with 3 different trial orders each. Responses can be collected via keyboard or button input. This implementation uses keyboard keys. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 6 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'XXX_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: with the current subject id group: with the current group id session: 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. ///parameters: stimSet: the current stimSet used (1,2,3,4,5,6) stimOrder: the stim order of the current stimSet selfPaced: 0 (false), 1 (true, participants get 1 minute for each image) minTrialDuration: minimum trial duration in ms (for non-self paced trials this is the responseWindow) trialCounter: tracks the number of objects presented imageItemNumber: the current image itemnumber stim: the currently presented image file trialType: 0 : first presentation of a later TARGET (new) 1 : repeat presentation = target (old) 2 : non-target item (new) 3 : foil presentation (similar)* (for 2 response categories: new) correctResp: stores the correct response button lag: stores the lag from targets/similars to first presentation (lag here: number of items inbetween presentations) -1: no lag (first presentation) 0: directly following the first presentation 1: one item inbetween etc. lureBin: the lure bin of current lure (1-5); 0 for targets and foils stimulusItem: presented stimuli response: the response of participant (scancode of response button) responseText: the response button pressed correct: correctness of response (1 = correct, 0 = error) latency: response latency (in ms); measured from: onset of image (2) Summary data file: 'xxx_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) ///parameters: stimSet: the current stimSet used (1,2,3,4,5,6) stimOrder: the stim order of the current stimSet selfPaced: 0 (false), 1 (true, participants get 1 minute for each image) minTrialDuration: minimum trial duration in ms (for non-self paced trials this is the responseWindow) ////summary variables across all test trials propCorrect: overall proportion correct responses meanCorrRT: mean correct response time in ms trialCounter: the number of overall trials run countNR: overall number of 'No Responses' ////summary variables by TrialType: trialCountTargets: number of Target trials (Target trials = image repeats) countNRTargets: number of 'No Responses' for target images rawRateOldTargets: number of 'Old' responses relative to all Target trials (no response trials included) - CORRECT response rawRateSimTargets: number of 'Similar' responses relative to all Target trials (no response trials included) rawRateNewTargets: number of 'New' responses relative to all Target trials (no response trials included) adjRateOldTargets: number of 'Old' responses relative to all Target trials (no response trials EXCLUDED) - CORRECT response adjRateSimTargets: number of 'Similar' responses relative to all Target trials (no response trials EXCLUDED) adjRateNewTargets: number of 'New' responses relative to all Target trials (no response trials EXCLUDED) trialCountLures: number of Lure trials (Lure trials = presentation of an image similar to one previously presented) countNRLures: number of 'No Responses' for Lure images rawRateOldLures: number of 'Old' responses relative to all Lure trials (no response trials included) rawRateSimLures: number of 'Similar' responses relative to all Lure trials (no response trials included) - CORRECT response rawRateNewLures: number of 'New' responses relative to all Lure trials (no response trials included) adjRateOldLures: number of 'Old' responses relative to all Lure trials (no response trials EXCLUDED) adjRateSimLures: number of 'Similar' responses relative to all Lure trials (no response trials EXCLUDED) - CORRECT response adjRateNewLures: number of 'New' responses relative to all Lure trials (no response trials EXCLUDED) trialCountNewA: number of NewA trials (NewA trials = presentation of a new image that will be repeated) countNRNewA: number of 'No Responses' for NewA images rawRateOldNewA: number of 'Old' responses relative to all NewA trials (no response trials included) rawRateSimNewA: number of 'Similar' responses relative to all NewA trials (no response trials included) rawRateNewNewA: number of 'New' responses relative to all NewA trials (no response trials included) - CORRECT response adjRateOldNewA: number of 'Old' responses relative to all NewA trials (no response trials EXCLUDED) adjRateSimNewA: number of 'Similar' responses relative to all NewA trials (no response trials EXCLUDED) adjRateNewNewA: number of 'New' responses relative to all NewA trials (no response trials EXCLUDED) - CORRECT response trialCountNewB: number of NewB trials (NewB trials = presentation of a new image that will NOT be repeated) countNRNewB: number of 'No Responses' for NewB images rawRateOldNewB: number of 'Old' responses relative to all NewB trials (no response trials included) rawRateSimNewB: number of 'Similar' responses relative to all NewB trials (no response trials included) rawRateNewNewB: number of 'New' responses relative to all NewB trials (no response trials included) - CORRECT response adjRateOldNewB: number of 'Old' responses relative to all NewB trials (no response trials EXCLUDED) adjRateSimNewB: number of 'Similar' responses relative to all NewB trials (no response trials EXCLUDED) adjRateNewNewB: number of 'New' responses relative to all NewB trials (no response trials EXCLUDED) - CORRECT response trialCountNew: number of New trials (New trials = presentation of a new image that may or may not be repeated) countNRNew: number of 'No Responses' for New images rawRateOldNew: number of 'Old' responses relative to all New trials (no response trials included) rawRateSimNew: number of 'Similar' responses relative to all New trials (no response trials included) rawRateNewNew: number of 'New' responses relative to all New trials (no response trials included) - CORRECT response adjRateOldNew: number of 'Old' responses relative to all New trials (no response trials EXCLUDED) adjRateSimNew: number of 'Similar' responses relative to all New trials (no response trials EXCLUDED) adjRateNewNew: number of 'New' responses relative to all New trials (no response trials EXCLUDED) - CORRECT response trs: Traditional Recognition Score (TRS): rates corrected for no responses => hit rate for targets (=proportion of old responses to old objects) - false alarm rate for foils (=proportion of old responses to foil objects) NOTE: this script uses NEWB as the basis for 'true' foils mst: Mnemonic Similarity Task Score: rates corrected for no responses => "hit" rate for lures (=proportion of similar responses to lure objects) - "false alarm" rate for foils (=proportion of similar responses to foil objects) NOTE: this script uses NEWB as the basis for 'true' foils ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 1. Practice: 9 trials - 5 guided trials (new1, new2, new3, old1, similar1) - 4 unguided trials (new4, new5, old2, similar2) ALL practice trials require the correct response to move on. 2. Test: 128 trials The stimuli as well as the order of the trialtypes (new, old, similar) depend on the selected stimuli set and trial order. Each stimuli set (6) comes with three different trial orders; thus you can choose from 18 different versions. All orders show: 64 1st presentations (NEW), 20 repeated targets (OLD), and 44 similar lure trials (SIMILAR) ///////Trial Sequence: ● self paced: Stim (2000ms) -> blank screen for min=500ms to max=58000ms (MinTrialDuration = 2500ms) => participants have 1 minute per trial ● timed: Stim (2000ms) -> blank screen for 500ms (TrialDuration = 2500ms) Response does NOT interrupt the trial but participants get response feedback (so they know that their response has been detected) ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ The stimuli are provided by Start et al: https://github.com/celstark/oMST ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited under section 'Editable Instructions' The instructions are based on published material by Stark et al.: https://github.com/celstark/oMST ___________________________________________________________________________________________________________________ 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: // design elements: / selfPaced = true // true vs false //if you choose 'true', participants get 1 minute for each image / numberResponseOptions = 3 //choose from 2 or 3 => set responseKeys accordingly below //timing parameters / stimDurationMS = 2000 //the duration (in ms) the image is presented before it is removed / minTrialDuration = 2500 //the minimum time (in ms) that a trial will last even if a response was made earlier //sizing parameters: / imageHeightPct = 50% //responseKeys: for 2 options, assign Similar key to the same key as NEW / responseKey1 = "V" / responseKey2 = "B" / responseKey3 = "N" / responseKeyOld = parameters.responseKey1 / responseKeySimilar = parameters.responseKey2 / responseKeyNew = parameters.responseKey3