Return to the Sustained Attention to Response Task page
___________________________________________________________________________________________________________________
*SUSTAINED ATTENTION TO RESPONSE TASK (SART)*
(with optional "Mindwandering Probes")
German Version
___________________________________________________________________________________________________________________
Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 10-15-2013
last updated: 03-11-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC
Script Copyright © 03-11-2020 Millisecond Software
German translations provided by K. Borchert for Millisecond Software
___________________________________________________________________________________________________________________
BACKGROUND INFO
___________________________________________________________________________________________________________________
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, 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.
and
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.
!NOTE: This script includes an optional "Mindwandering Probe" addition for the SART.iqx.
The code is provided in helper script "SART_MindWanderingProbeAddition.iqx". More info about
the mindwandering probe in the additional script.
To run the probe addition, go to section Editable Parameters and set
parameters.run_mindwanderingprobe = true (default is false)
___________________________________________________________________________________________________________________
TASK DESCRIPTION
___________________________________________________________________________________________________________________
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.
___________________________________________________________________________________________________________________
DURATION
___________________________________________________________________________________________________________________
the default set-up of the script takes appr. 6 minutes to complete
___________________________________________________________________________________________________________________
DATA FILE INFORMATION
___________________________________________________________________________________________________________________
The default data stored in the data files are:
(1) Raw data file: 'sart.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
script.sessionid: 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.
expressions.trialcount: counts all test trials
parameters.digitpresentationtime: digit duration in ms (default: 250ms)
parameters.maskpresentationtime: mask duration in ms (default: 900ms)
values.trialtype: "Go" (digit !=3); "NoGo" (digit == 3)
values.digit: contains the currently selected digit
values.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)
values.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)
values.latencytype: 0 = no response given (suppression);
1 = anticipatory latency (< parameters.anticipatoryresponsetime);
2 = ambiguous latency;
3 = valid latency (>= parameters.validresponsetime)
Note: independent of Go-NoGo trialtype
values.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 < parameters.anticipatoryresponsetime
"Go Ambiguous": ambiguous response for Go trials
"Go Success": valid response for Go trials with latencies >= parameters.validresponsetime
values.count_anticipatory: counts the number of times a Go-latency was faster than parameters.anticipatoryresponsetime
values.correctsuppressions: counts number of correct suppressions (-> no response to digit 3)
values.incorrectsuppressions: counts number of incorrect suppressions (-> no response to digit other than 3)
values.count_NoGo: counts NoGo trials (digit 3)
values.count_Go: counts Go trials (digits other than 3)
values.count_validgo: counts Go trials with a correct response and latencies >= parameters.validresponsetime
values.countprobes: counts the number of probes run
(2) Summary data file: 'sart_german_summary.iqdat' (a separate file for each participant)
computer.platform: the platform the script was run on (win/mac/ios/android)
script.startdate: date script was run
script.starttime: time script was started
script.subjectid: assigned subject id number
script.groupid: assigned group id number
script.sessionid: assigned session id number
script.elapsedtime: time it took to run script (in ms); measured from onset to offset of script
script.completed: 0 = script was not completed (prematurely aborted);
1 = script was completed (all conditions run)
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)
values.ageGroup: the assigned age group (1-6) based on age response. (used for reporting z-scores and percentiles)
!Note: age groups correspond to the age cohorts used by Carriere et al (2010), table 2, p. 572
expressions.nr_commissions: absolute number of commission errors in NoGo trials (=NoGo failures; also reported as SART errors)
expressions.percent_commissions: percentage of commission errors in NoGo trials (=NoGo failures; also reported as SART errors)
values.z_commission: z-value of number of Commission errors based on Carriere et al (2010), table 2 (SART errors), p. 572
values.percentile_commission: percentile of Commission z-value based on Carriere et al (2010), table 2 (SART errors), p. 572
expressions.nr_omissions: absolute number of omission errors in Go trials (=omission of response)
expressions.percent_omissions: percentage of incorrect suppressions in Go trials (=omission of response)
values.z_Omission: z-value of number Omission errors based on Carriere et al (2010), table 2, p. 572
values.percentile_Omission: percentile of Omission z-value based on Carriere et al (2010), table 2, p. 572
values.count_anticipatory: counts the number of times a Go-latency was faster than parameters.anticipatoryresponsetime
values.z_AnticipatoryResponses: z-value of number Anticipatory Responses based on Carriere et al (2010), table 2, p. 572
values.percentile_AnticipatoryResponses: percentile of Anticipatory Responses z-value based on Carriere et al (2010), table 2, p. 572
expressions.meanRT_go: mean latency (in ms) of valid and correct Go trials (latencies >= parameters.validresponsetime)
expressions.stdRT_go: estimated standard deviation (STD) of valid and correct Go trials
values.z_goRT: z-value of mean go latency based on Carriere et al (2010), table 2, p. 572
values.percentile_goRT: percentile of goRT z-value based on Carriere et al (2010), table 2, p. 572
expressions.CV_go: coefficient of variablity (CV = STD/Mean) => a measure of variability independent of mean differences
values.z_CV: z-value of CV based on Carriere et al (2010), table 2, p. 572
values.percentile_CV: percentile of CV z-value based on Carriere et al (2010), table 2, p. 572
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
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
!!!!Note: in this script any 4 correct Go trials are counted irrespective of values.latencytype
expressions.meanRT_GObeforesuccessNOGO: 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)
expressions.meanRT_GObeforefailedNOGO: 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)
NORMS:
z-value and percentile calculations use data published by:
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.
Carriere et al (2010) grouped data by 6 age groups (no separate data for gender norms provided)
Check helper script SART_Norms.iqx for more details.
___________________________________________________________________________________________________________________
EXPERIMENTAL SET-UP
___________________________________________________________________________________________________________________
*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) -> -> digit.....
=> 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)
___________________________________________________________________________________________________________________
STIMULI
___________________________________________________________________________________________________________________
- 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
___________________________________________________________________________________________________________________
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:
/digitpresentationtime: digit duration in ms (default: 250ms)
/maskpresentationtime: mask duration in ms (default: 900ms)
/ITI: intertrial interval in ms (default: 0 => digit SOA is therefore 1150ms)
/responsekey: the response key (here: " " -> Spacebar)
/maskheight: the height/size of the mask (default: 20%)
Note: Robertson et al (1997): mask size on their screen ~29mm
/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)
/validresponsetime: latencies (in ms) that are at or above validresponsetime are considered true
responses to the digits (default: 200ms)
(-> Cheyne et al, 2009)
Minderwandering Probe Addition:
/run_mindwanderingprobe: true: script runs the mindwandering probe addition
false: script does not run the mindwandering probe addition (default)
/postprobeduration: intertrial pause between probe and re-start of SART (in ms)