Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 17, 2018
Last Modified: January 13, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Complex Reaction Time Task for the touchscreen. A similar task was used by Kochan et al (2013) to study reaction times in dementia patients.
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
5 minutes
Complex Reaction Time Task: press a home button until a top and a bottom stimulus appears. Then either click the top stimulus if top and bottom are the same color or click the bottom stimulus if they are not the same color.
The Complex 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)
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)
1. Demo: 2 demo trials (same trials for everyone: RR, RY)
2. Practice:
- max. 20 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)
- by default the same isi of 3000ms is used (see list.isiComplexRT)
- each trialtype (RR, YY, RY, YR) is run equally often
provided in script "complexreactiontimetask_touchscreen_instructions_inc.iqjs"
File Name: complexreactiontimetaskTouchscreenSummary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| 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 |
| versionRTComplex | 1 = same colors, press top square (different colors, press bottom square) 2 = same colors, press bottom square (different colors, press top square) |
| complexRTDuration | Stores the duration (in ms) of the complex RT task (only test session; excludes demo & practice) |
| practicePassComplexRT | 0 = participant did not pass practice criteria for complexRT 1 = participant passed practice criteria for complexRT |
| meanRTComplexRT | Mean latency (in ms) of pressing down on stim (latency measured from onset of target to pressing down on it); only correct responses |
| accComplexRT | Mean proportion correct (correct = correct square was hit) |
| totalEarlyResponsesComplexRT | Counts premature lift-offs (off homebutton) across all test trials in the complexRT 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 |
File Name: complexreactiontimetaskTouchscreenRaw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| versionRTComplex | 1 = same colors, press top square (different colors, press bottom square) 2 = same colors, press bottom square (different colors, press top square) |
| 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 |
| currentTrial | "RR", "YY", "RY", "YR" |
| targetPosition | 1 = RR (red on top, red on bottom) 2 = YY (yellow on top, yellow on bottom) 3 = RY (red on top, yellow on bottom) 4 = YR (yellow on top, red on bottom) |
| isi | Current interstimulus interval in ms |
| responseArea | Stores the response area clicked complex Reaction Time Task: top or bottom vs. elsewhere vs. " " (did not respond during response window) |
| acc | 0 = incorrect: wrong stimulus pressed, 1 = correct stimulus pressed, 2 = "elsewhere" i.e. outside the stimulus 3 = no response |
| finalAcc | Stores final correctness of response (1 = correct; 0 = incorrect) complex Reaction Time Task: correct = selected correct square; 0 = everything else |
| 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) ! 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) rtUp1 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) 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 (rtUp1) |
| 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 |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| versionRTComplex | 1 = same colors, press top square (different colors, press bottom square) 2 = same colors, press bottom square (different colors, press top square) | 1 |
| numberTestTrials | The number of test trials run needs to be divisible by 4 | 20 |
| presentFinalRTFeedback | 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 | true |
Timing Parameters |
||
| feedback | Feedback duration | 3000 |
| homeButtonRW | Home button response window until a reminder is flashed onto the screen the trial continues until the home button is pressed | 6000 |
| stimRW | Response window after stim is presented | 5000 |
Color Parameter |
||
| canvasColor | Display color of the actively used portion of the screen (the 'canvas') if set to a color other than the screenColor, you can distinguish the active canvas from the inactive portion of the screen | lightGray |
| screenColor | Color of the screen not used by the canvas ('inactive screen') | lightGray |
| defaultTextColor | Default color of text items | black |
| boxColor | Color of the boxes when not lit | darkGray |
Sizing Parameters |
||
| homeButtonSize | The proportional size of the Home Button (relative to canvas) | 15% |
| squareSize | The proportional size of the square (relative to canvas) | 15% |
| topStimButtonComplexRTY | The vertical position of the top Stim Button in the complex Reaction Time Task in canvas height% | 20% |
| bottomStimButtonComplexRTY | The vertical position of the top Stim Button in the complex Reaction Time Task in canvas height% for the complext Reaction Time Task, the Home Button is located at the center of the screen | 80% |