___________________________________________________________________________________________________________________ Internal Shift Task (IST) ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 10-17-2022 last updated: 10-20-2022 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 10-20-2022 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements Millisecond Software's version of the Internal Shift Task (IST), a paradigm to study executive functioning as measured by inhibition and set shifting, in response to processing internally held (aka in memory) emotional and non-emotional face stimuli as opposed to external stimuli (Koster et al, 2013). DISCLAIMER: The implemented procedure is based on the description of the task by Koster et al (2013) and is a best guess-effort based on the provided information. By default, this script runs with absolutely sized stimuli - check section Editable Parameters for more information. Reference: Koster, E. H. W., Lissnyder, E. D., De Raedt, R. (2013). Rumination is characterized by valence-specific impairments in switching of attention. Acta Psychologica, 144(3), 563-570. doi:10.1016/j.actpsy.2013.09.008. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ This task is about mental updating of counts. Participants self-pace through sequences of female and male faces with either angry or neutral expressions. At the beginning of each round, they are told whether to concentrate on Gender or Emotion. For each face they are shown, they are asked to update their mental counts for female/male (category: gender) OR angry/neutral (category: neutral). Once they have updated their mental counts, they press [space] to see the next face in the sequence. At the end of each block, they enter their mental counts using the keyboard keys. The two categories (Gender and Emotion) are tested in a blocked design. The order of the categories is counterbalanced by groupnumber. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 20 minutes to complete ___________________________________________________________________________________________________________________ DATA FILE INFORMATION ___________________________________________________________________________________________________________________ The default data stored in the data files are: (1) Raw data file: 'internalshifttask_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 //Screen Setup: (parameter) runAbsoluteSizes: true (1) = should run absolutely sized canvas (see parameters- canvasHeight_inmm) false (0) = should use proportionally sized canvas (uses width = 4/3*screenHeight) canvasAdjustments: NA: not applicable => parameters- runAbsoluteSize was set to 'false' 0: parameters- runAbsoluteSize was set to 'true' and screen size was large enough 1: parameters- runAbsoluteSize was set to 'true' BUT screen size was too small and adjustments had to be made activeCanvasHeight_inmm: the width of the active canvas in mm activeCanvasWidth_inmm: the height of the active canvas in mm display.canvasHeight: the height of the active canvas in pixels display.canvasWidth: the width of the active canvas in pixels px_per_mm: the conversion factor to convert pixel data into mm-results for the current monitor (Note: the higher resolution of the current monitor the more pixels cover the same absolute screen distance) This factor is needed if you want to convert pixel data into absolute mm data or the other way around 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. expGroup: 1: runs order category1 (GENDER) -> categeory2 (EMOTION) 2: runs order category2 (EMOTION) -> category1 (GENDER) phase: "practice" vs. "test" practiceBlockCounter: tracks the number of practice blocks run in the current category blockCounter_category1: tracks the number of test blocks run in category1 blockCounter_category2: tracks the number of test blocks run in category2 targetCategory: stores the targetCategory of the current task ("GENDER" vs. "EMOTION") level1: stores level1 (Gender: Female, Emotion: Angry) level2: stores level2 (Gender: Male, Emotion: Neutral) numberTrials: the number of trials run in the current round (randomly selected from 10-14 trials) trialCounter: tracks the number of trials run previousTargetLevel: stores the level of the previous face currentTargetLevel: stores the level of the current face currentTarget: stores the image file of the current face switch: 0 = there was no switch btw. levels; Example: for category GENDER: current face is female, previous face was female -> switch: 0 1 = levels switched (the current face has a different level than the previous one) Example: for category GENDER: current face is female, previous face was male -> switch: 1 switchCategory: 11: previous level was level1, current level is level1 (Example: female-female in category GENDER) -> No Switch 12: previous level was level1, current level is level2 (Example: female-male in category GENDER) -> Switch 21: previous level was level2, current level is level1 (Example: male-female in category GENDER) -> Switch 22: previous level was level2, current level is level2 (Example: male-male in category GENDER) -> No Switch countSwitchTrials_perblock: tracks the number of switch trials run in the current block countNoswitchTrials_perblock: tracks the number of no-switch trials run in the current block //DVs: response: the scancode of response button (e.g. 57 for spacebar) responseText: the label of response button (Note: will look empty for spacebar) latency: the response latency; measured from onset of face image counter_level1: counts the instances of level1 faces for the current category counter_level2: counts the instances of level2 faces for the current category reportedCounts_level1: stores the participant reported instances of level1 faces for the current category reportedCounts_level2: stores the participant reported instances of level2 faces for the current category ACC_reportedCounts_level1: 1 = the reported count for level1 is correct; 0 = otherwise ACC_reportedCounts_level2: 1 = the reported count for level2 is correct; 0 = otherwise ACC_block: 1 = BOTH reported level1 AND level2 counts were correct; 0 = otherwise (at least one incorrect count) (2) Summary data file: 'internalshifttask_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) //Screen Setup: (parameter) runAbsoluteSizes: true (1) = should run absolutely sized canvas (see parameters- canvasHeight_inmm) false (0) = should use proportionally sized canvas (uses width = 4/3*screenHeight) canvasAdjustments: NA: not applicable => parameters- runAbsoluteSize was set to 'false' 0: parameters- runAbsoluteSize was set to 'true' and screen size was large enough 1: parameters- runAbsoluteSize was set to 'true' BUT screen size was too small and adjustments had to be made activeCanvasHeight_inmm: the width of the active canvas in mm activeCanvasWidth_inmm: the height of the active canvas in mm display.canvasHeight: the height of the active canvas in pixels display.canvasWidth: the width of the active canvas in pixels px_per_mm: the conversion factor to convert pixel data into mm-results for the current monitor (Note: the higher resolution of the current monitor the more pixels cover the same absolute screen distance) This factor is needed if you want to convert pixel data into absolute mm data or the other way around //Note: the first trial in each block is not considered for summary data //data: expGroup: 1: order category1 (GENDER) -> categeory2 (EMOTION) 2: order category2 (EMOTION) -> category1 (GENDER) //AccuracyData: propCorrect_general: proportion Correct blockACCs across category1 (here: gender) and category2 (here: emotion) blocks propCorrect_category1: proportion Correct blockACCs across category1 (here: gender) only propCorrect_category2: proportion Correct blockACCs across category2 (here: emotion) only //Switch(Noswitch) Counts countSwitchTrials_general: the number of Switch trials run across all test blocks (across categories) countNoswitchTrials_general: the number of Noswitch trials run across all test blocks (across categories) countSwitchTrials_category1: the number of Switch trials run across all Category1 (gender) test blocks countNoswitchTrials_category1: the number of Noswitch trials run across all Category1 (gender) test blocks countSwitchTrials_category2: the number of Switch trials run across all Category2 (emotion) test blocks countNoswitchTrials_category2: the number of Noswitch trials run across all Category2 (emotion) test blocks //RTData: general_SwitchRT: MEDIAN switch RT (in ms) across category1 (here: gender) and category2 (here: emotion) switch trials general_NoswitchRT: MEDIAN noswitch (aka 'repeat') RT (in ms) across category1 (here: gender) and category2 (here: emotion) noswitch trials general_SwitchCosts: the difference btw. 'general_SwitchRT - general_NoswitchRT' => positive values indicate that participants took longer on switch trials than on non-switch trials category1_SwitchRT: MEDIAN switch RT (in ms) across category1 (here: gender) switch trials category1_NoswitchRT: MEDIAN noswitch (aka 'repeat') RT (in ms) across category1 (here: gender)noswitch trials category1_SwitchCosts: the difference btw. 'category1_SwitchRT - category_NoswitchRT' => positive values indicate that participants took longer on switch trials than on non-switch trials category2_SwitchRT: MEDIAN switch RT (in ms) across category2 (here: emotion) switch trials category2_NoswitchRT: MEDIAN noswitch (aka 'repeat') RT (in ms) across category2 (here: emotion) noswitch trials category2_SwitchCosts: the difference btw. 'category2_SwitchRT - category_NoswitchRT' => positive values indicate that participants took longer on switch trials than on non-switch trials ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ The two categories GENDER and EMOTION is tested in blocked format. This script counterbalances the orders of the two categories GENDER and EMOTION by groupnumber. Odd groupnumbers run: Gender -> Emotion Even groupnumbers run: Emotion -> Gender (1) Intro Block (2) Task1 Practice: 3 blocks with randomly 10-14 faces each - Faces stay on screen until mental counts are updated, then participant self-paces via spacebar presses through the face sequence. - at the end of the block, participants are asked to enter their mental counts separately for level1 (Gender: female; Emotion: angry) and level2 (Gender: male; Emotion: neutral) instances. Participants are always asked about level1 counts before level2 counts. During practice participants receive feedback. (3) Task1 Test: 12 blocks with randomly 10-14 faces each - Faces stay on screen until mental counts are updated, then participant self-paces via spacebar presses through the face sequence. - at the end of the block, participants are asked to enter their mental counts separately for level1 (Gender: female; Emotion: angry) and level2 (Gender: male; Emotion: neutral) instances. Participants are always asked about level1 counts before level2 counts. Participants receive no feedback during the test. (4) Break (self-paced) and task change (5) Task2 Practice: 3 blocks with randomly 10-14 faces each - Faces stay on screen until mental counts are updated, then participant self-paces via spacebar presses through the face sequence. - at the end of the block, participants are asked to enter their mental counts separately for level1 (Gender: female; Emotion: angry) and level2 (Gender: male; Emotion: neutral) instances. Participants are always asked about level1 counts before level2 counts. During practice participants receive feedback. (6) Task2 Test: 12 blocks with randomly 10-14 faces each - Faces stay on screen until mental counts are updated, then participant self-paces via spacebar presses through the face sequence. - at the end of the block, participants are asked to enter their mental counts separately for level1 (Gender: female; Emotion: angry) and level2 (Gender: male; Emotion: neutral) instances. Participants are always asked about level1 counts before level2 counts. Participants receive no feedback during the test. ////////Selection of Face Order///////// At the beginning of each block, the script randomly samples how many faces the round should present. Then the script samples randomly (without replacement) from the face pool of 12 angry female faces, 12 neutral female faces, 12 angry male faces, 12 neutral male faces for each face trial. Thus the order of the faces as well as the counts are different for each round. Practice and Test uses the same faces. ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited under section 'Editable Stimuli' Faces: ● Original study (De Lissnyder et al,2010) The original face stimuli were taken from the Karolinska Directed Emotional Faces database (KDEF; https://www.kdef.se/). All faces were adjusted to exclude interference of background stimuli (hair) and were adjusted to the same size. The images were taken based on the results from a validation study of this picture set (Goeleven, De Raedt, Leyman, & Verschuere, 2008). ● Millisecond Software script: The Millisecond Software script provides PLACEHOLDER stimuli from the NIMS database. http://www.macbrain.org/resources.htm 12 female faces (8 caucasian, 4 black) and 12 male faces (8 caucasian, 4 black) with 'closed-mouth angry' as well as the 'closed-mouth neutral' expressions were chosen (=48 images total). The images were edited in Paint.net to remove backgrounds and the images were sized to to 600px X 600px. ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited under section 'Editable Instructions'. The instructions are not original to the task. ___________________________________________________________________________________________________________________ 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: