|
Position Data
|
Eye position data is produced by the EyeLink eye tracker every 0.5, 1, 2 or 4 milliseconds. It is then processed to compute eye rotation angles and to compensate for participant head motions. The processed data in one or all of the forms outlined below may be recorded in the samples. Data is written as (x, y) coordinate pairs, or two pairs for binocular data. The types of position data available are explained below. Note that available sampling rates are determined by the eye trackers used to produce recordings.
Pupil position data are raw (x, y) coordinate pairs from the camera. They have not been converted to eye angles or to gaze position. There may be a non-linear relationship between these data and true gaze position. Pupil position is reported in integer values, with 200 to 400 units per degree of visual angle.
When a calibration has not been performed, the EyeLink system cannot convert pupil data to the more useful data types. Raw pupil position is useful when auto-sequencing calibrations, or when the user wishes to perform their own post-hoc calibration, such as for patients with nystagmus. Most users will not need this type of data.
The HREF (head-referenced) position data directly measures eye rotation angles relative to the head. It does not take into account changes in subject head position and angle, or distance from the display. However, it may be more accurate for neuro-psychophysical research, as it reflects real eye movement velocities and amplitudes.
The (x, y) coordinate pairs in HREF data reflect the line of sight in the geometric model below:
The (x,y) positions define a point in a plane at distance f (15000 units) from the eye. The HREF units are independent of system setup, display distance, and display resolution. The HREF coordinates are reported in integer values, with 260 or more units per visual degree.
The (0, 0) point in the coordinate system is arbitrary, as the relationship between display positions and HREF coordinates changes as the subject's head moves. Even when a chinrest is used to stabilize the subject's head, head rotations of several degrees can occur. HREF coordinates are best used for determining angles relative to a known eye position, or to measure eye-movement velocities, as described below.
The eye rotation angles may be directly computed from the HREF (x, y) pairs. There are several methods of specifying eye-rotation angles. The angular distance (eye rotation magnitude) between any two HREF points is directly computable. The C code to compute this angle is given below. Remember to multiply the result by 57.296 to get the angle in degrees.
angle = acos( (f*f + x1*x2 + y1*y2) / (sqrt( (f*f + x1*x1 + y1*y1) * (f*f + x2*x2 + y2*y2) ) ); The HREF angular resolution may be computed as the first derivative of the rate of change of HREF position with angle. It is sufficient to compute the resolution separately for the x and y coordinate directions. This may be used to compute true eye-movement velocities, by dividing computed velocity in HREF units by the resolution for the sample. These formulas give the x and y resolution in units of change in HREF position per degree of visual angle:
xres = 0.01745 * (f*f + x*x + y*y) / sqrt(f*f + y*y);
yres = 0.01745 * (f*f + x*x + y*y) / sqrt(f*f + x*x);
Gaze position data reports the actual (x, y) coordinates of the participant's gaze on the display, compensating for any head movements. The units are in actual display coordinates (usually pixels) which can be set in the EyeLink configuration file PHYSICAL.INI. The default EyeLink coordinates are those of a 1024 by 768 VGA display, with (0, 0) at the top left.
The resolution data for gaze position data changes constantly depending on participant head position and point of gaze, and therefore is reported as a separate data type (see below). A typical resolution is about 36 pixels per degree for an EyeLink setup in which the distance between the participant's eyes and the display is twice the display's width, and the screen resolution is set to 1024 by 768.
The high resolution of the EyeLink tracker data is preserved by multiplying the position by a prescaler, recording the value as an integer in the EDF file, then dividing by the prescaler when the file is read. The usual prescaler value is 10, allowing gaze position to be recorded with 0.1 pixel of resolution. Actual EyeLink tracker resolution is limited only by measurement noise.