Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 24, 2014
Last Modified: January 24, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script runs the AntiSaccade Task, a test of inhibitory control by tracking smooth eyemovements towards or away from targets. The implemented procedure is based on Sereno & Holzman (1995).
This script requires the Tobii plugin from Millisecond Software.
NOTE: script AntiSaccadeTask_UIsetup.iqjs can be used separately to find parameters to optimize the setup of the user interface for the intended monitor (e.g. size of stimuli, size of response windows, distance of stimuli).
Sereno, A.B. & Holzman, P.S. (1995). Antisaccades and Smooth Pursuit Eye Movements in Schizophrenia. BIOL PSYCHIATRY, 37, 394-401.
15 minutes
Participants are asked to focus on a fixation cross. After 800ms AND if eyes are focused on the fixation cross a red circle appears either on the left or the right side of the fixation cross. Participants have to perform an a) Anti Saccade task: look to the opposite side of the red circle, roughly where the mirror image would be located and a b) Pro Saccade task: look at/towards the red circle (order of Saccade task is counterbalanced by assigned groupnumber; more info under section EXPERIMENT)
2 tasks (Anti-Saccade vs. Pro-Saccade): tested within in a blocked design (task order counterbalanced btw. participants via groupnumber assignment)
• 1 Practice Block: 20 practice trials (no repeats of error practice trials)
• 1 Test Block: 40 trials each (default, see section EDITABLE LISTS to change)
• By default, error trials are repeated (see Sereno & Holzman, 1995) and therefore each task concludes with 40 correct responses
(to change, go to section EDITABLE PARAMETERS)
Trial-Sequence:
(1) Fixation cross (800ms): if eyes are focused on specified fixation cross response window at the end of 800 ms,
the trial sequence is continued (otherwise, the trial sequence is terminated and a new one is started)
(2) Red Circle (max. 2500ms): left/right location is determined randomly with 50% being located to the left of the fixation cross
•Pro-Saccade Task: trial terminates if participants look at the specified response window of the red circle (referred to as the "target"
in this script) within 2500ms
•Anti-Saccade Task: trial terminates if participants look at the specified response window of the (invisible) mirror image of the red circle
(referred to in this script as the "antitarget") within 2500ms.
Looking at the wrong response window as well as taking too long to make relevant eye movements (either towards or away from target)
(> 2500ms, editable) is counted as an error trial. Error trials conclude with error sound feedback and are repeated at a later point (default).
Note on Response "Windows":
In this script (invisible) disks around the target/antitarget and fixation cross are coded as the response areas ("windows").
Eye movements that fall within the range of these windows are taken as trial responses and terminate a trial.
The size of these areas can be adapted for each monitor via Editable Parameters
(also check out helper script AntiSaccadeTask_UIsetup.iqjs to find optimal parameter values on intended monitor).
(3) ITI: blank screen for 500ms (editable) before fixation cross returns
script AntiSaccadeTask_UIsetup.iqjs can be used to find editable parameters to optimize the setup of the user interface
for the current monitor (e.g. size of stimuli, size of response windows, distance of stimuli)
are provided by Millisecond under section
Editable Instructions as well as section INSTRUCTIONS
All text stimuli are editable.
File Name: antisaccadetask_eyetracker_summary*.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 |
| taskOrder | "PS -> AS" vs. "AS -> PS" |
| repeatErrorTrials | True = error trials are repeated (default parameter setting) false = error trials are not repeated |
| pdPropErrors | Measure of Performance Decrement (PD) based on difference in error rates |
| pdRT | Measure of Performance Decrement (PD) based on difference in median correct latency (in ms) |
| list.antiSaccadeCorrectRT.median | Median latency of correct AntiSaccade trials (includes repeated trials) |
| list.proSaccadeCorrectRT.median | Median latency of correct ProSaccade trials (includes repeated trials) |
| propErrorsAS | Error rate for AntiSaccade task (includes wrong responses and no response trials) for non-repeated trials only (performance on repeated trials not considered for error counts) |
| propErrorsPS | Error rate for ProSaccade task (includes wrong responses and no response trials) for non-repeated trials only |
| propIncorrectResponseAS | Proportion incorrect responses (=> wrong direction only) in AntiSaccade trials (out of all errors for non-repeated trials) |
| propIncorrectResponsePS | Proportion incorrect responses (=> wrong direction only) in ProSaccade trials (out of all errors for non-repeated trials) |
| countInvalidAS | Counts number of invalid AntiSaccade trialsequences (participant did not look at fixation stimulus) |
| countInvalidPS | Counts number of invalid ProSaccade trialsequences (participant did not look at fixation stimulus) (3) Eyetracker Info: 'antisaccadetask_eyetracker_gaze.iqdat' |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| timestamp | This property returns timestamps for when the last marker value was sent to the eye tracker. |
| marker | This property returns when a marker value was sent to the eye tracker. 1 = marker for fixation cross (Antisaccade Sequence) was sent 2 = marker for Antisaccade, left target 3 = marker for Antisaccade, right target 4 = marker for fixation cross (Prosaccade Sequence) 5 = marker for Prosaccade, left target 6 = marker for Prosaccade, right target |
| leftpixelx | Horizontal pixel coordinate on display monitor of the left eye |
| leftpixely | Vertical pixel coordinate on display monitor of the left eye |
| rightpixelx | Horizontal pixel coordinate on display monitor of the right eye |
| rightpixely | Vertical pixel coordinate on display monitor of the right eye |
| focuspixelx | Mean horizontal pixel coordinates of the left and right eye |
| focuspixely | Mean vertical pixel coordinates of the left and right eye |
| leftgazex | Internal eye tracking coordinate of the left eye gaze coordinates on the x-axis |
| leftgazey | Internal eye tracking coordinate of the left eye gaze coordinates on the y-axis |
| leftgazez | Internal eye tracking coordinate of the left eye gaze coordinates on the z-axis |
| rightgazex | Internal eye tracking coordinate of the right eye gaze coordinates on the x-axis |
| rightgazey | Internal eye tracking coordinate of the right eye gaze coordinates on the y-axis |
| rightgazez | Internal eye tracking coordinate of the right eye gaze coordinates on the z-axis |
| lefteyex | Left eye coordinates on the x-axis |
| lefteyey | Left eye coordinates on the y-axis |
| lefteyez | Left eye coordinates on the z-axis |
| righteyex | Right eye coordinates on the x-axis |
| righteyey | Right eye coordinates on the y-axis |
| righteyez | Right eye coordinates on the z-axis |
| leftpupilWidth | Width of left pupil |
| leftpupilHeight | Height of left pupil |
| rightpupilWidth | Width of right pupil |
| rightpupilHeight | Height of right pupil |
| leftValidity | 0 = valid data point (0-4) for the left |
| rightValidity | 0 = valid data point (0-4) for the right |
File Name: antisaccadetask_eyetracker_raw*.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 | Name of the current block |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialCode | Name of the current trial |
| 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. |
| taskOrder | "PS -> AS" vs. "AS -> PS" (PS = ProSaccade; AS = AntiSaccade) |
| task | "PS" (ProSaccade) vs. "AS" (Antisaccade) |
| phase | "practice" vs. "test" |
| targetLocation | 1 = target appears on the left side; 2 = target appears on the right side |
| response | The participant's response |
| correct | The correctness of the response (1 = correct; 0 = incorrect) |
| latency | The response latency (in ms) |
| validTrial | 1 = participant looked in direction of fixation stimulus at the end of fixation stimulus trial 0 = participant did not look in the direction of fixation stimulus at the end of fixation stimulus trial |
| repeat | 1 = repeated trial (does not count towards error performance); 0 = original trial |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Ui Parameters |
||
| fontSizeFixation | Sets the height of the fixation cross in screen % | 15% |
| fixationwindow | Sets the window of the fixation cross in screen % | 28% |
| targetfixationdistance | Sets the fixation-target distance in screen % | 29% |
| targetsize | Sets the target size in screen % | 5% |
| targetwindow | Adds additional screen % to the targetsize to create the (anti)targetwindow the above parameters can be optimized/determined for the intended monitor with script "AntiSaccadeTask_UIsetup.iqjs" | 15% |
Timing Parameters |
||
| fixationduration | Sets the duration of the fixation cross in ms after 800ms eyepositions are checked to make sure that they are roughly on the fixation cross before moving on | 800 |
| stimduration | Sets the max. duration of the target presentation in ms | 2500 |
| iti | Intertrial interval in ms | 500 |
| timeoutduration | Timeout duration after an incorrect response in ms | 1000 |
Design Parameters |
||
| nrPracticetrials | Number of practice trials | 20 |
| repeaterrortrials | True = error trials are repeated (default) false = error trials are not repeated | true |