__________________________________________________________________________________________________________________ * Simple Reaction Time Task (Touchscreen)* ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 08-17-2018 last updated: 01-02-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 01-02-2025 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements a simple Reaction Time Task for the touchscreen. A similar task was used by Kochan et al (2013) to study reaction times in dementia patients. Reference: Kochan, N., Bunce, D., Pont, S., Slavin, M., Reppermund, S., Brodaty, H., Crawford, J., Mather, K., Kang, K., & Sachdev, P. (2013). Reaction-time measures predict incident dementia over 4 years: The Sydney Memory and Ageing Study. Alzheimer’s & Dementia, 9(4), P536–P536. https://doi.org/10.1016/j.jalz.2013.04.287 ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Simple Reaction Time Task: press a home button until a yellow square appears, then click yellow square as fast as possible The Simple Reaction Time Task tracks the durations participants spent on various subtasks: 1. time spent on HomeButton 2. time between onset of target stimulus and lifting finger off HomeButton (A) 3. time between lifting finger off HomeButton and pressing down on target stimulus (B) 4. time spent on target stimulus (C) 5. time between lifting finger off target stimulus and pressing down on HomeButton (D) Note: The stimuli in this script can be sized absolutely so that distances btw. buttons are the same on each monitor. To do so, go to section Defaults for more information. By default, this script uses proportional sizing; using 100% of the available screen height and screen width = 4/3 * screen height (width:height: 4:3) ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 2 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'simplereactiontimetaskTouchscreenRaw*.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. list.practiceCorrect.mean: stores the proportion correct of the last 5 responses during the current practice session practicePass: 0 = participant did not pass practice criteria; 1 = participant passed practice criteria trialCount: counts all trials (trial = current trial sequence) in a block isi: current interstimulus interval in ms responseArea: stores the response area clicked: 'stim' vs. 'elsewhere' vs. " " (did not respond during response window) acc: 1 = correct/right stimulus, 2 = "elsewhere" i.e. outside the stimulus; 3 = no response finalAcc: stores final correctness of response (1 = correct; 0 = incorrect) simple Reaction Time Task: correct (1) simply means = participant selected stim rt: response time (in ms) from onset of Stim until the stim is pressed (rt is empty if the stim is not pressed) rtDown1: script.elapsedTime (in ms) of clicking home-button (measured relative to start of script in ms) !Note: if finger lifts off home button prior to Stim appearance, rtDown1 resets to the moment the finger returns to the home button and isi is restarted from that moment. rtUp1: script.elapsedTime (in ms) of lifting finger off home-button (measured relative to start of script in ms) Note: rt_up1 is measured AFTER Stim appearance rtDown2: script.elapsedTime (in ms) of clicking stim-button or 'elsewhere' (measured relative to start of script in ms) rtUp2: script.elapsedTime (in ms) of lifting finger off stim-button or 'elsewhere' (measured relative to start of script in ms) rtDown3: script.elapsedTime (in ms) of clicking home-button after lifting finger off stim-button (measured relative to start of script in ms) Note: if participants stays on home button until stim appears rtDown3 is assigned rtDown1 of the next trial stimPresentTime: timestamp of target square (measured relative to start of script in ms): the time (in ms) measured from start of script until the targets appeared on screen a: time (in ms) btw. onset of target button (stimPresentTime) and lifting finger off home button (rt_up1) b: time (in ms) btw taking finger off Home Button and pressing down on Stim Button c: time (in ms) finger spends on Stim Button (pressing down on stimulus to lifting off stimulus) d: time (in ms) btw taking finger off Stim Button and pressing down again on Home Button durationHomeButton: time (in ms) finger spent on HomeButton countEarlyResponses: counts premature lift-offs (off homebutton) during the current trial totalEarlyResponses: counts premature lift-offs (off homebutton) across all test trials (2) Summary data file: 'simplereactiontimetaskTouchscreenSummary*.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) simpleRTDuration: stores the duration (in ms) of the simple RT task (only test session; excludes demo & practice) practicePassSimpleRT: 0 = participant did not pass practice criteria for simpleRT; 1 = participant passed practice criteria for simpleRT meanRTSimpleRT: mean latency (in ms) of pressing down on stim (latency measured from onset of target to pressing down on it); only correct responses accSimpleRT: mean proportion correct (correct = square was hit as opposed to elsewhere or no response) totalEarlyResponsesSimpleRT: counts premature lift-offs (off homebutton) across all test trials in the simpleRT task only for responses with finalACC = 1: meanDurationA: mean duration (in ms) btw. onset of target button (stimPresentTime) and lifting finger off home button meanDurationB: mean duration (in ms) btw taking finger off Home Button and pressing down on Stim Button meanDurationC: mean duration (in ms) finger spent on Stim Button meanDurationD: mean duration (in ms) btw taking finger off Stim Button and pressing down again on Home Button meanDurationHomeButton: mean duration (in ms) finger spent on HomeButton ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 1. Intro with a demo: runs 2 demo trials for each participant regardless of performance 2. Practice: - max. 10 trials - Pass Criteria: 5 correct trials in a row (correct = finger lifts off home button after square appears and presses down on square within 5000ms) 3. Test: 20 trials (default) - 4 isi (1000ms, 3000, 2000ms, 4000ms), selected randomly edit list.isiSimpleRT under section Editable Lists ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided 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: User Interface: //Design Parameters / numberTestTrials = 20 //the number of test trials run (default: 20) //Note: needs to be divisible by 4 / presentFinalRTFeedback = true //true (1): participants receive feedback about their average (correct) reaction time at test termination (default) //false (0): no reaction time feedback is provided at the end //Timing Parameters / feedback = 3000 // feedback duration (default: 3000ms) / homeButtonRW = 6000 //home button response window until a reminder is flashed onto the screen (default: 6000ms) //Note: the trial continues until the home button is pressed / stimRW = 5000 //response window after stim is presented (default: 5000ms) //color parameter / canvasColor = lightGray //Display color of the actively used portion of the screen (the 'canvas') //Note: if set to a color other than the screenColor, you can distinguish the active canvas //from the inactive portion of the screen / screenColor = lightGray //Color of the screen not used by the canvas ('inactive screen') / defaultTextColor = black //Default color of text items / boxColor = darkGray //color of the boxes //CANVAS SIZING PARAMETERS //sizing Parameters in RELATIVE measurements relative to CANVAS HEIGHT //NOTE: to run the script with ABSOLUTE screen measurements, go to 'defaults' and set //canvasSize to absolute measurements //sizing parameters / homeButtonSize = 15% //the proportional size of the Home Button (relative to canvas) (default: 15%) / squareSize = 15% //the proportional size of the square (relative to canvas) (default: 15%) / homeButtonSimpleRTY = 50% //the vertical position of the homeButton (here:center) / stimButtonSimpleRTY = 20% //the vertical position of the stimButton