EyeLink Programmer's Guide
|
Performing research with eye-tracking equipment typically requires a long-term investment in software tools to collect, process, and analyze data. Much of this involves real-time data collection, saccadic analysis, calibration routines, and so on.
The EyeLink® eye-tracking system is designed to implement most of the required software base for data collection and conversion. It is most powerful when used with the Ethernet link interface, which allows remote control of data collection and real-time data transfer. The EyeLink Software Development Kit includes libraries that implement the link interface, and includes support code that makes programming simpler. It includes powerful general-purpose functions for data and file transfer, eye-image transfer, calibration, and control.
The EyeLink Developers Kit is implemented as a set of shared libraries, and pluggable components to a variety of graphic environments. It contains a standard set of functions for implementation of experiments using the EyeLink tracker. The toolkit can be used to produce experiments that use a standardized interface for setup, calibration, and data recording. The full set of EyeLink functions are also available for programming specially customized experiments.
The tool kit is made up of two high-level, shared libraries.
The eyelink_core library implements all core functions. That is, all functions in this library, directly talk to the tracker. The eyelink_core_graphics implements eyelink graphics, such as the display of camera image, calibration, validation, and drift correct. The eyelink_core_graphics is currently implemented using Simple Direct Media Layer (SDL: www.libsdl.org). However, this can easily be replaced by any other graphics library, eg., OpenGL,GDI.
We first introduce the standard form of an EyeLink experiment. This will help you in understanding the sample code, and is also valuable to programmers in understanding how to write experiment software, and how to port existing experiments to the EyeLink platform.
Next, the organization of source files, libraries and functions in the EyeLink toolkit is described. This will help you to understand where files are located, which libraries are required, and the organization of the programs. The EyeLink programming conventions, messages and data types are also described.
The next section introduces the principles of Windows graphics programming using the support library for experiments.
A detailed analysis of the sample programs and code follows. This sample contains code that can be used for almost any experiment type, and can be used as a starting point for your own experiments.
Users are encouraged to perform data analysis using EyeLink Data Viewer (https://www.sr-support.com/forum-7.html). However, users can also choose to perform analysis using ASC files that are converted with the EDF2ASC utility. A sample program is given showing how to analyze a data file and produce data for a statistics program.
A description of the most useful EyeLink routines can be found in this documnent. You will rarely need other functions than those listed. In addition, important commands that can be sent to the EyeLink tracker are also listed in that manual. These commands can be used for on-line configuration and control.