EyeLink Commands Reference
About This Document
This reference document is a comprehensive compilation of all EyeLink commands and configuration settings extracted from the INI files found on the EyeLink Host PC. These INI files contain the low-level commands used to configure and control EyeLink eye tracking hardware.
Source
The commands documented here are sourced from configuration files located in the executable directory of the EyeLink Host PC (exe\ dir). These INI files define the many of command set available for EyeLink tracker configuration and control.
Implementation Status
PyeLink implements a subset of these commands through its Python API, with gradual expansion of coverage over time. Some commands are exposed directly through the Settings class, while others can be accessed via the underlying pylink library interface.
Statistics
Configuration Files: 21 INI files
Total Commands: 390+ commands and settings
Categories: Calibration, display configuration, data recording, analog output, parser settings, physical setup, and more
How to Use This Reference
Each command entry includes:
Syntax: The command format with parameter placeholders
Description: What the command does and parameter meanings
Example: Sample usage with typical values
For commands not yet wrapped in PyeLink’s high-level API, you can use the tracker’s underlying pylink.EyeLink connection directly via tracker.tracker to send raw commands.
Commands and Settings
remote_camera_position
Syntax: remote_camera_position = <rh> <rv> <dx> <dy> <dz>
Description: Sets the position and angles for remote camera mounting (Desktop Remote Recording configuration). remote_camera_position = -10 17 80 60 -90
remote_distance_warn_range
Syntax: remote_distance_warn_range = <min_mm>, <max_mm>
Description: Sets the acceptable distance range for remote tracking. When the participant’s distance falls outside this range, a warning is displayed on the Host PC.
Example: remote_distance_warn_range = 500, 700
remote_distance_coeffs
Syntax: remote_distance_coeffs <coeff1> <coeff2>
Description: Coefficients for computing eye-to-camera distance from the target sticker marker separation in remote mode. Derived from the camera focal length and known target sticker geometry.
Example: remote_distance_coeffs 11.70 0
remote_distance_scaling
Syntax: remote_distance_scaling <scale> <reference_distance>
Description: Scaling factor and reference distance for remote distance computation. Used to fine-tune the distance estimation algorithm.
Example: remote_distance_scaling 1.0 600
remote_edge_warn_pixels
Syntax: remote_edge_warn_pixels = <pixels>
Description: Number of pixels from the camera image edge at which to warn that the participant is moving out of the trackable area in remote mode.
Example: remote_edge_warn_pixels = 100
remote_eye_magnified
Syntax: remote_eye_magnified <ON or OFF>
Description: Controls whether the eye image is magnified in the zoomed view during remote tracking. Saved in lastrun.ini.
Example: remote_eye_magnified ON
remote_target_eye_distance_warn
Syntax: remote_target_eye_distance_warn <pixels>
Description: Maximum allowed distance in camera pixels between the target sticker and the eye before a warning is issued during remote tracking.
Example: remote_target_eye_distance_warn 160
remote_target_search_thresholds
Syntax: remote_target_search_thresholds <params...>
Description: Threshold parameters for detecting the target sticker markers in remote mode. Multiple thresholds are provided for different search stages and lighting conditions.
Example: remote_target_search_thresholds 155 190 130 210 100 80 60
remote_limit_by_target
Syntax: remote_limit_by_target <left_enable> <right_enable>
Description: Controls whether the eye search region is limited based on the detected target sticker position in remote mode. Separate flags for left and right eyes.
Example: remote_limit_by_target 1 1
remote_cr_offset
Syntax: remote_cr_offset <distance> <x_offset> <y_offset>
Description: Corneal reflection offset parameters for remote mode. Compensates for the geometric offset between the CR and the illuminator position based on the camera-eye-illuminator geometry.
Example: remote_cr_offset 7.8 -130 0
remote_pupil_size_adjust
Syntax: remote_pupil_size_adjust <enable>
Description: Enables distance-based pupil size adjustment in remote mode. When enabled, the reported pupil size is corrected for changes in eye-to-camera distance.
Example: remote_pupil_size_adjust 1
remote_search_latency
Syntax: remote_search_latency = <search_time> <settle_time>
Description: Controls the timing of the target sticker search in remote mode. First value is the search duration, second is the settle time after detection, both in milliseconds.
Example: remote_search_latency = 1000 500
remote_href_align
Syntax: remote_href_align <YES or NO>
Description: Controls whether HREF alignment is performed in remote mode. When enabled, the HREF coordinate system is aligned based on the target sticker markers.
Example: remote_href_align NO
remote_target_zoom
Syntax: remote_target_zoom <factor>
Description: Zoom factor for the target sticker display in the Camera Setup screen during remote tracking.
Example: remote_target_zoom 0.25
remote_binocular_split_offset
Syntax: remote_binocular_split_offset <offset>
Description: Offset for the split between left and right eye images in binocular remote mode. Saved in lastrun.ini.
Example: remote_binocular_split_offset 0
remote_eye_limit_size
Syntax: remote_eye_limit_size = <left_w>,<left_h> <right_w>,<right_h>
Description: Size of the eye search region in camera pixels for remote tracking. Separate values for left and right eyes. Saved in lastrun.ini.
Example: remote_eye_limit_size = 426,498 498,498
remote_eye_target_offset
Syntax: remote_eye_target_offset = <left_x>, <left_y>, <left_z> <right_x>, <right_y>, <right_z>
Description: Offset from the target sticker to each eye in camera coordinates for remote tracking. Determined during tracking and saved in lastrun.ini.
Example: remote_eye_target_offset = -262.7, 160.8, 82.0 220.1, 196.2, 86.2
remote_target_limits_offset
Syntax: remote_target_limits_offset <left_x> <left_y> <right_x> <right_y>
Description: Offset of the target search limits from the current target position in camera pixels. Saved in lastrun.ini.
Example: remote_target_limits_offset -298 240 273 234
remote_target_limits_ref
Syntax: remote_target_limits_ref <left_x> <left_y> <left_size> <right_x> <right_y> <right_size>
Description: Reference position and size for the target sticker search limits in remote mode. Saved in lastrun.ini.
Example: remote_target_limits_ref 1050 830 101 1051 830 101
remote_target_limits_size
Syntax: remote_target_limits_size <left_w> <left_h> <right_w> <right_h>
Description: Size of the target sticker search region in camera pixels for remote tracking. Saved in lastrun.ini.
Example: remote_target_limits_size 426 498 498 498
remote_autothreshold_enabled
Syntax: remote_autothreshold_enabled <YES or NO>
Description: Enables automatic threshold adjustment during remote (head-free) tracking. When enabled, the tracker automatically adjusts pupil and CR thresholds to compensate for changes in eye-camera distance and illumination.
Example: remote_autothreshold_enabled YES
remote_autothreshold_cr_settings
Syntax: remote_autothreshold_cr_settings <gfract> <wfract>
Description: Controls the automatic CR threshold adjustment parameters for remote tracking. <gfract>: gain fraction for CR threshold adjustment. <wfract>: weight fraction for CR threshold smoothing.
Example: remote_autothreshold_cr_settings 0.05 0.03
remote_autothreshold_default_pupil_bias
Syntax: remote_autothreshold_default_pupil_bias = <bias>
Description: Sets the default pupil threshold bias for remote autothreshold. A value of 1.0 means no bias adjustment.
Example: remote_autothreshold_default_pupil_bias = 1.0
remote_autothreshold_pupil_area
Syntax: remote_autothreshold_pupil_area = <min_area>, <max_area>, <scale>
Description: Sets the expected pupil area range and scaling for remote autothreshold adjustment.
Example: remote_autothreshold_pupil_area = 3, 50, 4.0
remote_autothreshold_limits
Syntax: remote_autothreshold_limits = <min_threshold>, <max_threshold>
Description: Sets the minimum and maximum threshold values that the remote autothreshold system is allowed to use.
Example: remote_autothreshold_limits = 45, 140
remote_autothreshold_window
Syntax: remote_autothreshold_window = <params...>
Description: Controls the temporal window parameters for the remote autothreshold system. Defines how quickly the threshold adapts to changes.
Example: remote_autothreshold_window = 10, 2, 7, 1.8
remote_autothreshold_filter
Syntax: remote_autothreshold_filter = <params...> <ON or OFF>
Description: Controls the filtering applied to the remote autothreshold system. The ON/OFF flag enables or disables the filter.
Example: remote_autothreshold_filter = 50, 150, ON
remote_autothreshold_pupil_bias
Syntax: remote_autothreshold_pupil_bias <left_bias> <right_bias>
Description: Per-eye pupil threshold bias values for remote autothreshold. Saved in lastrun.ini. These are adjusted automatically during tracking.
Example: remote_autothreshold_pupil_bias 0.941 0.887
remote_autothreshold_cr_bias
Syntax: remote_autothreshold_cr_bias <left_bias> <right_bias>
Description: Per-eye CR threshold bias values for remote autothreshold. Saved in lastrun.ini. These are adjusted automatically during tracking.
Example: remote_autothreshold_cr_bias 1.200 1.240
screen_phys_coords
Syntax: screen_phys_coords = <left>, <top>, <right>, <bottom>
Description: Measure the distance of the visible part of the display screen edge relative to the center of the screen (measured in millimetres). screen_phys_coords = -265, 150, 265, -150
screen_pixel_coords
Syntax: screen_pixel_coords = <left> <top> <right> <bottom>
Description: Sets the gaze-position coordinate system, which is used for all calibration target locations and drawing commands. Usually set to correspond to the pixel mapping of the subject display. Issue the calibration_type command after changing this to recompute fixation target positions. You should also write a DISPLAY_COORDS message to the start of the EDF file to record the display resolution in EDF file. screen_pixel_coords = 0, 0, 1023, 767
screen_distance
Syntax: screen_distance = <mm to center> or screen_distance = <mm to top> <mm to bottom>
Description: Used for visual angle and velocity calculations. Providing screen_distance = 930 960
analog_strobe_delay
Syntax: analog_strobe_delay = <delay in microseconds>
Description: Sets delay after analog data change before strobe signal. Delay effectively rounds up to multiples of 500 μsec except for durations <50 μsec which are accurate. Suggested value is 400 μsec.
Example: analog_strobe_delay = 400
analog_strobe_time
Syntax: analog_strobe_time = <strobe duration in microseconds>
Description: Duration of strobe pulse to indicate new sample data is valid. Set to 0 to toggle for each sample. Suggested <1000 μsec for interrupt driven or hardware acquisition.
Example: analog_strobe_time = 1000
analog_strobe_polarity
Syntax: analog_strobe_polarity = <polarity switch>
Description: Sets strobe signal polarity. 1 for active-high, 0 for active-low.
Example: analog_strobe_polarity = 1
analog_strobe_line
Syntax: analog_strobe_line = <digital line>
Description: Digital line for strobe signal. Default is D7 (0x80).
Example: analog_strobe_line = 0x80
analog_out_data_type
Syntax: analog_out_data_type = <Data type>
Description: Select type of data for analog output. OFF turns off analog output, PUPIL is raw pupil x,y, HREF is headref-calibrated x,y, GAZE is screen gaze x,y. Overridden by setup menu and lastrun.ini.
Example: analog_out_data_type = GAZE
analog_dac_range
Syntax: analog_dac_range = <min voltage>, <max voltage>
Description: Total DAC voltage range (low, high) in volts. Range: -10V to +10V.
Example: analog_dac_range = -5, +5
analog_no_pupil_value
Syntax: analog_no_pupil_value = <DAC data when pupil missing>
Description: X, Y output value when pupil is missing, as fraction of DAC range (0.0 = min voltage, 1.0 = max voltage).
Example: analog_no_pupil_value = 0.0
analog_x_range
Syntax: analog_x_range = <L, R or blank>, <data type>, <lower end>, <higher end>
Description: Sets conversion of data to DAC voltage for X coordinate. Min and max are percentage of total data range that corresponds to DAC range. (0.0, 1.0) uses whole range, (0.1, 0.9) magnifies center 80%, (-0.2, 1.2) allows 20% over/under range.
Example:
analog_x_range = PUPIL, 0.1, 0.9
analog_x_range = HREF, 0.0, 1.0
analog_x_range = GAZE, -0.2, 1.2
analog_y_range
Syntax: analog_y_range = <L, R or blank>, <data type>, <lower end>, <higher end>
Description: Sets conversion of data to DAC voltage for Y coordinate. Same range specifications as analog_x_range.
Example:
analog_y_range = PUPIL, 0.1, 0.9
analog_y_range = HREF, 0.0, 1.0
analog_y_range = GAZE, -0.2, 1.2
analog_force_4channel
Syntax: analog_force_4channel = <YES or NO>
Description: Forces use of only 3 or 4 outputs when few analog channels can be used or pupil size is not needed.
Example: analog_force_4channel = NO
analog_binocular_mapping
Syntax: analog_binocular_mapping = <ON or OFF>
Description: TYPE: READABLE, WRITABLE, MENU, LASTRUN.INI. Sets whether monocular or binocular analog output configuration is used.
Example: analog_binocular_mapping = NO
analog_p_maximum
Syntax: analog_p_maximum = <pupil size type>, <maximum expected value>
Description: Sets range of data to be scaled to pupil size analog output (minimum is 0). Type can be: AREA (default 10000), DIAMETER (default 113), WIDTH (default 160), HEIGHT (default 80).
Example: analog_p_maximum = AREA, 10000
delete_all_key_functions
Syntax: delete_all_key_functions
Description: TYPE: Command. Send this command to quickly delete all key functions.
hide_abort_trial
Syntax: hide_abort_trial = <YES or NO>
Description: Sets whether the “Abort Trial” button in the Record screen should be hidden.
Example: hide_abort_trial NO
key_function
Syntax: key_function <keyspec> <command>
Description: Keys may be used to generate commands. Give a key description string followed by “reserve” if you wish lock out other use of the key. Follow this by a quoted command string, or none to release key. key_function ctrl+alt+q "exit_program"
lock_record_exit
Syntax: lock_record_exit = <switch>
Description: Prevents “ESC” key from exiting record mode. “CTRL-ALT-A” remains active.
Example: lock_record_exit = NO
user_record_key_item
Syntax: user_record_key_item = <button_text> <description> <key_spec> [<optional command>]
Description: Add any one key item to Output mode menu bar.
Example: user_record_key_item = " CTRL-ALT-A ", "Abort Trial ", ctrl+alt+a, "display_user_menu 1"
write_ioport
Syntax: write_ioport <ioport> <data>
Description: Writes data to I/O port. Useful to configure I/O cards.
Example: write_ioport 8 0xE0
input_data_ports
Syntax: input_data_ports = <Port Address>
Description: Up to 16 i/o lines can be reported. These consist of 2 ports, (high and low byte). Port: 2 or 3 are digital input card ports (2 = port A, 3 = port B). Other values are address of hardware I/O port. If only 1 entry, 8-bit port (high byte).
Example: input_data_ports = 9
input_data_masks
Syntax: input_data_masks = <Mask Hex Value>
Description: Port bits can be masked so changes don’t trigger events.
Example: input_data_masks = 0xFF
read_ioport
Syntax: read_ioport <ioport>
Description: Performs a dummy read of I/O port.
Example: read_ioport 0x379
lock_calibration_type
Syntax: lock_calibration_type
Description: Prevents the calibration type from being changed via the Set Options screen. Used in mount-specific INI files to lock the calibration type to an appropriate value for the configuration.
Example: lock_calibration_type
calibration_type
Syntax: calibration_type = <type>
Description: What type of equation to use as a fit. H3 = horizontal-only 3-point quadratic, HV3 or 3 = 3-point bilinear, HV5 or 5 = 5-point bi-quadratic, HV9 or 9 = 9-point bi-quadratic with corner correction, HV13 = 13-point bi-cubic calibration. HV9 should NOT be used for remote mode. HV13 works best with larger angular displays (> +/-20 degrees). HV13 should NOT be used when accurate data is needed from corners of calibrated area.
Example: calibration_type = HV9
x_gaze_constraint
Syntax: x_gaze_constraint = <position>
Description: For H3 calibration, it is useful to be able to set the vertical position of generated targets, and to constrain the vertical position of the gaze to a vertical position. Use position, OFF for none, or AUTO for last calibration/validation/drift corr. in 1 D modes.
Example: x_gaze_constraint = AUTO
y_gaze_constraint
Syntax: y_gaze_constraint = <position>
Description: For H3 calibration, it is useful to be able to set the vertical position of generated targets, and to constrain the vertical position of the gaze to a vertical position. Use position, OFF for none, or AUTO for last calibration/validation/drift corr. in 1 D modes.
Example: y_gaze_constraint = AUTO
calibration_bicubic_weights
Syntax: calibration_bicubic_weights = <list of weights>
Description: HV13 weight for points in bi-cubic (“HV13”, 13 pt) cal. Point order:
6 2 7
10 11
4 1 5
12 13
8 3 9
Weights: ratio between weights determines effect, values 1 to 10 suggested. 10 2 2 2 2 1 1 1 1 4 4 4 4 weight pattern minimizes central error, corner error is high.
Example: calibration_bicubic_weights 10 2 2 2 2 1 1 1 1 4 4 4 4
calibration_bicubic_correction
Syntax: calibration_bicubic_correction = <ON or OFF>
Description: HV13 calibration type can perform a secondary fit of the data to try and improve accuracy. Should be OFF for head free setup. Unknown at this time if this actually improves calibration for head fixed setup. Default is OFF.
Example: calibration_bicubic_correction OFF
generate_default_targets
Syntax: generate_default_targets = <YES or NO>
Description: When calibration_type is changed, new target configurations may be required. This enables generation of the default targets and sequence.
Example: generate_default_targets = YES
horizontal_target_y
Syntax: horizontal_target_y = <position>
Description: This sets the Y of automatically-generated targets for the H3 cal mode.
Example: horizontal_target_y = 200
calibration_targets
Syntax: calibration_targets = <list of x,y coordinate pairs>
Description: X,Y pairs of target point positions. These are in display coordinates for the 9-SAMPLE ALGORITHM. POINTS MUST BE ORDERED ON SCREEN:
5 1 6
3 0 4
7 2 8
Ordering for points in bi-cubic (“HV13”, 13 pt) cal. Point order:
6 2 7
10 11
4 1 5
12 13
8 3 9
Example: calibration_targets = 320,240 320,40 320,440 40,240 600,240 40,40 600,40, 40,440 600,440
validation_targets
Syntax: validation_targets = <list of x,y coordinate pairs>
Description: X,Y pairs of validation target positions. These are in display screen coordinates.
Example: validation_targets = 320,240 320,40 320,440 40,240 600,240 40,40 600,40, 40,440 600,440
calibration_area_proportion
Syntax: calibration_area_proportion = <x, y display proportion>
Description: For auto generated calibration point positions, these set the part of the width or height of the display to be bounded by targets. Each may have a single proportion or a horizontal followed by a vertical proportion. Default values for both cal and val is 0.88, 0.83. NOTE: setting for calibration also sets validation.
Example: calibration_area_proportion 0.88 0.83
validation_area_proportion
Syntax: validation_area_proportion = <x, y display proportion>
Description: For auto generated calibration point positions, these set the part of the width or height of the display to be bounded by targets. Each may have a single proportion or a horizontal followed by a vertical proportion. Default values for both cal and val is 0.88, 0.83. NOTE: setting for calibration also sets validation.
Example: validation_area_proportion 0.88 0.83
calibration_corner_scaling
Syntax: calibration_corner_scaling = <scaling factor>
Description: For auto generated validation point positions, a scaling factor for distance of corner targets from the display center. Default is 1.0, but can be 0.75 to 0.9 to pull in corners (to limit gaze excursion or to limit validation to the useful part of the display). NOTE: setting for calibration also sets validation.
Example: calibration_corner_scaling 1.0
validation_corner_scaling
Syntax: validation_corner_scaling = <scaling factor>
Description: For auto generated validation point positions, a scaling factor for distance of corner targets from the display center. Default is 1.0, but can be 0.75 to 0.9 to pull in corners (to limit gaze excursion or to limit validation to the useful part of the display). NOTE: setting for calibration also sets validation.
Example: validation_corner_scaling 0.88
randomize_calibration_order
Syntax: randomize_calibration_order = <YES or NO>
Description: Switches on/off randomized target sequencing. For HV5, HV9 and HV13, the first sequence entry is not randomized (i.e., always starts at the center of the screen).
Example: randomize_calibration_order = YES
randomize_validation_order
Syntax: randomize_validation_order = <YES or NO>
Description: Switches on/off randomized target sequencing during validation. For HV5, HV9 and HV13, the first sequence entry is not randomized (i.e., always starts at the center of the screen).
Example: randomize_validation_order = YES
cal_repeat_first_target
Syntax: cal_repeat_first_target = <YES or NO>
Description: Sets whether the first point of the calibration should be repeated.
Example: cal_repeat_first_target = YES
val_repeat_first_target
Syntax: val_repeat_first_target = <YES or NO>
Description: Sets whether the first point of the validation should be repeated.
Example: val_repeat_first_target = YES
auto_calibration_messages
Syntax: auto_calibration_messages = <YES or NO>
Description: Should the calibration messages be printed in the EDF file?
Example: auto_calibration_messages = YES
calibration_samples
Syntax: calibration_samples = <count>
Description: Calibration point presentation is controlled from a list of point orders, drawn from an array of X,Y point positions. This allows repeated points to be averaged.
Example: calibration_samples = 10
calibration_average
Syntax: calibration_average = <switch>
Description: For the same calibration target position, multiple sampling can be made. Set this command to YES to average the repeated points, and NO to replace repeated points.
Example: calibration_average = NO
calibration_sequence
Syntax: calibration_sequence = <list of target numbers>
Description: Sequence of points to present (count = calibration_samples).
Example: calibration_sequence = 0,1,2,3,4,5,6,7,8,0
validation_samples
Syntax: validation_samples = <count>
Description: Number of targets to present for validation.
Example: validation_samples = 9
validation_sequence
Syntax: validation_sequence = <list of target numbers>
Description: Sequence of points to present (count = calibration_samples).
Example: validation_sequence = 0,1,2,3,4,5,6,7,8,0
validation_weights
Syntax: validation_weights = <list of weights>
Description: Weights to assign points for weighted error, offset.
Example: validation_weights = 4,2,2,2,2,1,1,1,1
validation_online_fixup
Syntax: validation_online_fixup = <value>
Description: Controls if validation shows drift correction. If “AUTO”, will only display correction in pupil-only mode. Values: YES, NO, AUTO.
Example: validation_online_fixup = AUTO
validation_correct_drift
Syntax: validation_correct_drift = <value>
Description: Sets whether drift is corrected after validation. If “AUTO”, will only drift correct in pupil-only mode. Values: YES, NO, AUTO.
Example: validation_correct_drift = AUTO
validation_resample_worst
Syntax: validation_resample_worst = <number of points>
Description: Number of points to resample after validation.
Example: validation_resample_worst = 2
validation_worst_error
Syntax: validation_worst_error = <degrees>
Description: Error required for resampling.
Example: validation_worst_error = 1.0
calibration_collection_interval
Syntax: calibration_collection_interval = <time in msec>
Description: Time over which to collect data to compute fixation for calibrate/validate/dc.
Example: calibration_collection_interval = 100
manual_collection_minimum_fixation
Syntax: manual_collection_minimum_fixation = <time in msec>
Description: Target fixation duration in msec.
Example: manual_collection_minimum_fixation = 300
manual_collection_fixation_lookback
Syntax: manual_collection_fixation_lookback = <time in msec>
Description: Time fixation may have ended previous to manual collection.
Example: manual_collection_fixation_lookback = 200
enable_automatic_calibration
Syntax: enable_automatic_calibration = <switch>
Description: Enables automatic sequencing of calibration targets. NO forces manual or remote collection.
Example: enable_automatic_calibration = YES
autocal_minimum_saccade
Syntax: autocal_minimum_saccade = <degrees>
Description: Minimum saccade amplitude in degrees of visual angle before automatic accepting a fixation during calibration.
Example: autocal_minimum_saccade = 2.5
autocal_saccade_fraction
Syntax: autocal_saccade_fraction = <fraction> [<min angle>]
Description: Optionally scales auto-cal minimum saccade angle to be a fraction of the distance between the old and new targets. Fraction = 0 to disable. Otherwise, scales proportion of angle between the targets the saccade must cover (0.5 recommended). Min angle = The smallest angle permitted for the threshold (optional). This should be high enough to prevent triggering from blinks and noise.
Example: autocal_saccade_fraction = 0 3
autocal_minimum_fixation
Syntax: autocal_minimum_fixation = <time in msec>
Description: Target fixation duration in msec also controls subjective speed.
Example: autocal_minimum_fixation = 500
automatic_calibration_pacing
Syntax: automatic_calibration_pacing = <time delay in msec>
Description: Minimum time between target sequencing in auto sequencing.
Example: automatic_calibration_pacing = 1000
validation_maximum_deviation
Syntax: validation_maximum_deviation = <degrees>
Description: Maximum fixation distance from target that is automatically accepted in validation.
Example: validation_maximum_deviation = 7.0
drift_correction_rpt_error
Syntax: drift_correction_rpt_error = <degrees>
Description: Maximum degrees of error for the drift correction should be repeated.
Example: drift_correction_rpt_error = 2.0
drift_correction_rpt_beep
Syntax: drift_correction_rpt_beep = <YES or NO>
Description: Tracker will flash and repeat drift correction if the error is greater than a rpt_error. This also makes the tracker beep.
Example: drift_correction_rpt_beep = YES
default_eye_mapping
Syntax: default_eye_mapping = <coefficients>
Description: If possible, a .CAL file saved earlier is used. If not, these values are used to create a default map eye to head-related unit (fl=15000). X = a+bx, Y = c+dy. Give a, b, c ,d.
Example: default_eye_mapping = -15360, 80, -12800, 160
online_dcorr_collection_time
Syntax: online_dcorr_collection_time = <min time> <max time>
Description: First number sets minimum time to aggregate, second number sets maximum time to aggregate. If minimum time is not available from current fixation, data aggregated from the end of the previous fixation is checked.
Example: online_dcorr_collection_time = 100, 300
online_dcorr_max_lookback
Syntax: online_dcorr_max_lookback = <max look back>
Description: Maximum time from end of previous fixation to the trigger to allow use of the previous fixation data. This should be greater than the minimum aggregation time plus the longest expected, but not so long that data is irrelevant.
Example: online_dcorr_max_lookback = 250
online_dcorr_refposn
Syntax: online_dcorr_refposn = <x coord> <y coord>
Description: Position for drift correction (gaze). If doing manual recording, ensure pixel_coords is set in physical.ini.
Example: online_dcorr_refposn = 512, 384
online_dcorr_maxangle
Syntax: online_dcorr_maxangle = <angle in degrees>
Description: This is the maximum visual angle between the target and the computed (previous to correction) gaze position. A small angle (2 to 5 degrees) is preferable for regular on-line drift correction. A much larger angle should be used when performing parallax and depth correction in scene camera mode. When head tracking is turned off, carefully set the simulation distance in PHYSICAL.INI for this (and all) angles to be accurate.
Example: online_dcorr_maxangle = 5.0
online_dcorr_trigger
Syntax: online_dcorr_trigger <x ref coord> <y ref coord>
Description: The “online_dcorr_trigger” command can be used over the link and will return error codes if it fails: 1 if math failed (recalibration required), 2 if not usable data is possible (too early in fixation and last fixation too old), 3 if drift correction angle was too large.
Example: online_dcorr_trigger
drift_correction_samples
Syntax: drift_correction_samples = <count>
Description: These are similar to the “validation_xxx” commands. The idea was that you could collect several fixations at different locations for a drift correction, the drift correct to a weighted average of the error. The drift correction point presentation is controlled from a list of point orders, drawn from an array of X, Y positions. This commands set the number of targets to present for drift correction. By default, only 1 sample is used.
Example: drift_correction_samples = 1
drift_correction_weights
Syntax: drift_correction_weights = <list of weight>
Description: Weights to assign points for weighted error for drift correction.
Example: drift_correction_weights = 1
drift_correction_targets
Syntax: drift_correction_targets = <list of x,y coordinates>
Description: This sets an array of sequenced X, Y pairs of drift correction target positions in display coordinates. This command is used internally by the API function eyelink_driftcorr_start().
Example: drift_correction_targets = 512, 384
drift_correction_fraction
Syntax: drift_correction_fraction = <fraction>
Description: Fraction of drift correction to be applied. The idea is that applying a small correction many times will converge to zero error with less effect of inaccurate fixations. The default is full fixup (1.0).
Example: drift_correction_fraction = 1.0
drift_correct_mouse
Syntax: drift_correct_mouse = <ON or OFF>
Description: Whether drift correction is performed in mouse simulation. Because mouse reverse-maps gaze to eye position, the drift correction fixup will increase with each drift correction, eventually causing problems. Turning off the drift correction fixup is one solution. If on, we currently reduce the correction by half–this shows an effect at least.
Example: drift_correct_mouse = ON
driftcorrect_cr_disable
Syntax: driftcorrect_cr_disable = <switch>
Description: Disables drift correction unless in pupil-only mode. Drift correction functions normally but has no effect. Default: OFF. Values: OFF or 0 = normal DC even in P-CR mode, ON or 1 = DC has no effect any inaccurate fixation ignored, AUTO or -1 = Flash and bleep if subject is not fixating target but no correction for fixation error.
Example: driftcorrect_cr_disable = AUTO
remote_cal_enable
Syntax: remote_cal_enable = <remote calibration settings>
Description: Turns on remote calibration and disables automatic sequencing of targets. 0 to disable remote calibration. 1 or YES waits for all targets and at end of calibration. -1 waits only at end of cal (for data).
Example: remote_cal_enable = OFF
remote_cal_target
Syntax: remote_cal_target <targnum>
Description: Commands display of target in remote calibration. The target number is 1 to max for calibration mode. 0 will hide current target and return to waiting. Targets can be presented several times.
Example: remote_cal_target 1
remote_cal_complete
Syntax: remote_cal_complete
Description: Commands to complete remote calibration. Fails if data has not been collected for all targets yet.
Example: remote_cal_complete
calibration_status
Syntax: calibration_status
Description: READ-ONLY calibration data. Used to get current cal status and target info. The format of the string return value as: “targx targy targvis targnum totnum status”. targx, targy: target location (floating point), targvis: 0 if hidden 1 if drawn, targnum totnum: same as the “%d of %d” on cal screen, status: status same as on cal screen one of: STABLE, WAITING, PACING, MARKERS, MOVING, NO PUPIL, NO CR.
Example: calibration_status
calibration_fixation_data
Syntax: calibration_fixation_data
Description: Used to get info after fixation accepted. Will be blank before first accepted. Use string compare to test for changes. One line with lots of data. The format of the string return value as: “fixdata targid seqnum eye targx, targy, tstart, tend, pxl, pyl pxr, pyr, dxl, dyl, dxr, dyr, hxl, hyl, hxr, hyr”.
Example: calibration_fixation_data
remote_cal_data
Syntax: remote_cal_data <targ> <pxl> <pyl> <pxr> <pyr> <dxl> <dyl> <dxr> <dyr> <mx1> <my1> <mx2> <my2> <mx3> <my3> <mx4> <my4>
Description: This command requires 16 args from averages in the samples to be used as cal data. These are: p (pupil: x,y, left,right), d (p-cr: x,y, left,right), m (markers, x,y, 1 through 4). Any fields that were MISSING in all samples can be set to 0.
Example: remote_cal_data
remote_cal_href_data
Syntax: remote_cal_href_data <id> <pxl> <pyl> <pxr> <pyr> <dxl> <dyl> <dxr> <dyr> <hxl> <hyl> <hxr> <hyr>
Description: For use with external head-tracker. Supply eye data, target HREF equivalent. This command requires 12 args from averages in the samples to be used as cal data. These are: id: target number in XY position list, p (pupil: x,y, left,right), d (p-cr: x,y, left,right), h (target href: x,y, left,right). Any fields that were MISSING in all samples can be set to 0.
Example: remote_cal_href_data
reset_cal_data_points
Syntax: reset_cal_data_points
Description: Clears all calibration data points before sending remotely generated calibration data. Otherwise, both tracker and remote data will be plotted (and possibly averaged).
Example: reset_cal_data_points
disable_cal_auto_sequence
Syntax: disable_cal_auto_sequence = <switch>
Description: Disables auto-sequencing, prevents being turned on manually.
Example: disable_cal_auto_sequence = NO
disable_cal_trigger
Syntax: disable_cal_trigger = <switch>
Description: Disable any cal target fixation triggering; this forces use of remote data.
Example: disable_cal_trigger = NO
disable_cal_backspace
Syntax: disable_cal_backspace = <switch>
Description: Pressing the “backspace” key can redo the previous calibration points. Use this command to disable backing up through targets with “backspace” key.
Example: disable_cal_backspace = NO
disable_cal_auto_manual_switch
Syntax: disable_cal_auto_manual_switch = <switch>
Description: Prevents manual trigger (for targets other than first) from turning off automatic trigger and sequencing.
Example: disable_cal_auto_manual_switch = NO
normal_click_dcorr
Syntax: normal_click_dcorr = <ON or OFF>
Description: Whether the drift correction by mouse click button is available in normal (non-video) mode (default is OFF).
Example: normal_click_dcorr = OFF
always_default_calibration
Syntax: always_default_calibration
Description: Resets all calibration values to defaults before collecting new calibration. Last good calibration is saved before this, so should have no effect. DEFAULT: ON.
Example: always_default_calibration = ON
eye_camera_units_per_degree
Syntax: eye_camera_units_per_degree = <units>
Description: Scaling factor for raw eye camera pupil position in units per visual degree. Used for saccade detection on raw pupil data before calibration. Typical default is 2.0.
Example: eye_camera_units_per_degree = 2.0
crd_scaler
Syntax: crd_scaler = <left_scale>, <right_scale>
Description: Corneal Reflection Distance (CRD) scaler. Compensates for the geometric relationship between the camera, illuminator, and eye. Adjusts the P-CR vector based on the physical separation between the camera lens and IR illuminator. Separate values for left and right eyes.
Example: crd_scaler = 1.01, 1.01
minimum_eyecam_x_upd
Syntax: minimum_eyecam_x_upd = <value>
Description: Minimum acceptable X gain (units per degree) for calibration validation. If the computed X gain falls below this value, the calibration is rejected. Part of the calibration quality checking system.
Example: minimum_eyecam_x_upd = 0.5
maximum_eyecam_x_upd
Syntax: maximum_eyecam_x_upd = <value>
Description: Maximum acceptable X gain (units per degree) for calibration validation.
Example: maximum_eyecam_x_upd = 10.0
minimum_eyecam_y_upd
Syntax: minimum_eyecam_y_upd = <value>
Description: Minimum acceptable Y gain (units per degree) for calibration validation.
Example: minimum_eyecam_y_upd = 0.25
maximum_eyecam_y_upd
Syntax: maximum_eyecam_y_upd = <value>
Description: Maximum acceptable Y gain (units per degree) for calibration validation.
Example: maximum_eyecam_y_upd = 5.0
maximum_xy_gain_ratio
Syntax: maximum_xy_gain_ratio = <ratio>
Description: Maximum allowed ratio of Y gain to X gain (Gy/Gx) during calibration validation. This ratio is usually greater than 1.0. Prevents accepting calibrations with extreme anisotropic scaling.
Example: maximum_xy_gain_ratio = 5.0
minimum_xy_gain_ratio
Syntax: minimum_xy_gain_ratio = <ratio>
Description: Minimum allowed ratio of Y gain to X gain (Gy/Gx) during calibration validation.
Example: minimum_xy_gain_ratio = 1.0
maximum_linear_crossterm
Syntax: maximum_linear_crossterm = <value>
Description: Maximum allowed rotational/skew gain coefficient in the calibration polynomial. Limits how much cross-coupling between X and Y is acceptable.
Example: maximum_linear_crossterm = 0.8
maximum_nonlinearity
Syntax: maximum_nonlinearity = <x_ratio>, <y_ratio>
Description: Maximum allowed left/right and top/bottom gain ratios for the linearity test within the good-pupil region. Limits how much the gain can vary across the calibrated area.
Example: maximum_nonlinearity = 2.0, 4.0
maximum_corner_fixup
Syntax: maximum_corner_fixup = <ratio>
Description: Maximum allowed ratio of corner correction terms to linear terms in the calibration polynomial. Prevents corner correction from dominating the overall mapping.
Example: maximum_corner_fixup = 0.6
show_cal_target_while_waiting
Syntax: show_cal_target_while_waiting = <YES or NO>
Description: Controls whether the calibration target is displayed while the system is waiting for a fixation. Default is NO.
Example: show_cal_target_while_waiting = NO
active_eye
Description: TYPE: READ, WRITE, LASTRUN.INI Sets which eye is being tracked in monocular mode by default. Use “binocular_enabled” function to select binocular tracking. active_eye = RIGHT
allow_pupil_without_cr
Description: allow_pupil_without_cr = FALSE
ambient_filter_constant
Description: This sets the ambient-light detector filter constant. The smaller this number, the longer the response time. This was added because a few systems showed a small periodicity in pupil size under certain lighting conditions, which could be fixed with a very small filter constant (very slow response).
Example: ambient_filter_constant = 0.2
autothreshold_click
Description: autothreshold_click = TRUE
autothreshold_repeat
Description: autothreshold_repeat = TRUE
aux_mouse_simulation
Description: TYPE: READ, WRITE, MENU, LASTRUN.INI Whether mouse simulation is enabled.
Example: aux_mouse_simulation = NO
binocular_enabled
Description: TYPE: READ, WRITE, LASTRUN.INI Sets whether eye tracking is binocular or monocular. Use “active_eye” to select eye being tracked in monocular mode.
black_filter_constant
Description: This sets the CCD black-level compensation filter constant. See “ambient_filter_constant” for more information.
Example: black_filter_constant= 0.01
camera_color_ramp
Description: Sets up camera image color sets. camera_color_ramp 2, 0.000, 0.00, 0.400, 0.620, 0.400, 0.620
camera_rotmirror_enable
Syntax: camera_rotmirror_enable <ON or OFF>
Description: Enables the camera image rotation and mirror controls in the Camera Setup screen. When ON, the rotation and vertical flip buttons are displayed and functional. Required for configurations where the camera sensor is not in the standard orientation.
Example: camera_rotmirror_enable ON
camera_rotmirror_angle
Syntax: camera_rotmirror_angle <degrees>
Description: Sets the initial camera image rotation angle in degrees for the Camera Setup screen rotation control.
Example: camera_rotmirror_angle 0
camera_rotmirror_angstep
Syntax: camera_rotmirror_angstep <degrees>
Description: Sets the step size in degrees for each press of the camera rotation button in the Camera Setup screen.
Example: camera_rotmirror_angstep 90
camera_rotmirror_mirror
Syntax: camera_rotmirror_mirror <YES or NO>
Description: Sets the initial state of the vertical mirror (flip) for the camera image in the Camera Setup screen.
Example: camera_rotmirror_mirror YES
camera_sensor_limits
Syntax: camera_sensor_limits <left> <top> <width> <height> <flags>
Description: Specifies the active area of the camera sensor. Used to crop or limit the region of the sensor that is read. Values are in sensor pixel coordinates.
Example: camera_sensor_limits 0 8 2048 2048 0
cl_edf_identifier
Description: Specifies the EDF file identifier that is used by applications like edf2asc to determine the EDF file type DO NOT CHANGE THIS VALUE, OR YOUR EDF FILES WILL NOT BE READABLE Default Value: “SR_RESEARCH_COMBFILE”
Example: cl_edf_identifier = "SR_RESEARCH_1000FILE"
corneal_mode
Description: READ, WRITE, LASTRUN.INI Selects eye tracking mode. Sets sampling rate in combination with “use_high_speed”. YES selects pupil-corneal mode, NO selects pupil-only mode.
Example: corneal_mode = YES
corneal_select_limits
Description: Sets the rectangle to limit selection (left, top, right, bottom). If any part of candidate P or CR touches this, it is disqualified (must be inside of or equal to defaults). defaults: 1, 1, 191, 158
corneal_select_size
Description: Sets the size criteria for pupil and corneal reflection selection. minwidth, maxwidth: (1-191) minheight, maxheight: (1-150), minarea, maxarea: (area <= height*width)
Example: pupil_select_size = 8, 120, 8, 120, 100, 15000
current_camera
Description: TYPE: READ, WRITE, LASTRUN.INI Sets which camera is currently selected for threshold adjustment, displayed as the large image in Camera Setup mode, or is sent over the link. current_camera = RIGHT
disable_corneal_reflection
Description: These are used for primate systems, to remove buttons and permanently block CR and head tracking. If enabled, the layout of the set options screen and camera setup screen are modified.
Example: disable_head_camera = NO
disable_gaze_cursors
Description: Disables drawing of gaze cursors, intended for recording without calibration. This will print out a warning message on the tracker display (“Gaze cursor disabled by ini file or command”). As an alternative for video overlay, set the overlay cursor to be dark: Colors that work:1,3,4,25,26,30,31,32,140,141 Change colors in these commands from VIDOVL.INI: video_monoc_cursor_color = 141 // monoc and cyclopean video_custom_cursor_color = 141 // last color menu entry video_binoc_cursor_colors = 214, 234, 180 //binoc:L,R,overlap
Example: disable_gaze_cursors = NO
disable_head_camera
Description: These are used for primate systems, to remove buttons and permanently block CR and head tracking. If enabled, the layout of the set options screen and camera setup screen are modified.
Example: disable_head_camera = NO
draw_link_crosshairs
Description: New camera options have been added, including allowing image data to be sent in any mode. A new image type (4) has been added with enhanced compression for this purpose. In addition, cross-hair data has been packed into the PALDATA structure. NOTE: the color of the pupil-limit box has been changed from green to blue as the new compression only handles 128 colors. This command sets whether cross-hairs will appear on the image sent over the link. These may be turned off if the cross-hairs are to be drawn on the display PC. (This is automatically done by selecting image mode 5). However, these must usually be turned on for older API program compatibility.
Example: draw_link_crosshairs = ON
elcl_camera_orientation
Syntax: elcl_camera_orientation = <angle> <yflip> [<angle> <yflip>]
Description: Specifies camera rotation and whether a vertical mirror is used. The first pair of values applies to monocular mode; the optional second pair applies to binocular mode. <angle>: rotation of the camera sensor in degrees. <yflip>: whether the camera image is vertically flipped (0 = no flip, 1 = flip). This parameter is set by the configuration profile (e.g., BTABLER.INI) and must match the physical camera mounting. It directly affects how raw camera image coordinates are transformed before gaze computation. Incorrect values will rotate the internal coordinate frame relative to reality, affecting the P-CR to HREF conversion. The value is not a clean multiple of 90 for some mount configurations (e.g., 142 for Desktop Mount with illuminator on the right side).
Example: elcl_camera_orientation = 142 0
Typical values by configuration:
Config |
Value |
Mount Type |
|---|---|---|
BTABLER |
142 0 |
Desktop, illuminator right, binoc/monoc |
BTABLEC |
180 0 |
Desktop, illuminator center, binoc/monoc |
BTOWER |
0 1 |
Tower mount, binoc/monoc |
RTABLER |
180 0 |
Remote desktop, illuminator right |
RTABLEC |
180 0 |
Remote desktop, illuminator center |
BLRR |
142 1 |
Long range, binoc |
TOWER |
0 0 |
Tower mount, monoc |
elcl_camera_configuration
Syntax: elcl_camera_configuration = <split_binoc> <slider>
Description: Describes camera mounting and binocular configuration. <split_binoc>: YES/NO, enables split-screen binocular mode (camera image must be rotated for this to function properly). <slider>: YES/NO, enables moveable-camera side detection (tower mount only).
Example: elcl_camera_configuration = YES NO
camera_to_eye_distance
Syntax: camera_to_eye_distance = <distance in mm>
Description: Sets the expected median eye-to-camera distance in millimetres. Used for precalculating internal constants and mouse simulation. Typical default is 600 mm for desktop configurations.
Example: camera_to_eye_distance = 600
camera_lens_focal_length
Syntax: camera_lens_focal_length = <focal length in mm>
Description: Focal length of the camera lens in millimetres. Note that the effective focal length may be slightly greater than lens specifications due to optical differences at infrared wavelengths. Typical values: 16 mm, 25 mm, or 35 mm depending on the mount and lens configuration.
Example: camera_lens_focal_length = 38
elcl_hold_if_no_corneal
Description: elcl_hold_if_no_corneal = OFF
elcl_pupil_symmetry_gain
Description: elcl_pupil_symmetry_gain 0.0 0.0
elcl_search_if_no_corneal
Description: elcl_search_if_no_corneal = ON
elcl_use_pcr_matching
Description: elcl_use_pcr_matching = ON
elcl_corneal_search_shape
Syntax: elcl_corneal_search_shape <params...>
Description: Defines the shape parameters for corneal reflection (CR) search region. Controls the geometric constraints used when searching for the CR in the camera image. Parameters define aspect ratios, size limits, and shape factors for the CR search algorithm.
Example: elcl_corneal_search_shape 3.5, 3.5, 0.40, 0.40, 0.45, 1.0, 0.5, 2.0
elcl_corneal_select_shape
Syntax: elcl_corneal_select_shape <params...>
Description: Defines the shape parameters for corneal reflection (CR) selection. Controls how a detected CR candidate is validated based on its geometric properties. Tighter constraints than the search shape to confirm a valid CR.
Example: elcl_corneal_select_shape 3.5, 3.5, 0.30, 0.30, 0.45, 1.0, 0.5, 2.0
elcl_corneal_select_size
Syntax: elcl_corneal_select_size = <min_w>, <max_w>, <min_h>, <max_h>, <min_area>, <max_area>
Description: Sets the size limits for corneal reflection (CR) selection. Defines minimum and maximum width, height, and area constraints for accepting a CR candidate. Values are in camera sensor pixels.
Example: elcl_corneal_select_size = 5, 30, 5, 30, 20, 1000
elcl_pupil_search_shape
Syntax: elcl_pupil_search_shape <params...>
Description: Defines the shape parameters for pupil search region. Controls the geometric constraints used when searching for the pupil in the camera image. Parameters define aspect ratios, size limits, and shape factors for the pupil search algorithm.
Example: elcl_pupil_search_shape 1.8, 2.0, 0.25, 0.25, 0.50, 0.9, 0.5, 2.0
elcl_pupil_select_shape
Syntax: elcl_pupil_select_shape <params...>
Description: Defines the shape parameters for pupil selection. Controls how a detected pupil candidate is validated based on its geometric properties.
Example: elcl_pupil_select_shape 1.8, 2.5, 0.25, 0.25, 0.50, 0.9, 0.5, 2.0
elcl_pupil_select_size
Syntax: elcl_pupil_select_size = <min_w>, <max_w>, <min_h>, <max_h>, <min_area>, <max_area>
Description: Sets the size limits for pupil selection. Defines minimum and maximum width, height, and area constraints for accepting a pupil candidate. Values are in camera sensor pixels.
Example: elcl_pupil_select_size = 15, 140, 15, 140, 100, 20000
elcl_define_tt_powers
Syntax: elcl_define_tt_powers <name1>,<pwr1>,<ctrl1> <name2>,<pwr2>,<ctrl2> ...
Description: Defines control settings and names for ELCL TT (illuminator) power levels. Level 0 is always OFF, so settings start with level 1. Level 1 should be the default power level.
Example: elcl_define_tt_powers 100%,3,3 75%,3,0 50%,1,0
elcl_tt_power
Syntax: elcl_tt_power <level>
Description: Sets ELCL TT illuminator power level. The index corresponds to levels defined by elcl_define_tt_powers. Index 0 is OFF. Default levels: 1 = 100%, 2 = 75%, 3 = 50%.
Example: elcl_tt_power 2
elcl_detect_tt
Syntax: elcl_detect_tt <tt_ini_file> <non_tt_ini_file> ...
Description: Detects if a power-settable ELCL TT mount is connected. If so, loads the first INI file. If not, loads the second INI file (if given). Used during startup to select the appropriate configuration based on connected hardware.
Example: elcl_detect_tt "dscfg.ini" "tscfg.ini" "docfg.ini" "tocfg.ini"
elcl_select_configuration
Syntax: elcl_select_configuration <config_name>
Description: Loads the INI file and highlights the button associated with the given configuration name. If the named configuration has not been defined, no change is made and an error is reported. Used to switch between mount configurations (e.g., BTABLER, MTABLEC, RTABLER).
Example: elcl_select_configuration BTABLER
elcl_tracking_init
Syntax: elcl_tracking_init <x1> <y1> <x2> <y2>
Description: Sets the initial tracking window coordinates in camera sensor pixels. Defines the region of interest for initial pupil detection at startup. Saved in lastrun.ini.
Example: elcl_tracking_init 780 912 1424 1116
enable_camera_position_detect
Description: enable_camera_position_detect = TRUE
enable_search_limits
Description: enable_search_limits = ON
eye_current_limit
Description: Sets the maximum drive current to pupil illuminators. The default is 350 mA.
Example: eye_current_limit = 350
eyelink_file_xfer_packets
Description: Sets number of packets per file transfer block. This is 1 by default (reset at connection) for compatibility with older API code. Min 1, max 16. 0 - sets to 1, locks against further writes -1..-16: writes negative (1..16), unlocks
Example: eyelink_file_xfer_packets 0
file_buffer_record_display
Description: file_buffer_record_display = OFF
force_corneal_reflection
Description: Hides “Pupil” mode button on Camera Setup screen Pupil Only mode should only be used in EyeLink 1000 when participants head is completely fixed. Default Value: OFF
Example: force_corneal_reflection =TRUE
force_ellipse_fitter
Syntax: force_ellipse_fitter <mode>
Description: Controls the ellipse fitting algorithm for pupil and CR detection. -1 = auto-detect (use ellipse fitter if available), 0 = disable, 1 = force enable. The ellipse fitter provides more accurate pupil boundary detection than the default centroid method.
Example: force_ellipse_fitter -1
use_ellipse_fitter
Syntax: use_ellipse_fitter = <YES or NO>
Description: Enables or disables the ellipse fitter for pupil detection. Similar to force_ellipse_fitter but with a simpler YES/NO interface.
Example: use_ellipse_fitter = NO
display_ellipse
Syntax: display_ellipse <TRUE or FALSE>
Description: Controls whether the fitted ellipse outline is displayed on the camera image in the Camera Setup screen. Useful for verifying ellipse fitter accuracy.
Example: display_ellipse TRUE
efit2_params
Syntax: efit2_params <threshold> <min_area> <max_area> <param4> <param5> <param6> <param7> <param8>
Description: Parameters for the version 2 ellipse fitting algorithm. Controls the threshold, area limits, and fitting quality parameters for pupil boundary detection.
Example: efit2_params 0.85 400 1000 0 0 0.4 0.6 1
efit2_cr_clip
Syntax: efit2_cr_clip <params...>
Description: Parameters controlling how the ellipse fitter handles corneal reflection (CR) clipping. Defines how the CR region is excluded from the pupil ellipse fit to prevent CR contamination of the pupil boundary.
Example: efit2_cr_clip 7 10 3 2
efit3_params
Syntax: efit3_params <params...>
Description: Parameters for the version 3 ellipse fitting algorithm. Controls threshold ratios, quality bounds, and iteration limits for the enhanced pupil boundary detection.
Example: efit3_params 0.92 0.78 1.08 0.99 6 0.2 0
efit3_retrim_params
Syntax: efit3_retrim_params <params...>
Description: Parameters controlling the retrimming step of the version 3 ellipse fitter. Adjusts how outlier pixels are removed from the ellipse boundary fit in successive iterations.
Example: efit3_retrim_params 0.15 0.1 0.1 3
use_efit3
Syntax: use_efit3 <pupil_enable> <cr_enable>
Description: Enables the version 3 ellipse fitter separately for pupil and CR detection. First value controls pupil, second controls CR. 1 = enable, 0 = disable.
Example: use_efit3 1 0
large_offset_to_blink
Syntax: large_offset_to_blink <enable> <threshold>
Description: When enabled, treats large sudden offsets in pupil position as blinks rather than saccades. The threshold defines the maximum acceptable offset before the sample is classified as a blink artifact.
Example: large_offset_to_blink 1 3.0
force_elcl_mode
Description: force_elcl_mode = TRUE
force_network_present
Description: force_network_present = TRUE
hcam_center
Description: Each head camera has been calibrated during manufacture, and its characteristics written on the camera back. <hcam_center> are the OX and OY parameters and <hcam_scale> are the SX and SY parameters. These can be used in FINAL.INI to override the headband EEPROM calibration for the head camera.
Example: hcam_center = -22400, -15700
hcam_scale
Description: Each head camera has been calibrated during manufacture, and its characteristics written on the camera back. <hcam_center> are the OX and OY parameters and <hcam_scale> are the SX and SY parameters. These can be used in FINAL.INI to override the headband EEPROM calibration for the head camera.
Example: hcam_scale = -585, -245
heuristic_filter
Description: TYPE: Read, Write, lastrun.ini, MENU Can be used to set level of filtering on the link and analog output, and on file data. An additional delay of 1 sample is added to link or analog data for each filter level. If an argument of heuristic_filter 1 2
set_filter_levels
Syntax: set_filter_levels <mode> <level>
Description: Sets the heuristic filter level for data filtering. <mode>: R (recording), L (link), or other mode identifier. <level>: filter level (0 = off, 1 = standard, 2 = extra, 3 = maximum). Applied to all mount-specific configurations.
Example: set_filter_levels R 3
set_autoexposure
Syntax: set_autoexposure <params...>
Description: Configures the automatic exposure adjustment system. Controls target exposure levels, adjustment rates, and enable/disable for the camera autoexposure algorithm.
Example: set_autoexposure 2000 440 170 190 440 440 OFF 440 440 1.0
auto_exposure
Syntax: auto_exposure <mode>
Description: Sets the autoexposure mode. 0 = manual exposure, other values select different autoexposure algorithms.
Example: auto_exposure 0
imager_gain
Description: Both the eye camera and head camera gains have a range between 0 snd 319. The default values for them are 110,120. Gain doubles for each 64 counts.
Example: imager_gain = 110, 120
initial_thresholds
Description: TYPE: WRITE, READ, LASTRUN.INI Image processing thresholds (values 0..255).
Example: initial_thresholds = 66, 40, 66, 150, 150
left_eye_head_camera_offset
Description: When in FINAL.INI, overrides head camera-to-eye parallax correction settings. Set all to 0 to disable parallax fixup. While these settings are supposed to be based on difference in position in millimetres, in actuality these are determined empirically. left_eye_head_camera_offset = 40.0 70.0 0.0 70.0
lock_active_eye
Description: TYPE: READ, WRITE, LASTRUN.INI Controls whether the camera for the eye that is not being tracked monocularly (left or right, no effect in binocular) is locked out of camera selection. This prevents left and right arrow selection, or clicking on camera thumbnails, from selecting the uncalibrated eye.
Example: lock_active_eye = YES
lock_eye_after_calibration
Description: TYPE: READ, WRITE, MENU, LASTRUN.INI Controls whether the current eye (left or right, no effect in binocular) is locked in after calibration. Essentially this just sets “lock_active_eye” at the end of monocular calibration.
Example: lock_eye_after_calibration = YES
logfile_contents
Description: Each time the tracker is run, a log file (EYE.LOG) is created. It can contain various kinds of data, including errors, calibration results, and debugging information. These levels of logging are available: FILE includes all commands in INI files, allowing a record of configuration to be kept LINK includes all link commands, system variable writes and reads MACROS includes contents of macros, key/button functions and internal commands executed MESSAGES includes all messages logged to the data file READ includes all variable reads ALL does all of the above
Example: logfile_contents = ALL
mirror_elcl_image
Description: mirror_elcl_image = ON, ON
mirror_eyecam_image
Description: Controls orientation of eye/head camera image. Flipping the image top-to-bottom or left-to-right may make setup more intuitive for some subjects. This flips both image and data. The default is to horizontally flip eye cameras only. mirror_eyecam_image = YES, YES
mirror_headcam_image
Description: Controls orientation of eye/head camera image. Flipping the image top-to-bottom or left-to-right may make setup more intuitive for some subjects. This flips both image and data. The default is to horizontally flip eye cameras only. mirror_headcam_image = NO, NO
pupil_crosstalk_fixup
Description: A compensatory factor to remove effect of pupil size from pupil position (i.e., a small optical crosstalk between pupil size and Y position in the image). This is caused by not looking at the eye from straight on. X and Y values scale pupil area are added to position actual scale: about 1/300 degree per unit. Defaults are 0.000, -0.001. However, if you are using mirrors (e.g., in monkeys systems). This should be set to 0.0, 0.0. pupil_crosstalk_fixup = 0.000, -0.001
pupil_min_size
Description: Sets the minimum size of pupil (default 8) and option second parameter, the minimum area (whdensity) of pupil.
Example: pupil_min_size 8
pupil_select_limits
Description: Sets the rectangle to limit selection (left, top, right, bottom). If any part of candidate P or CR touches this, it is disqualified (must be inside of or equal to defaults). defaults: 1, 1, 191, 158
Example: pupil_select_limits 1, 1, 191, 158
pupil_select_size
Description: Sets the size criteria for pupil and corneal reflection selection. minwidth, maxwidth: (1-191) minheight, maxheight: (1-150), minarea, maxarea: (area <= height*width)
Example: pupil_select_size = 8, 120, 8, 120, 100, 15000
pupil_size_diameter
Description: READ, WRITE, MENU. LASTRUN.INI Sets the type of data used for pupil size. The type can be a number, or a word (only first letter checked). The <ID_CODE> below is the pupil type (prescaler) field of link data. TYPE TYPE CODE ID_CODE DATA area AREA, NO, OFF, 0 1 area diameter DIAMETER, YES, ON, 1 128 128sqrt(area) width WIDTH, 2 90 180width height HEIGHT, 3 180 180*height
Example: pupil_size_diameter = AREA
pupil_gproc_parameters
Syntax: pupil_gproc_parameters <params...>
Description: Image processing parameters for pupil detection. Controls the preprocessing applied to the camera image before pupil thresholding and centroid/ellipse fitting.
Example: pupil_gproc_parameters 3 70 10
cr_gproc_parameters
Syntax: cr_gproc_parameters = <params...>
Description: Image processing parameters for corneal reflection (CR) detection. Controls the preprocessing applied to the camera image before CR thresholding and detection.
Example: cr_gproc_parameters = 8 500
pupil_size_warn_size
Syntax: pupil_size_warn_size <min> <max>
Description: Pupil size range (in camera sensor units) for generating warnings. If the detected pupil size falls outside this range, a warning is displayed on the Host PC.
Example: pupil_size_warn_size 15 120
max_pupil_cr_mm
Syntax: max_pupil_cr_mm = <distance_mm>
Description: Maximum allowed distance in millimetres between the pupil center and the corneal reflection. Used in remote mode to reject invalid P-CR measurements that are physically implausible.
Example: max_pupil_cr_mm = 7
rec_plot_colors
Description: Sets colors of traces in data plotting. Each of the 4 traces (LX, LY, RX, RY) can be changes separately. The color of traces where overlaps occur may also be set. Finally, the background of the gain and offset edit boxes can be modified. Default Values: 255,210,227,192, 191, 15,4,15,4
Example: rec_plot_colors = 255,95,210,192, 191, 15,4,15,4
rec_plot_mclick_step
Description: sets step in gain/offsetr when clicking on arrow buttons <offset_step>: fraction of total range to adjust (0.00..1.00) <gain_ratio>: multiplier/divisor for gain (1.00..2.00) default: 0.05 (20 steps top-to-bottom), 1.1892 (4 step for factor of 2 gain change)
Example: rec_plot_mclick_step 0.05 1.1892
rec_plot_simple_offset
Description: rec_plot_simple_offset = OFF
rec_plot_enabled
Syntax: rec_plot_enabled = <ON or OFF>
Description: Controls whether the real-time data plot (vs. gaze cursor) is displayed during recording on the Host PC.
Example: rec_plot_enabled = ON
rec_plot_data
Syntax: rec_plot_data = <data_type>
Description: Selects what the recording plot displays. RAW and ANALOG are coupled to output channels. GAZE and HREF plot calibrated data and can be vertically zoomed. ANGLE displays HREF as angle = atan(HREF/15000). Options: RAW, GAZE, HREF, ANGLE, ANALOG.
Example: rec_plot_data = GAZE
rec_plot_speed
Syntax: rec_plot_speed = <speed_index>
Description: Sets the plotting speed (sweep rate). 0 = 4 ms/column (2 sec/sweep), 1 = 8 ms/column (4 sec/sweep), 2 = 12 ms/column (6 sec/sweep), 3 = 20 ms/column (10 sec/sweep), 4 = 30 ms/column (15 sec/sweep), 5 = 40 ms/column (20 sec/sweep), 6 = 60 ms/column (30 sec/sweep), 7 = 90 ms/column (45 sec/sweep), 8 = 120 ms/column (60 sec/sweep).
Example: rec_plot_speed = 2
rec_plot_always_collect
Syntax: rec_plot_always_collect = <YES or NO>
Description: Controls whether plot data is collected even when the gaze cursor is active. If ON, data appears as history when switching to plot mode. If OFF, data is cleared when switching to plot mode. Data is always cleared at entry to record mode.
Example: rec_plot_always_collect = NO
recording_parse_type
Description: Data type used to compute velocity for parsing of eye movements during recording. Both gaze and head-referenced data are available for other statistics. Almost always left to GAZE. recording_parse_type = GAZE
right_eye_head_camera_offset
Description: When in FINAL.INI, overrides head camera-to-eye parallax correction settings. Set all to 0 to disable parallax fixup. While these settings are supposed to be based on difference in position in millimetres, in actuality these are determined empirically. right_eye_head_camera_offset = -40.0 70.0 0.0 70.0
search_limits_rect
Description: search_limits_rect = -1
search_limits_shape
Description: search_limits_shape = 1
search_limits_size
Description: search_limits_size = 500 500
search_limits_rect_binoc
Syntax: search_limits_rect_binoc = <Lleft>,<Ltop>,<Lright>,<Lbottom> <Rleft>,<Rtop>,<Rright>,<Rbottom>
Description: Search limits rectangles for binocular modes. Separate rectangles for left and right eye search regions. Coordinates are in camera sensor pixels. Valid range: x=32..1263, y=48..971. Set to -1 to indicate undefined.
Example: search_limits_rect_binoc = 531,664,1028,1161 1176,867,1673,1364
binoc_intereye_ref
Syntax: binoc_intereye_ref <distance> <angle> <x> <y>
Description: Sets the startup inter-eye difference reference for binocular tracking. Used for recovery if one eye is lost. <distance>: distance between eyes in camera pixels. <angle>: angle of line connecting eyes in degrees (0 = horizontal). <x>, <y>: last recorded difference (R-L) in unrotated camera pixels.
Example: binoc_intereye_ref 752 3 737 45
select_eye_after_validation
Description: TYPE: READ, WRITE Controls whether the best eye is automatically selected as the default after validation. If NO, binocular mode is kept by default. This is automatically disabled in scene camera mode.
Example: select_eye_after_validation = NO
select_parser_configuration
Syntax: select_parser_configuration = <set>
Description: Selects the preset saccade detector configuration for standard parser setup (0) or more sensitive saccade detector (1). These are equivalent to the cognitive and psychophysical configurations. select_parser_configuration 0
fast_velocity_filter
Syntax: fast_velocity_filter = <YES or NO>
Description: Uses faster velocity filter. This shortens saccades, but has less noise immunity. The slow filter has 25% response at 2 samples, 0 at 3 samples. The fast filter has 50% response at 1 sample, 0 at 2 samples.
Example: fast_velocity_filter = YES
saccade_velocity_threshold
Syntax: saccade_velocity_threshold = <vel>
Description: Sets velocity threshold of saccade detection. saccade_velocity_threshold = 30
saccade_acceleration_threshold
Syntax: saccade_acceleration_threshold = <accel>
Description: Sets acceleration threshold of saccade detector. saccade_acceleration_threshold = 8000
saccade_motion_threshold
Syntax: saccade_motion_threshold = <deg>
Description: Sets a spatial threshold to shorten saccades. Usually 0.10 for cognitive research, 0 for pursuit and neurological work. saccade_motion_threshold = 0.1
saccade_pursuit_fixup
Syntax: saccade_pursuit_fixup = <maxvel>
Description: Sets the maximum pursuit velocity accommodation by the saccade detector. saccade_pursuit_fixup = 60
saccade_extend_velocity
Syntax: saccade_extend_velocity = <degrees per second>
Description: Extend length while above this velocity.
Example: saccade_extend_velocity = 25
saccade_max_extend_start
Syntax: saccade_max_extend_start = <time in msec>
Description: Max time to extend at the start of the saccade.
Example: saccade_max_extend_start = 0
saccade_max_extend_after
Syntax: saccade_max_extend_after = <time in msec>
Description: Max time to extend at the end of the saccade.
Example: saccade_max_extend_after = 0
saccade_onset_verify_time
Syntax: saccade_onset_verify_time = <time in msec>
Description: Milliseconds that saccade exceeds velocity threshold. These times are used to verify that saccade isn’t borderline or noise.
Example: saccade_onset_verify_time = 4
saccade_offset_verify_time
Syntax: saccade_offset_verify_time = <time in msec>
Description: Fill-in for gaps in saccade. These times are used to verify that saccade isn’t borderline or noise.
Example: saccade_offset_verify_time = 20
blink_offset_verify_time
Syntax: blink_offset_verify_time = <time in msec>
Description: Blink detection. Blink (missing pupil) gaps may need to be filled in.
Example: blink_offset_verify_time = 12
parser_discard_startup
Syntax: parser_discard_startup = <YES or NO>
Description: If enabled, does not output events until eye data changes. For example, if the eye is in a blink or fixation at the start of recording, no events will be output for that blink or fixation.
Example: parser_discard_startup = NO
fixation_update_interval
Syntax: fixation_update_interval = <time>
Description: During fixation, send updates every (m) msec, integrated over (n) msec (max=m, min = 4 msec). These can be used for gaze-controlled software or for pursuit tracking. Intervals of 50 or 100 msec are suggested. Interval of 0 disables. NOTE: 50 RECOMMENDED FOR ONLINE DRIFT CORRECT.
Example: fixation_update_interval = 50
fixation_update_accumulate
Syntax: fixation_update_accumulate = <time>
Description: During fixation, send updates every (m) msec, integrated over (n) msec (max=m, min = 4 msec). Normally set to 0 to disable fixation update events. Set to 50 or 100 msec to produce updates for gaze-controlled interface applications. Set to 4 to collect single sample rather than average position.
set_image_channel
Description: TYPE: READ, WRITE, LASTRUN.INI Sets which camera is currently selected for threshold adjustment, displayed as the large image in Camera Setup mode, or is sent over the link. current_camera = RIGHT
set_record_data_defaults
Description: WRITE, MENU, LASTRUN.INI This sets the default behavior of “start_recording” when it has no data control arguments. It is used for the Options menu manual data recording settings. NOTE: this is NOT affected by the data control arguments of “start_recording”. The “TRACK” program fools around with this setting, turning off all data so that when manually starting recording it can stop and restart recording with its own settings, graphics, etc.
Example: set_record_data_defaults DATA=1,1,0,0
start_in_camera_setup
Description: Allows tracker to start in Camera Setup mode rather than Offline mode Default: NO
Example: start_in_camera_setup TRUE
sticky_mode_data_enable
Description: Sets link and/or file data output in modes other than record. If the suffix is blank, data will be turned off. The data control will be overridden by a data control suffix in any mode-setting command. The data control specification is one of these formats: - “DATA sticky_mode_data_enable DATA = 0 0 0 0
sticky_mode_parse_type
Description: specifies parsing data type for all modes but record this will be overridden in cal (raw), val, and DC (gaze)
Example: sticky_mode_parse_type GAZE
track_search_limits
Description: track_search_limits = OFF
use_camimg_palette_colors
Description: Use tracker palette colors for display-PC camera image Default: NO
Example: use_camimg_palette_colors = ON
use_high_speed
Description: READ, WRITE, LASTRUN.INI Whether to use high-speed modes. Sets sampling rate in combination with “corneal_mode”. This is YES for 500 Hz mode with pupil 250 Hz pupil-corneal mode.
Example: use_high_speed = YES
Configuration Names Reference
Configuration abbreviations and their meanings:
From CMV_CFG.INI:
MTABLER: Desktop ~ Stabilized Head ~ Monocular ~ 35mm lens
BTABLER: Desktop ~ Stabilized Head ~ Binoc/Monoc ~ 35mm lens
RTABLER: Desktop (Remote mode) ~ Target Sticker ~ Monocular ~ 16/25mm lens
RBTABLER: Desktop (Remote mode) ~ Target Sticker ~ Binoc/Monoc ~ 16/25mm lens
AMTABLER: Arm Mount ~ Stabilized Head ~ Monocular ~ 35mm lens
ABTABLER: Arm Mount ~ Stabilized Head ~ Binoc/Monoc ~ 35mm lens
ARTABLER: Arm Mount (Remote mode) ~ Target Sticker ~ Monocular ~ 16/25mm lens
ABRTABLE: Arm Mount (Remote mode) ~ Target Sticker ~ Binoc/Monoc ~ 16/25mm lens
BTOWER: Tower Mount (Binocular) ~ Stabilized Head ~ Binoc/Monoc ~ 25mm lens
From TSCFG.INI:
TOWER: Tower Mount ~ Stabilized Head ~ Monocular ~ 25mm lens
MPRIM: Primate Mount ~ Stabilized Head ~ Monocular ~ 25mm lens
BPRIM: Primate Mount ~ Stabilized Head ~ Binoc/Monoc ~ 25mm lens
From TOCFG.INI:
MLRR: Long Range Mount ~ Stabilized Head ~ Monocular ~ 35-75mm lenses ~ Camera Level
BLRR: Long Range Mount ~ Stabilized Head ~ Binoc/Monoc ~ 35-75mm lenses ~ Camera Angled
drift_correction
Syntax: drift_correction <offset x> <offset y> <gaze x> <gaze y> [list of options]
Description: Performs a drift correction, using a display position and an offset. The offset is (target position - actual fixation). The drift correction happens immediately, and will cause a jump in eye-movement data. OPTIONS: L or 0 = do left eye, R or 1 = do right eye (if neither specified does one or both depending on eyes tracked), HREF = data and drift correction is in HREF coordinates, if HREF is not in the option list = simply add offset to gaze position.
Example: drift_correction
accept_target_fixation
Syntax: accept_target_fixation
Description: Acts to trigger manual accept of a target fixation. Used by many API programming examples and the API function eyelink_accept_trigger(). Most examples program button 5 to issue this command when pressed.
Example: accept_target_fixation
collect_target_fixation
Syntax: collect_target_fixation <start time> <end time>
Description: Acts to trigger manual accept of a target fixation. The time arguments are ignored for EyeLink 1000.
Example: collect_target_fixation
apply_last_drift_correction
Syntax: apply_last_drift_correction <optional fraction>
Description: When a drift correction is done using “start_drift_correction” issued through the link, the actual drift correction is not done. This command applies the computed correction. If a fraction is supplied, then only a portion of the error is corrected. Used by the API function eyelink_apply_driftcorr().
Example: apply_last_drift_correction
restore_old_calibration
Syntax: restore_old_calibration
Description: Supposed to reload the last calibration and drift correction. This happens automatically now, so these may have no effect.
Example: restore_old_calibration
start_bitmap_transfer
Syntax: start_bitmap_transfer <type> <destx> <desty> <width> <height>
Description: Starts transfer of record-background bitmap to tracker. It returns specifications for bitmap conversion. This command is only legal in Offline and Output menu modes. type: 0 if color, 1 if greyscale. destx, desty: position of top-left in gaze coords on tracker display. width, height: size of bitmap in gaze coords on tracker display. Returns: required bitmap specifications as a string: “start_bitmap_transfer
stop_bitmap_transfer
Syntax: stop_bitmap_transfer
Description: Aborts transfer of record-background bitmap to tracker, typically if an error occurs. Used by the API function gdi_bitmap_core().
Example: stop_bitmap_transfer
start_playback
Syntax: start_playback
Description: Starts last-trial playback which is limited to Offline mode. Used by the API function eyelink_playback_start().
Example: start_playback
abort_playback
Syntax: abort_playback
Description: Ends last-trial playback. Used by the API function eyelink_playback_stop().
Example: abort_playback
mark_playback_start
Syntax: mark_playback_start
Description: Marks the location in the data file from which playback will begin at the next call to eyelink_playback_start(). When this command is not used (or on older tracker versions), playback starts from the beginning of the previous recording block. This default behavior is suppressed after this command is used, until the tracker software is shut down.
Example: mark_playback_start
print_position
Syntax: print_position <column><line>
Description: Coordinates are text row and column, similar to C gotoxy() function. NOTE: row cannot be set higher than 25. Use ‘draw_text’ command to print anywhere on the tracker display. col: text column, 1 to 80. row: text line, 1 to 25.
Example: print_position
clear_screen
Syntax: clear_screen <color: 0 to 15>
Description: Clear tracker screen for drawing background graphics or messages.
Example: clear_screen
draw_line
Syntax: draw_line <x1> <y1> <x2> <y2> <color>
Description: Draws line, coordinates are gaze-position display coordinates. x1,y1: start point of line. x2,y2: end point of line. color: 0 to 15.
Example: draw_line
draw_box
Syntax: draw_box <x1> <y1> <x2> <y2> <color>
Description: Draws empty box, coordinates are gaze-position display coordinates. x1,y1: corner of box. x2,y2: opposite corner of box. color: 0 to 15.
Example: draw_box
draw_filled_box
Syntax: draw_filled_box <x1> <y1> <x2> <y2> <color>
Description: Draws a solid block of color, coordinates are gaze-position display coordinates. x1,y1: corner of box. x2,y2: opposite corner of box. color: 0 to 15.
Example: draw_filled_box
draw_text
Syntax: draw_text <x1> <y1> <color> <text>
Description: Draws text, coordinates are gaze-position display coordinates. x1,y1: center point of text. color: 0 to 15. text: text of line, in quotes.
Example: draw_text
echo
Syntax: echo <text>
Description: Prints text at current print position to tracker screen, gray on black only. text: text to print in quotes.
Example: echo
draw_cross
Syntax: draw_cross <x> <y>
Description: Draws a small ‘+’ to mark a target point. x1,y1: center point of cross. color: 0 to 15.
Example: draw_cross
begin_macro
Syntax: begin_macro <name>
Description: Starts (opens) a macro definition. name can be any word that is not an existing command. All macro_line commands until the next end_macro will be added to this macro.
Example: begin_macro
end_macro
Syntax: end_macro
Description: Closes the current macro definition.
Example: end_macro
macro_line
Syntax: macro_line <rest of line as command>
Description: Adds all text following “macro_line as a line of the currently open macro. This includes comments, etc. Must be preceded by “begin_macro” and followed by “end_macro”.
Example: macro_line
do_macro
Syntax: do_macro <name>
Description: Executes all lines of the macro do_macro
delete_macro
Syntax: delete_macro <name>
Description: Deletes the macro delete_macro
flush_logfile
Syntax: flush_logfile
Description: Forces all buffered log file data to be written. This could be used to ensure log file integrity, or to reduce the probability of disk writes happen for a short period.
Example: flush_logfile
start_file_transfer
Syntax: start_file_transfer <optional file name>
Description: Starts send of and EDF file. If a file name is supplied, it is converted to be in the specified directory or, if no directory is given, in the current EDF data path. If no file name is given, the current (or last) open EDF file is used. Used by the API function eyelink_request_file_read().
Example: start_file_transfer
abort_file_transfer
Syntax: abort_file_transfer
Description: Halts current EDF file transfer. Used by the API function eyelink_end_file_transfer().
Example: abort_file_transfer
add_file_preamble_text
Syntax: add_file_preamble_text <Descriptive text message>
Description: Text messages describing a file’s contents may be written into a data file’s preamble, which is viewable with any text editor. This text must be written and the preamble closed before data may be written to the file.
Example: add_file_preamble_text
open_data_file
Syntax: open_data_file <name of data file>
Description: This command opens an eye tracker data file (.EDF extension), destroying any file with the same name without warning. If no path is given, the file will be written into the directory the eye tracker is running from. Returns error message or “open_data_file
close_data_file
Syntax: close_data_file
Description: Closes any open EDF file. Attempts to clean up file structure if closing while data is being recorded.
Example: close_data_file
data_file_name
Syntax: data_file_name
Description: READ-ONLY. Returns the full name of the current or last EDF file opened.
Example: data_file_name
compress_edf_files
Syntax: compress_edf_files = <YES or NO>
Description: Sets whether EDF files will be compressed. Playback is not available when compression is enabled. Cannot be changed while a file is open.
Example: compress_edf_files = NO
long_filename_enabled
Syntax: long_filename_enabled = <YES or NO>
Description: Enables support for long filenames in EDF file naming on the Host PC.
Example: long_filename_enabled = NO
raw_data_out_select
Syntax: raw_data_out_select = <mode>
Description: Determines what data goes into the px and py sample fields. Default is 0 (pupil). Negative values replace CR or P-CR data with pupil data in pupil-only tracking mode. RAW_AUTOSLIP is a common setting for automatic selection.
Example: raw_data_out_select = RAW_AUTOSLIP
start_recording
Syntax: start_recording <optional data control switches>
Description: The main data-output mode, optimized for best analog and link data quality. Used internally by many API functions. Data control can also be set using “record_data_defaults”.
Example: start_recording DATA = 1 1 1 1
start_calibration
Syntax: start_calibration <optional data control switches>
Description: Starts calibration. Data output is available in EyeLink 2.0 and later.
Example: start_calibration DATA = 1 1 1 1
start_validation
Syntax: start_validation <optional data control switches>
Description: Starts validation. Data output is available in EyeLink 2.0 and later.
Example: start_validation DATA = 1 1 1 1
start_drift_correction
Syntax: start_drift_correction <optional data control switches>
Description: Starts drift correction. Used internally by the API function eyelink_driftcorr_start(). Data output is available in EyeLink 2.0 and later.
Example: start_drift_correction DATA = 1 1 1 1
set_idle_mode
Syntax: set_idle_mode <optional data control switches>
Description: Enters Offline mode. This is used by the API functions eyelink_abort() and set_offline_mode(). Data output is available in EyeLink 2.0 and later.
Example: set_idle_mode DATA = 0 0 0 0
set_imaging_mode
Syntax: set_imaging_mode
Description: Enters camera-image sending mode. On EyeLink II / CL, this is just turns on image sending in the Camera Setup screen, but it was a completely separate screen in EyeLink 1. No data output is available.
Example: set_imaging_mode
link_connect_command
Syntax: link_connect_command = <command string to execute>
Description: Sets command to be executed whenever a computer connects. Use ‘ ‘ or “ “ if spaces in command.
Example: link_connect_command = "echo 'LINK OPENED'"
link_shutdown_command
Syntax: link_shutdown_command = <command string to execute>
Description: Sets command to be executed whenever a computer disconnects. Use ‘ ‘ or “ “ if spaces in command.
Example: link_shutdown_command = "echo 'LINK CLOSED'"
exit_program
Syntax: exit_program
Description: Exits the EyeLink CL executable, closing any open EDF file.
Example: exit_program
screen_dump
Syntax: screen_dump <optional file name>
Description: Saves the display to a PCX file. If no file name is given, creates a numbered file name. Adds the extension “PCX” to the file name if needed.
Example: screen_dump
data_message
Syntax: data_message <message text>
Description: This places a message in the EDF file. This was intended to allow message sending from digital inputs. NOTE: prior to EyeLink II v2.0, the message timestamp was when the command was executed, not when the command was issued.
Example: data_message
record_status_message
Syntax: record_status_message <text message to be displayed in record mode>
Description: Sets title displayed in Record mode. Use “” or ‘ ‘ quotes if contains spaces.
Example: record_status_message 'Trial title message'
reset_record_lock
Syntax: reset_record_lock
Description: Resets the record duration counter to 0.
Example: reset_record_clock
set_href_point
Syntax: set_href_point <point index> <x coord> <y coord>
Description: Sets individual reference gaze positions to be converted to HREF on a sample-by-sample basis. point index: 1 to 4. x coord, y coord: gaze coordinate of reference point.
Example: set_href_point = 1 0 0
clear_href_points
Syntax: clear_href_points
Description: Resets all gaze reference points to “MISSING”. This can be used if points are to be removed (to reduce sample size).
Example: clear_href_points
data_drive_name
Syntax: data_drive_name <dir>
Description: Identifier for drive (or partition) for data files. This can be a volume name (usually “DATA”) or a drive specifier such as “C:”.
Example: data_drive_name = "."
data_drive_directory
Syntax: data_drive_directory <dir>
Description: The path within the data drive for data files. This is only used if the drive specified. This will be created if it does not exist.
Example: data_drive_directory = "../data"
data_file_path
Syntax: data_file_path <dir>
Description: If the two previous options failed, this path will be used. If “.”, uses current directory.
Example: data_file_path = "."
required_disk_space
Syntax: required_disk_space <size> <min>
Description: Disk space in megabytes to check at startup. Optional second parameter is minimum space to allow file open (default 2 MB).
Example: required_disk_space = 2048
screen_write_prescale
Syntax: screen_write_prescale <scalar>
Description: Screen pixels and resolution get prescaled (multiplied) by this value as they’re sent to file and link as integers.
Example: screen_write_prescale = 10
velocity_write_prescale
Syntax: velocity_write_prescale <scalar>
Description: Velocity data in events gets prescaled (multiplied) by this value as they’re sent to file and link as integers.
Example: velocity_write_prescale = 10
file_event_filter
Syntax: file_event_filter <vargin>
Description: Messages are always enabled for the file but must be selected for the link. Messages, buttons and input port changes are collected at any time, eye events only while recording. vargin = the data passed are in a list with these types: LEFT (events for one or both eyes), RIGHT, FIXATION (fixation start and end events), FIXUPDATE (fixation pursuit state updates), SACCADE (saccade start and end), BLINK (blink start and end), MESSAGE (messages user notes in file), BUTTON (button 1..8 press or release), INPUT (changes in input port lines).
Example: file_event_filter = LEFT,RIGHT,FIXATION,BLINK,MESSAGE,BUTTON,SACCADE,INPUT
link_event_filter
Syntax: link_event_filter <vargin>
Description: Same types as file_event_filter. Messages, buttons and input port changes are collected at any time, eye events only while recording.
Example: link_event_filter = LEFT,RIGHT,FIXATION,BLINK,BUTTON,SACCADE
file_event_data
Syntax: file_event_data <vargin>
Description: vargin = the data passed are in a list with these types: GAZE (screen xy gaze position, pupil position for calibration), GAZERES (units-per-degree screen resolution start/end of event), HREF (head-referenced gaze position), AREA (pupil area), VELOCITY (velocity of parsed position-type avg/peak), STATUS (warning and error flags aggregated across event), FIXAVG (include ONLY averages in fixation end events to reduce file size), NOSTART (start events have no data, just time stamp).
Example: file_event_data = GAZE,GAZERES,HREF,AREA,VELOCITY
link_event_data
Syntax: link_event_data <vargin>
Description: Same types as file_event_data.
Example: link_event_data = GAZE,GAZERES,HREF,AREA,FIXAVG,NOSTART
file_sample_data
Syntax: file_sample_data <vargin>
Description: This command sets the contents of the sample data in the EDF file recording. The data passed are in a list with these types:
LEFT/RIGHT: data for one or both eyes (active_eye limits this for monocular)
GAZE: screen xy (gaze) position (pupil position for calibration)
GAZERES: units-per-degree screen resolution (start, end of event)
HREF: head-referenced gaze position
PUPIL: raw eye camera pupil coordinates
AREA: pupil area
VELOCITY: velocity of parsed position-type (avg, peak)
STATUS: warning and error flags, aggregated across events
FIXAVG: include ONLY averages in fixation end events, to reduce file size
NOSTART: start events have no data, just time stamp
BUTTON: button state and change flags
INPUT: input port data lines
HTARGET: head position data for EyeLink remote Example:
file_sample_data = LEFT,RIGHT,GAZE,GAZERES,PUPIL,HREF,AREA,STATUS,INPUT,HTARGET
link_sample_data
Syntax: link_sample_data <vargin>
Description: Same types as file_sample_data. Controls what is transferred over the link.
Example: link_sample_data = LEFT,RIGHT,GAZE,HREF,GAZERES,AREA,STATUS,HTARGET
record_data_defaults
Syntax: record_data_defaults
Description: READ-ONLY. Returns the current record data defaults. Return has 0 for off, 1 for on, and does not report link settings: “record_data_defaults
file_sample_control
Syntax: file_sample_control = <output interval>,<movement threshold>, <minimum interval>
Description: Controls the base interval at which samples are written, and writes extra samples if the gaze position has moved significantly since the last sample. First number is the time (msec) between base-rate sample writes (0 means don’t put out base rate samples, only motion updates). Second number (float) is the gaze change in screen units since the last sample needed to trigger a motion update (0.0 means don’t put out any motion updates). Third number sets the minimum time between motion updates: 2 or less means pass all.
Example: file_sample_control = 1, 0.0, 0
link_sample_control
Syntax: link_sample_control = <output interval>,<movement threshold>, <minimum interval>
Description: Same as file_sample_control but for link data.
Example: link_sample_control = 1, 0.0, 0
link_update_interval
Syntax: link_update_interval = <time in msec>
Description: Maximum interval (in milliseconds) to send something to connected computer. Any packet (data, image, etc) will do, but empty status packets will be sent if required. This is critical for syncing the tracker time estimate. 0 is off, else msec interval to send.
Example: link_update_interval = 0
samples_between_timestamps
Syntax: samples_between_timestamps = <count>
Description: By updating slowly-changing or predictable data items less frequently, file size can be substantially reduced. Can send 4-byte timestamps or 1-byte sample time delta. 0 forces full timestamp on each sample. Full timestamp is ALWAYS sent with link samples.
Example: samples_between_timestamps = 10
samples_between_resolution
Syntax: samples_between_resolution = <count>
Description: Controls how often resolution data is included: 0 means that it always included.
Example: samples_between_resolution = 0
samples_between_status
Syntax: samples_between_status = <count>
Description: Controls how often error-flags (status) data is included: 0 means always included.
Example: samples_between_status = 0
samples_between_pupil_area
Syntax: samples_between_pupil_area = <count>
Description: Controls how often pupil area data is included: 0 means always include. Pupil area is ALWAYS output before/after blink.
Example: samples_between_pupil_area = 0
link_flush_age
Syntax: link_flush_age = <0, 1, or msec>
Description: Controls packing of samples into link data packets in record mode. Default of 1 minimizes data latency, with each sample (and any associated events) packed into a single buffer and sent immediately. A setting of 0 only flushes when the buffer is full (5 to 30 samples, depending on contents). Other settings are the maximum age of a sample before flushing.
Example: link_flush_age = 1
link_motion_flush
Syntax: link_motion_flush = <switch>
Description: Can send data whenever a link sample motion update occurs, or whenever the position has moved so far relative to the last sample sent to the remote PC that a motion update should have occurred (this is needed if baseline sample rate is high). This is ideal for moving a gaze cursor on the remote PC.
Example: link_motion_flush = NO
link_sample_recency
Syntax: link_sample_recency = <time in msec>
Description: May want to add a sample to the buffer before sending it if the latest sample is too old. Specifies the maximum age (in msec) of latest sample.
Example: link_sample_recency = 1
link_pacing_usec
Syntax: link_pacing_usec = <microseconds between link image packets>
Description: Forces the Ethernet to wait between issuing packet send requests. The default is 0, for no pacing. If a client computer is being flooded (dropping samples and packets) this may be useful. However, it must be used with caution as it can greatly increase the number of samples delayed by 2 to 6 milliseconds during image streaming. Set to 50 to 100 less than the desired average packet interval, 900 for windows (image and data simultaneously).
Example: link_pacing_usec = 0
link_echo_filter
Syntax: link_echo_filter = <list of tracker button and key events>
Description: A set of key and button events on the tracker may be sent to the remote client to be logged or processed. The event types in the list will be echoed: all others will be ignored. Accepted types are: BUTTON (button press and release event), UP (key release events), DOWN (key press events), REPEAT (key repeat events).
Example: link_echo_filter = DOWN, REPEAT, BUTTONS
do_mode_start_flush
Syntax: do_mode_start_flush = <switch>
Description: Whether to flush samples that were collected between the end of one mode and the start of the next. If not flushed, these samples (usually no more than 2) will appear at the start of the next mode’s data. These samples are likely earlier than the time the mode change command was issued.
Example: do_mode_start_flush = ON
enable_file_buffer
Syntax: enable_file_buffer = <switch>
Description: Whether to buffer file data to memory. If true, data is buffered to memory and written to disk in between recordings. If false, data is written directly to disk.
Example: enable_file_buffer = ON
file_sample_raw_pcr
Syntax: file_sample_raw_pcr = <SWITCH>
Description: Enables raw PCR mode for file output, which outputs only unmodified full-resolution pupil and CR data. This data is encoded using the RAW (px,py,pa), HREF (hx,hy), and gaze(gx,gy,rx,ry) fields of samples. This data is available at all speeds and for both monocular and binocular tracking modes. The following data types must be enabled for sample data: PUPIL, AREA, GAZE, GAZERES, HREF. Optionally, STATUS, BUTTONS and INPUT can be enabled. ENCODING: pa will be negative if this coding is in effect; rx encodes CR area (ca) for left eye; ry encodes CR area (ca) for right eye. Default: OFF.
Example: file_sample_raw_pcr ON
link_sample_raw_pcr
Syntax: link_sample_raw_pcr = <SWITCH>
Description: Enables raw PCR mode for link output, which outputs only unmodified full-resolution pupil and CR data. This data is encoded using the RAW (px,py,pa), HREF (hx,hy), and gaze(gx,gy,rx,ry) fields of samples. This data is available at all speeds and for both monocular and binocular tracking modes. The following data types must be enabled for sample data: PUPIL, AREA, GAZE, GAZERES, HREF. Optionally, STATUS, BUTTONS and INPUT can be enabled. ENCODING: pa will be negative if this coding is in effect; rx encodes CR area (ca) for left eye; ry encodes CR area (ca) for right eye. Default: OFF.
Example: link_sample_raw_pcr ON
raw_pcr_processing
Syntax: raw_pcr_processing = <crfixup> <hfilter>
Description: Sets processing for “raw_pcr” output mode. Typically this mode is used for raw pupil and CR data for external processing, and therefore no filtering or corrections are applied. raw_pcr_processing NO, X
raw_pcr_dual_corneal
Syntax: raw_pcr_dual_corneal = <switch>
Description: Enables detection of 2 corneal reflections in raw_pcr mode. These CR’s are the 2 candidates closest to the pupil center. ENCODING: first CR encoded as usual; turn HMARKER data type on for samples; htype code = 0xC0 + (word count); for monocular, first 4 words are data; for binocular, first 4 words are L, remainder are R; X and Y are 24 bits, divide by 256 to get actual value. Words: [0] = 16 MSB of X, [1] = 16 MSB of Y, [2] = 2 bytes: (8 LSB of X) (8 LSB of Y), [3] = area (0 = no CR detected). Default: OFF.
Example: raw_pcr_dual_corneal = OFF
show_exposure
Syntax: show_exposure <switch>
Description: Allows tracker to display the exposure settings on the camera setup screen.
Example: show_exposure 1
simulate_head_camera
Syntax: simulate_head_camera = <YES or NO>
Description: Can be used to turn off head tracking if not used. Set to YES to disable head tracking, NO to enable head tracking. Should be set before calibration.
Example: simulate_head_camera = YES
host_address
Syntax: host_address = <ip_address>, <netmask>
Description: Sets the IP address and network mask for the EyeLink Host PC. Found in EYENET.INI.
Example: host_address = 100.1.1.1, 255.255.255.0
eyelink_port
Syntax: eyelink_port = <port_number>
Description: Sets the UDP port used for EyeLink network communication between the Host PC and Display PC. Default is 589.
Example: eyelink_port = 589
host_ip
Syntax: HOST_IP = <ip_address>
Description: Host PC IP address in the network configuration files (netconfig.ini).
Example: HOST_IP = 100.1.1.1
host_netmask
Syntax: HOST_NETMASK = <netmask>
Description: Host PC network mask in the network configuration files.
Example: HOST_NETMASK = 255.255.255.0
wifi_ssid_suffix
Syntax: WIFI_SSID_SUFFIX = <suffix>
Description: Suffix appended to the WiFi SSID for EyeLink wireless connectivity. Empty by default.
Example: WIFI_SSID_SUFFIX =
wifi_passphrase
Syntax: WIFI_PASSPHRASE = <passphrase>
Description: WiFi passphrase for EyeLink wireless connectivity.
Example: WIFI_PASSPHRASE = eyelink3
enable_legacy_display_ip
Syntax: ENABLE_LEGACY_DISPLAY_IP = <0 or 1>
Description: Enables legacy Display PC IP address assignment. 0 = disabled, 1 = enabled.
Example: ENABLE_LEGACY_DISPLAY_IP = 0
disable_ethernet_dhcpd
Syntax: DISABLE_ETHERNET_DHCPD = <0 or 1>
Description: Disables the DHCP server on the EyeLink Host PC’s ethernet interface. 0 = DHCP enabled, 1 = DHCP disabled.
Example: DISABLE_ETHERNET_DHCPD = 1
enable_ssid_broadcast
Syntax: ENABLE_SSID_BROADCAST = <0 or 1>
Description: Controls whether the EyeLink Host PC broadcasts its WiFi SSID. 0 = hidden, 1 = broadcast.
Example: ENABLE_SSID_BROADCAST = 1
disable_wifi
Syntax: DISABLE_WIFI = <0 or 1>
Description: Disables WiFi on the EyeLink Host PC. 0 = WiFi enabled, 1 = WiFi disabled.
Example: DISABLE_WIFI = 1
video_overlay_available
Syntax: video_overlay_available = <YES or NO>
Description: Sets whether EyeLink is configured for video overlay. In particular, “NO” hides the Video Overlay buttons in the Set Options screen. If not set, this defaults to NO, so the vidovl.ini file can be excluded from the distribution.
Example: video_overlay_available = NO
video_overlay_on
Syntax: video_overlay_on = <OFF or ON>
Description: Sets the state of the video overlay mode. This is updated at the end of each session to the lastrun.ini file, which overrides the vidovl.ini file. OFF if video overlay mode is off; ON if video overlay mode is active.
Example: video_overlay_on = OFF
video_background_color
Syntax: video_background_color = <palette index>
Description: Sets the background color for overlay. This is always black (128). palette index (always black = 128).
Example: video_background_color = 128
video_border_color
Syntax: video_border_color = <palette index>
Description: Sets the dark gray used for the area of the gaze window outside the active overlay area, and for the gray box on the Video Setup screen. This color should be visibly different from black, but below the default keying level. A palette index of 136 (dark gray) is standard.
Example: video_border_color = 136
video_monoc_cursor_color
Syntax: video_monoc_cursor_color = <palette index>
Description: Sets the color of the monocular overlay gaze cursor. If this is not one of the preset options in the Video Setup screen, it will replace the first entry (light gray) in the color choices. This is updated at the end of each session to the lastrun.ini file, which overrides the vidovl.ini file.
Example: video_monoc_cursor_color = 127
video_binoc_cursor_colors
Syntax: video_binoc_cursor_colors = <l>,<r>,<c>
Description: Sets the colors of the binocular gaze cursors. The 3 colors are the left cursor, right cursors, and any overlap between them. video_binoc_cursor_colors = 214, 234, 180
video_custom_cursor_color
Syntax: video_custom_cursor_color = <palette number>
Description: Sets the last color in the cursor color menu on the Video Overlay Setup screen. If a custom cursor color is defined that is not in the menu, this command may be overridden and the custom cursor color placed in this slot instead.
Example: video_custom_cursor_color = 141
video_cursor_type
Syntax: video_cursor_type = <shape number>
Description: Sets gaze cursor shape. Choices are 0 (solid), 1 (hollow), 2 (hollow with a cross in). This is updated at the end of each session to lastrun.ini file, which overrides the vidovl.ini file. video_cursor_type = 0
video_cursor_limit
Syntax: video_cursor_limit = <pixels limit on motion>
Description: Sets how far the gaze cursor is allowed to move outside the standard gaze area (set by ‘screen_pixel_coords’).
Example: video_cursor_limit = 2
video_dim_mouse_fgcolor
Syntax: video_dim_mouse_fgcolor = <palette index>
Description: Sets the color for the ‘dimmed’ mouse pointer allowed inside the active overlay area. Typically 140, or slightly brighter than the border gray.
Example: video_dim_mouse_fgcolor = 140
video_dim_mouse_bgcolor
Syntax: video_dim_mouse_bgcolor = <palette index>
Description: Sets the color for the ‘dimmed’ mouse pointer allowed inside the active overlay area. Typically 128, or black.
Example: video_dim_mouse_bgcolor = 128
video_cal_hide_cursors
Syntax: video_cal_hide_cursors = <ON or OFF>
Description: Whether the special video calibration generation option is enabled. This will hide cursors and feedback graphics, and uses a lighter background, allowing overlay to be used to calibrate subject. This is updated at the end of each session to the lastrun.ini file, which overrides the vidovl.ini file.
Example: video_cal_hide_cursors = OFF
video_no_record_graphics
Syntax: video_no_record_graphics = <YES or NO>
Description: WRITEABLE, MENU, LASTRUN.INI. This sets whether the record display is kept clean of graphics during recording. It is used to save and restore the state of the button on the Video Setup screen.
Example: video_no_record_graphics = YES
video_cal_target_size
Syntax: video_cal_target_size = <size>
Description: Sets size of calibration targets in video overlay mode. Legal values are 7, 9, 11, or 13 pixels (13 is the regular calibration target size). Smaller sizes are useful when the calibration display is used as a video overlay, to compensate for the magnification of the overlay. video_cal_target_size = 11
video_cal_backgr_color
Syntax: video_cal_backgr_color = <palette index>
Description: Color of calibration background when the calibration overlay option is enabled (black in normal mode). Default is 156 (medium gray).
Example: video_cal_backgr_color = 156
video_cal_target_color
Syntax: video_cal_target_color = <palette index>
Description: Color of calibration targets when the calibration overlay option is enabled (black in normal mode). Default is 127 (bright white).
Example: video_cal_target_color = 127
video_timecode_mode
Syntax: video_timecode_mode = <mode>
Description: Sets the timecode mode. This is updated at the end of each session to the lastrun.ini file, which overrides the vidovl.ini file. video_timecode_mode = 1
video_timecode_position
Syntax: video_timecode_position = <x pixel coordinate>, <y pixel coordinate>
Description: Sets position of top-left of timecode display. This is updated at the end of each session to the lastrun.ini file, which overrides the vidovl.ini file.
Example: video_timecode_position = 200, 100
video_timecode_bgcolor
Syntax: video_timecode_bgcolor = <palette index>
Description: Color of timecode background. Default is 150 (gray just brighter than overlay key).
Example: video_timecode_bgcolor = 150
video_timecode_fgcolor
Syntax: video_timecode_fgcolor = <palette index>
Description: Color of timecode numbers. Default is 127 (bright white).
Example: video_timecode_fgcolor = 127
video_window_default
Syntax: video_window_default = <l>,<t>,<r>,<b>
Description: Sets the large dark gray box on the Video Setup display used for overlay setup. Also is the overlay window size set by pressing the F9 key. Typically 205, 23, 586, 351 for smaller ‘2x zoom’ overlay area and 116, 35, 560, 360 for large overlay area.
Example: video_window_default = 116, 35, 560, 360
video_window
Syntax: video_window = <l>,<t>,<r>,<b>
Description: Sets the overlay window size and position. This is updated at the end of each session to the lastrun.ini file, which overrides the vidovl.ini file. video_window = 222, 203, 574, 428
video_avi_timecode_enabled
Syntax: video_avi_timecode_enabled = <ON or OFF>
Description: Controls display of machine-readable timecode line. Must be set before entry to record mode.
Example: video_avi_timecode_enabled = NO
video_avi_timecode_offset
Syntax: video_avi_timecode_offset = <x offset> <y offset>
Description: Sets offset of left end of timecode line relative to video window. Offset is in overlay pixels (each is 2 AVI lines by ~2 pixels). Default is 0, 0.
Example: video_avi_timecode_offset = 0,0
video_click_dcorr
Syntax: video_click_dcorr = <ON or OFF>
Description: Whether the drift correction by mouse button click is available in video overlay mode (default is ON).
Example: video_click_dcorr = OFF
sample_rate
Syntax: sample_rate = <rate>
Description: Sampling rate of the eye tracker (in Hz). Can only be changed in offline and camera setup modes. If changed in offline mode, may switch to camera setup mode. Common values: 250, 500, 1000, 2000 Hz. Default: 1000 Hz.
Example: sample_rate = 1000
add_configutation_entry
Syntax: add_configutation_entry <description> <ini_file> <config_id>
Description: Adds an entry to the Configuration selection menu in the EyeLink Set Options screen. Each entry maps a human-readable description to an INI file and configuration ID. Note: the spelling “configutation” (missing an ‘r’) is as used in the actual EyeLink INI files. The description prefix “!” marks the entry as the primary/default for that configuration type.
Example: add_configutation_entry "!Desktop ~ Stabilized Head ~ Monocular ~ 35mm lens~ " "mtablec.ini" "MTABLER"
Coordinate Systems
HREF (Head-Referenced Eye Angle)
HREF is a head-referenced angular coordinate system used internally by the EyeLink to represent eye rotation. It is an intermediate representation between raw camera data and screen gaze coordinates.
Geometric Model
HREF coordinates define a point on a virtual flat plane at distance f = 15000 units from the eye. The (x, y) position on this plane represents where the line of sight intersects it. Values are reported in integer units, with approximately 260 or more units per visual degree.
The HREF (0, 0) origin approximately corresponds to the gaze direction through the camera at the time of calibration. This origin is arbitrary and changes between calibrations if the relative position of the camera and eye changes.
Gaze Conversion Pipeline
The EyeLink converts raw camera data to screen gaze coordinates through HREF as an intermediate step:
Raw P-CR (camera image pixels) --> HREF (head-referenced angular) --> Screen (gaze pixels)
Stage 1: P-CR to HREF - The tracker computes the Pupil minus Corneal Reflection (P-CR) vector from the camera image and converts it to HREF angular coordinates. This conversion uses elcl_camera_orientation to account for camera rotation, and camera_to_eye_distance / camera_lens_focal_length for the geometric eye model. The exact math is internal to the tracker firmware.
Stage 2: HREF to Screen - During calibration, the EyeLink fits a biquadratic polynomial mapping from HREF to screen coordinates:
X_screen = a + b*x + c*y + d*x^2 + e*y^2
Y_screen = f + g*x + h*y + i*x^2 + j*y^2
For 9-point and 13-point calibrations, per-quadrant corner correction is also applied:
X_final = X_poly + c_x * X_poly * Y_poly
Y_final = Y_poly + c_y * X_poly * Y_poly
The polynomial and corner correction coefficients are recorded in the EDF/ASC file as !CAL messages after each calibration.
HREF and Camera Position
The HREF coordinate system is tied to the camera’s viewpoint at calibration time. SR Research states:
“The gaze vector that projects through the HREF origin is approximately through the camera from a vantage point that is maintained during calibration. Calibrating in cases of different relative positions between the camera and the eye would then result in different absolute head-relative gaze vectors that produce an intersection with the origin of the HREF plane.”
This means that if the camera is physically moved or rotated after the configuration is set (without updating elcl_camera_orientation or re-calibrating), the HREF coordinate system becomes misaligned with the actual viewing geometry. The calibration polynomial may not fully compensate for this, leading to position-dependent spatial accuracy errors, particularly at screen edges and corners.
Pixels Per Degree from HREF
The instantaneous angular resolution (pixels per degree) can be computed from HREF coordinates:
rx = (15000^2 + x^2 + y^2) / sqrt(15000^2 + y^2) / 57.2958
ry = (15000^2 + x^2 + y^2) / sqrt(15000^2 + x^2) / 57.2958
Where x and y are the current HREF coordinates and 57.2958 converts radians to degrees.
Recording HREF Data
HREF data can be included in EDF files and link samples using the file_sample_data and link_sample_data commands by including the HREF flag:
file_sample_data = LEFT,RIGHT,GAZE,GAZERES,PUPIL,HREF,AREA,STATUS
link_sample_data = LEFT,RIGHT,GAZE,HREF,GAZERES,AREA,STATUS
The parser can also operate in HREF mode via recording_parse_type = HREF, though GAZE mode is almost always used.
Coordinate System Summary
System |
Typical Range |
Units |
Origin |
|---|---|---|---|
Raw Pupil |
Camera sensor pixels |
Pixels |
Camera image top-left |
HREF |
-100 to +100 (X), -200 to +200 (Y) |
Angular (~260 units/degree) |
Gaze direction through camera |
Screen (internal) |
-2600 to +2600 (X), -2000 to +2000 (Y) |
~4.5 per pixel |
Screen center |
Gaze (pixels) |
0 to width (X), 0 to height (Y) |
Pixels |
Display top-left |