___________________________________________________________________________________________________________________ *SHORT TERM MEMORY BINDING TEST (STMB)* ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 10-17-2016 last updated: 05-02-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 05-02-2024 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements the Short Term Memory Binding Test (STMB); a task to assesses feature binding (here: color and shape of objects) in visual short-term memory. The implemented procedure is based on: Brockmole, JR, Parra, MA, Della Sala, S, Logie RH (2008). Do binding deficits account for age-related decline in visual working memory? Psychon Bull Rev.;5:543–547 (Experiment 2). ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants view 2 displays of 2-4 objects (default: 4) distributed over 9 possible screen locations, one after the other. These displays consist of the same objects (arranged differently in each display), or they differ by two items. The task is to decide whether the second display presents the same objects as the first display - despite different object locations. If the same objects are presented in display2, participants are asked to press a 'same' response key (default: E-key); if the object array is altered in display2, participants are asked to press a 'different' response key (default: I-key). There are 3 different feature conditions: color, shape, and binding condition, tested in blocked format. Color Condition: the presented objects are the same shape but differ in color (for 'different' trials: 2 of the objects get assigned new colors) Shape Condition: the presented objects are different shapes but of the same color (for 'different' trials: 2 of the objects get assigned new shapes) Binding Condition: the presented objects are different shapes, presented in different colors (for 'different' trials: 2 of the objects swap colors) ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 10 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'shorttermmemorybindingtest_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) 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. phase: "practice" vs. "test" array: 1 (display1) vs. 2 (display2) congruency: 'same' vs. 'different' image1-image4: store the current image files used for object1-object4 response: the participant's response (scancode of response button)- built-in Inquisit variable 18 = E => same 23 = I => different responseCat: the interpreted key response: "same", "different" (custom variable) correct: the correctness of the response (1 = correct; 0 = incorrect) latency: the response latency (in ms) shape1: stores the shape number (1-8) for object #1 color1: stores the color (1-8) for object #1 location1: stores the location (1-9) for object #1 location1X: stores the x-coordinate for object #1 (corresponds to location assignment) location1Y: stores the y-coordinate for object #1 (corresponds to location assignment) (same for objects 2-4) change1: helper variable: stores the object number of the first object that will change in different trials change2: helper variable: stores the object number of the second object that will change in different trials countDiffs: counts the differences in the presented images (helper variable) -> 'different'=> 2; 'same' => 0 (2) Summary data file: 'shorttermmemorybindingtest_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) propCorrectBindingSame: proportion correct responses in 'same' binding trials meanRTBindingSame: mean latency (in ms) of correct responses in 'same' binding trials stdBindingSame: Standard Deviation (in ms) of latencies to correct responses in 'same' binding trials propCorrectBindingDifferent: proportion correct responses in 'different' binding trials meanRTBindingDifferent: mean latency (in ms) of correct responses in 'different' binding trials stdBindingDifferent: Standard Deviation (in ms) of latencies to correct responses in 'different' binding trials propCorrectShapeSame: proportion correct responses of 'same' shape trials meanRTShapeSame: mean latency (in ms) of correct responses in 'same' shape trials stdShapeSame: Standard Deviation (in ms) of latencies to correct responses in 'same' shape trials propCorrectShapeDifferent: proportion correct responses of 'different' shape trials meanRTShapeDifferent: mean latency (in ms) of correct responses in 'different' shape trials stdShapeDifferent: Standard Deviation (in ms) of latencies to correct responses in 'different' shape trials propCorrectColorSame: proportion correct responses of 'same' color trials meanRTColorSame: mean latency (in ms) of correct responses in 'same' color trials stdColorSame: Standard Deviation (in ms) of latencies to correct responses in 'same' color trials propCorrectColorDifferent: proportion correct responses of 'different' color trials meanRTColorDifferent: mean latency (in ms) of correct responses in 'different' color trials stdColorDifferent: Standard Deviation (in ms) of latencies to correct responses in 'different' color trials * separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section "DATA" and follow further instructions ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ Blocks: - 3 blocks (color, shape, binding) - order of blocks is counterbalanced across participants by groupnumber => 6 different groupnumbers (1-6) run all possible orders of the three blocks groupnumber1: binding -> color -> shape groupnumber2: binding -> shape -> color groupnumber3: color -> binding -> shape groupnumber4: color -> shape -> binding groupnumber5: shape -> binding -> color groupnumber6: shape -> color -> binding - each block runs 16 same and 16 different trials (total: 32) - order is randomly determined - each block is preceded by 10 practice trials (if parameters.allowPracticeRepeat == true => practice can be repeated if requested) Trials: all blocks - Display1 (1000ms) -> Blank (900ms) -> Display2 (until response) -> ITI (1000ms) - Timings can be edited under section Editable Parameters - arraysize is 4 (default - can be changed to 2-3 under section Editable Parameters) - objects can appear in 9 different screen locations (the active screen canvas is squared in this script) - display 1 object positions: randomly determined (without replacement) - display 2 object positions: position of objects in display2 are randomly determined (with the constraint that all objects appear in positions not used in display1) - objects can be presented in 8 different shapes and 8 different colors Color: - Display1: randomly selects one shape and presents the shape in (4) randomly selected colors (no color repeats) - Display2 different: 2 randomly selected objects get new colors (colors were not previously used) Shape: - Display1: randomly selects one color and presents (4) randomly selected shapes (no shape repeats) in that color - Display2 different: 2 randomly selected items get new shapes (shapes were not previously used) Binding: - Display1: randomly selects shapes and colors (no shape and color repeats) - Display2 different: 2 randomly selected objects swap colors ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ Stimuli are not original to Brockmole et al (2008) All stimuli are hexagonal shapes provided by Millisecond Software - the shapes can be edited under section Editable Stimuli. The colors used in this script are: red, green, blue, purple, pink, turquoise, black, yellow and orange Size can be edited under section Editable Parameters ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ Instructions are not original to the task. They are provided by Millisecond Software as htm/html pages and can be edited by changing the provided htm/html files. To edit htm/html-files: open the respective documents in simple Text Editors such as TextEdit (Mac) or Notepad (Windows). ___________________________________________________________________________________________________________________ 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: /allowPracticeRepeat: true = practice trials can be repeated if requested by participant (default) false = participants only get to run practice trials once for each condition /arraySize: the number of objects presented, available for 2-4 objects (default: 4) /arrayPresentationTime: the duration (in ms) that the array of objects is on screen (default: 1000ms) /blankPresentationTime: the duration of the blank screen (in ms) between displays (default: 900ms) /iti: intertrial interval (in ms) (default: 1000ms) /picSize: the size of object images in proportion to canvas size (default: 0%) keyAssignment: /leftKey: the left key (here: "E") /rightKey: the right key (here: "I") Note: by changing the above values of the keys, you can use different response keys /sameKey: stores the label of the 'same' key (default: it's the left response button "E") /sameKeyLocaton: stores the location of the 'same' key (default: it's the left one) /differentKey: stores the label of the 'different' key (default: it's the right response button "I") /differentKeyLocation: stores the location of the 'different' key (default: it's the right one) Note: by changing the above values, you can control the left/right assignment of the 'same' and 'different' response buttons