Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 15, 2013
Last Modified: January 25, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the Sustained Attention to Response Task (sart), a go/nogo task with infrequent nogo signal to measure attention. The implemented procedure is based on Robertson et al (1997) and Cheyne et al (2009).
!NOTE: This script includes an optional "Mindwandering Probe" addition for the sart.iqjs. The code is provided in helper script "SART_MindWanderingProbeAddition.iqjs". More info about the mindwandering probe in the additional script. To run the probe addition, go to section Editable Parameters and set parameters.runMindwanderingprobe = true (default is false)
Robertson, I. H., Manly, T., Andrade, J., Baddeley, B. T., & Yiend, J. (1997). ‘Oops!’: Performance correlates of everyday attentional failures in traumatic brain injured and normal subjects. Neuropsychologia, 35(6), 747–758.
Cheyne, J.A., Solman, G.J.F., Carriere, J.S.A., & Smilek, D. (2009). Anatomy of an error: A bidirectional state model of task engagement/disengagement and attention-related errors. Cognition, 111, 98–113.
Carriere, J.S.A., Cheyne, J.A., Solman, G.J.F. & Smilek, D. (2010). Age Trends for Failures of Sustained Attention. Psychology and Aging, 25, 569–574.
6 minutes
Participants are presented with a single digit 1-9 in the middle of the screen in varying fontsizes. The digit disappears after a short while and is replaced with a mask (circle with an X). Participants are asked to press the SPACEBAR if any digit other than 3 is presented and to withhold the response if digit 3 presented.
•9 digits, each of them presented 25 times = 225 trials
•in 5 fontsizes, each of them randomly selected 45 times (distribution across digits is randomly determined)
•in this script the digit order is semi-random, predetermined
no special constraints were used to determine the order (only constraint: each digit is presented 25 times)
• List properties can be edited to change the order from a pre-fixed one to a random one. Further instructions under
(see section Editable Lists -> list.digitsequence for more information)
Trial Sequence:
digit (250ms) -> mask (900ms) ->
=> Response latencies are measured from onset of digit and can therefore catch anticipatory responses
(latencies faster than parameters.anticipatoryresponsetime) (see discussion in Cheyne et al, 2009)
- digits 1-9 presented in fontstyle "Symbol" (if available on computer)
- in 5 fontsizes
=> fontsizes in this script are based on screen percentages and can be customized under
section Editable Lists -> list.fontsizes
- a picture mask (circle with an X) section Editable Stimuli -> picture.mask
- stimuli/mask presented in white on a black background
Instructions are not original to the task. They are provided by Millisecond and
can be edited in script "dotstask_keyboard_instructions_inc.iqjs"
File Name: sartSummary.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| 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 |
| radioButtons.difficulty.response | Response to the difficulty question |
| radioButtons.interest.response | Responses to the posttask survey questions (if run) |
| dropdown.age.response | Response to the age question at the end of the task (if run) |
| ageGroup | The assigned age group (1-6) based on age response. (used for reporting z-scores and percentiles) ! age groups correspond to the age cohorts used by Carriere et al (2010), table 2, p. 572 |
| propCorrect | Overall proportion correct = (Number of correct suppressions + number of go-hits)/(number of nogo trials + number of go trials) |
| nrCommissions | Absolute number of commission errors in NoGo trials (=NoGo failures; also reported as sart errors) |
| percentCommissions | Percentage of commission errors in NoGo trials (=NoGo failures; also reported as sart errors) |
| percentNoGoSuccess | Percentage of Nogo trials with correct responses (= correct rejections) |
| zcommission | Z-value of number of Commission errors based on Carriere et al (2010), table 2 (sart errors), p. 572 |
| percentileCommission | Percentile of Commission z-value based on Carriere et al (2010), table 2 (sart errors), p. 572 |
| nrOmissions | Absolute number of omission errors in Go trials (=omission of response) |
| percentOmissions | Percentage of incorrect suppressions in Go trials (=omission of response) |
| percentGoSuccess | Percentage of correct responses in Go trials (= hits) |
| zOmission | Z-value of number Omission errors based on Carriere et al (2010), table 2, p. 572 |
| percentileOmission | Percentile of Omission z-value based on Carriere et al (2010), table 2, p. 572 |
| zHitRate | Z-score of the hitRate |
| zFaRate | Z-score of the falseAlarm/commission rate |
| dPrime | Computes d' (parametric measure of discriminability btw. signals and noise) => Range (in this script) -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (go stims) were distinguished from noise (nogo stims) (d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets) |
| c | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (go stims) is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) |
| countAnticipatory | Counts the number of times a Go-latency was faster than (parameter) anticipatoryresponsetime |
| zAnticipatoryResponses | Z-value of number Anticipatory Responses based on Carriere et al (2010), table 2, p. 572 |
| percentileAnticipatoryResponses | Percentile of Anticipatory Responses z-value based on Carriere et al (2010), table 2, p. 572 |
| meanRTGo | Mean latency (in ms) of valid and correct Go trials (latencies >= (parameter) validresponsetime) |
| stdRTGo | Estimated standard deviation (STD) of valid and correct Go trials |
| zgoRT | Z-value of mean go latency based on Carriere et al (2010), table 2, p. 572 |
| percentileGoRT | Percentile of goRT z-value based on Carriere et al (2010), table 2, p. 572 |
| cvGo | Coefficient of variablity (CV = STD/Mean) => a measure of variability independent of mean differences |
| zCV | Z-value of CV based on Carriere et al (2010), table 2, p. 572 |
| percentileCV | Percentile of CV z-value based on Carriere et al (2010), table 2, p. 572 |
| meanRTGoBeforeSuccessNoGo | Mean latency (in ms) of consecutive 4 correct trials before correct suppression of response to digit 3 (=> a measure of speed before successful NoGo trials) Mean RTs are calculated for the correct consecutive (not interrupted either by a NoGo or by an omission trial) last four Go- trials (digit other than 3) preceding successful NoGo trial !!!! in this script any 4 correct Go trials are counted irrespective of latencytype |
| meanRTGoBeforeFailedNoGo | Mean latency (in ms) of consecutive 4 correct trials before incorrect response of response to digit 3 (=> a measure of speed before failed NoGo trials) Mean RTs are calculated for the correct consecutive (not interrupted either by a NoGo or by an omission trial) last four Go- trials (digit other than 3) preceding preceding failed NoGo trial !!!! in this script any 4 correct Go trials are counted irrespective of latencytype |
File Name: sart.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| trialCount | Counts all test trials |
| digitpresentationtime | Digit duration in ms (default: 250ms) - parameter |
| maskpresentationtime | Mask duration in ms (default: 900ms) - parameter |
| trialType | "Go" (digit !=3); "NoGo" (digit == 3) |
| digit | Contains the currently selected digit |
| fontSize | Contains the currently (randomly) selected fontsize |
| response | The participant's response sart trials: 0 for no response or 57 for Spacebar Probe trials (if run): the selected anchor digit |
| correct | The correctness of the response (1 = correct; 0 = error) |
| rt | The latency of the response in ms trial latency unless no response was given no response = empty |
| latency | The trial latency in ms (if no response, trial latency shows the trialduration) |
| latencyType | 0 = no response given (suppression) 1 = anticipatory latency (< (parameter) anticipatoryresponsetime) 2 = ambiguous latency 3 = valid latency (>= (parameter) validresponsetime) independent of Go-NoGo trialType |
| responseType | "NoGo Success": correctly suppressed response to NoGo trial (digit 3) "Omission": incorrectly suppressed response to a Go trial (digit other than 3) "NoGo Failure": any response to a NoGo trial "Go Anticipatory": anticipatory response for Go trials with latencies < (parameter) anticipatoryresponsetime "Go Ambiguous": ambiguous response for Go trials "Go Success": valid response for Go trials with latencies >= (parameter) validresponsetime |
| countAnticipatory | Counts the number of times a Go-latency was faster than (parameter) anticipatoryresponsetime |
| correctSuppressions | Counts number of correct suppressions (-> no response to digit 3) |
| incorrectSuppressions | Counts number of incorrect suppressions (-> no response to digit other than 3) |
| countNoGo | Counts NoGo trials (digit 3) |
| countGo | Counts Go trials (digits other than 3) |
| countValidgo | Counts Go trials with a correct response and latencies >= (parameter) validresponsetime |
| countProbes | Counts the number of probes run |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| digitPresentationTime | Digit duration in ms | 250 |
| maskPresentationTime | Mask duration in ms | 900 |
| iti | Intertrial interval in ms | 0 |
| responseKey | The response key (here: " " -> Spacebar) | " " |
| maskHeight | The height/size of the mask Robertson et al (1997): mask size on their screen ~29mm | 20% |
| anticipatoryResponseTime | By default, latencies (in ms) are measured from digit onset latencies faster than anticipatoryresponsetime are interpreted as anticipatory as opposed to ambiguous/true responses to the digit (default: 100ms) (-> Cheyne et al, 2009) | 100 |
| validResponseTime | Latencies (in ms) that are at or above validresponsetime are considered true responses to the digits (default: 200ms) (-> Cheyne et al, 2009) | 200 |
Mindwandering Probe |
||
| runMindWanderingProbe | True: script runs the mindwandering probe addition false: script does not run the mindwandering probe addition (default) | false |
| postProbeDuration | Intertrial pause between probe and re-start of sart (in ms) | 500 |