User Manual: Inquisit AntiSaccade Task


___________________________________________________________________________________________________________________	

									   ANTI-SACCADE TASK
							   (requires Tobii eyetracker plugin)
___________________________________________________________________________________________________________________

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 11-24-2014
last updated:  01-18-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 01-18-2023 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script runs the AntiSaccade Task, a test of inhibitory control by tracking smooth eyemovements 
towards or away from targets

Reference:

Sereno, A.B. & Holzman, P.S. (1995). Antisaccades and Smooth Pursuit Eye Movements in
Schizophrenia. BIOL PSYCHIATRY, 37, 394-401.

This script requires the Tobii plugin from Millisecond Software.

NOTE: script AntiSaccadeTask_UIsetup.iqx 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).

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
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)

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 15 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________
The default data stored in the data files are:

(1) Raw data file: 'antisaccadetask_eyetracker_raw*.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 such as feedback trials. Thus, trialnum 
								may not reflect the number of main trials run per block.
									
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

(2) Summary data file: 'antisaccadetask_eyetracker_summary*.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)

taskorder:					"PS -> AS" vs. "AS -> PS"

(parameter) repeaterrortrials:		true = error trials are repeated (default)
									false = error trials are not repeated

PD_properrors:				Measure of Performance Decrement (PD) based on difference in error rates
PD_RT:						Measure of Performance Decrement (PD) based on difference in median correct latency (in ms)

list.AntiSaccade_correctRT.median:	median latency of correct AntiSaccade trials (includes repeated trials)
list.ProSaccade_correctRT.median:	median latency of correct ProSaccade trials (includes repeated trials)

properrors_AS:				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)
properrors_PS:				error rate for ProSaccade task (includes wrong responses and no response trials) for non-repeated trials only

prop_incorrectresponseAS:	proportion incorrect responses (=> wrong direction only) in AntiSaccade trials (out of all errors for non-repeated trials)
prop_incorrectresponsePS:	proportion incorrect responses (=> wrong direction only) in ProSaccade trials (out of all errors for non-repeated trials)

countinvalid_AS:			counts number of invalid AntiSaccade trialsequences (participant did not look at fixation stimulus)
countinvalid_PS:			counts number of invalid ProSaccade trialsequences (participant did not look at fixation stimulus)


(3) Eyetracker Info: 'antisaccadetask_eyetracker_gaze.iqdat'

date, time, subject, group:		date and time script was run with the current subject/groupnumber 

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/vertical pixel coordinate on display monitor of the left/right eye
leftpixely
rightpixelx
rightpixely

focuspixelx: 					mean horizontal/vertical pixel coordinates of the left and right eye 
focuspixely:

leftgazex:						internal eye tracking coordinate of the horizonal/vertical left/right eye position
leftgazey
leftgazez
rightgazex
rightgazey
rightgazez

lefteyex:						eye coordinates in 3D space
lefteyey
lefteyez
righteyex
righteyey
righteyez

leftpupilwidth:					width/height of left/right pupil
leftpupilheight: 
rightpupilwidth	
rightpupilheight

leftvalidity:  					0 = valid data point (0-4) for the left/right
rightvalidity:

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________
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.iqx to find optimal parameter values on intended monitor).

	(3) ITI: blank screen for 500ms (editable) before fixation cross returns

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
script AntiSaccadeTask_UIsetup.iqx 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) 

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
are provided by Millisecond Software under section 
Editable Instructions as well as section INSTRUCTIONS
All text stimuli are editable.

EDITABLE CODE:
check under EDITABLE CODE 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 (UI) parameters:
/fontsize_fixation:					sets the height of the fixation cross in screen % (default: 15%)
/fixationwindow:					sets the window of the fixation cross in screen % (default: 28%)
/targetfixationdistance:				sets the fixation-target distance in screen % (default: 29%)
/targetsize:						sets the target size in screen % (default: 5%)

/targetwindow:						adds additional screen % to the targetsize to create the (anti)targetwindow
										!!!!NOTE: the above parameters can be optimized/determined for the intended monitor
										with script "AntiSaccadeTask_UIsetup.iqx"

/fixationduration:					sets the duration of the fixation cross in ms (default: 800ms)
									Note: after 800ms eyepositions are checked to make sure that they are roughly on the 
									fixation cross before moving on

/stimduration:						sets the max. duration of the target presentation in ms (default: 2500ms)
/iti:								intertrial interval in ms (default: 500ms)
/timeoutduration:					timeout duration after an incorrect response in ms (default: 1000ms)

/nr_practicetrials:					number of practice trials

/repeaterrortrials:					true = error trials are repeated (default)
									false = error trials are not repeated