An eye-tracking data file created by the EyeVec eye-tracking system is a
binary file with a bed
extension (binary EyeVec data). There
are two utilities you can use to access the data in a bed-file:
-
eyevec-dump to dump the file in human readable form
-
eyevec-convert to convert the file to CSV format
On this page we provide a list of all possible columns that can appear in the CSV file.
The eyevec-convert program by default generates two seperate rows per eye sample record: one for the right eye and one for the left eye. If desired you can tell eyevec-convert to use wide mode. This causes eye sample records to occupy one row instead of two. |
Columns defined in the CSV file
Columns shared by all record types
Column name | Description |
---|---|
|
Timestamp [µs, ms or s]. In UTC [µs] if eyevec-convert |
Record type. One of: |
Column shared by eye sample records and event records
Column name | Description |
---|---|
|
Eye side. One of: |
Columns for eye sample records
In wide mode the following columns are included twice: first with the right_
prefix and then with the left_
prefix.
Column name | Description |
---|---|
|
Eye detection state. One of: |
|
Resolution in camera pixels per millimeter at estimated or assumed distance [px/mm]. |
|
Pupil detection status. One of: |
|
Pupil center x-position in camera image [px]. Derived from raw position using a linear regression filter. |
|
Pupil center y-position in camera image [px]. Derived from raw position using a linear regression filter. |
|
Raw pupil center x-position in camera image [px]. |
|
Raw pupil center y-position in camera image [px]. |
|
Visible pupil area [px2]. |
|
Ratio of area and expected pupil area. |
|
Length of semi-major axis of the ellipse fitted onto the pupil edge if applicable [px]. Multiply by 2 to get an estimate of the pupil diameter. |
|
Length of semi-minor axis of the ellipse fitted onto pupil edge if applicable [px]. Will be 0 if no pupil edge ellipse fit is performed. |
|
Angle of the ellipse fitted onto pupil edge if applicable [rad]. Only valid
if |
|
Corneal reflection detection status. See |
|
Corneal reflection x-position in camera image [px]. Derived from raw position using a linear regression filter. |
|
Corneal reflection y-position in camera image [px]. Derived from raw position using a linear regression filter. |
|
Raw corneal reflection center x-position in camera image [px]. |
|
Raw corneal reflection center y-position in camera image [px]. |
|
Corneal reflection area [px2]. |
|
Iris detection status. See |
|
Iris center x-position in camera image [px]. |
|
Iris center y-position in camera image [px]. |
|
Length of semi-major axis of the ellipse fitted onto the iris edge [px]. Multiply by 2 to get an estimate of the iris diameter. |
|
Length of semi-minor axis of the ellipse fitted onto the iris edge [px]. |
|
Angle of the ellipse fitted onto the iris edge [rad]. |
|
Rough indication of the begin angle of nasal side visible iris sector [deg]. Valid range: [-90,90). |
|
Rough indication of the begin angle of nasal side visible iris sector [deg]. Valid range: [-90,90). |
|
Rough indication of the end angle of nasal side visible iris sector [deg]. Valid range: [-90,90), a2 ≥ a1. |
|
Rough indication of the begin angle of temporal side visible iris sector [deg]. Valid range: [90,270). |
|
Vertical iris visibility [0,1]. |
|
Gaze estimation status. See |
|
Estimated x-position on calibration plane [log, px or mm]. Based on pupil
position and/or CR position attributes. The unit depends on whether the
eyevec-convert |
|
Estimated y-position on calibration plane [log, px or mm]. Based on pupil
position and/or CR position attributes. The unit depends on whether the
eyevec-convert |
|
Raw estimated x-position on calibration plane [log, px or mm]. Based on pupil
position and/or CR position attributes. The unit depends on whether the
eyevec-convert |
|
Raw estimated y-position on calibration plane [log, px or mm]. Based on pupil
position and/or CR position attributes. The unit depends on whether the
eyevec-convert |
|
Average estimated x-position on calibration plane [log, px or mm]. Calculated
from linear regression line through raw gaze points in the gaze analysis window
centered at current frame. The unit depends on whether the eyevec-convert |
|
Average estimated y-position on calibration plane [log, px or mm]. Calculated
from linear regression line through raw gaze points in the gaze analysis window
centered at current frame. The unit depends on whether the eyevec-convert |
|
Horizontal gaze velocity [log/frame, px/frame or mm/frame]. Calculated from
linear regression line through raw gaze points in the gaze analysis window
centered at current frame. The unit depends on whether the eyevec-convert |
|
Vertical gaze velocity [log/frame, px/frame or mm/frame]. Calculated from
linear regression line through raw gaze points in the gaze analysis window
centered at current frame. The unit depends on whether the eyevec-convert |
Columns for head sample records
The current EyeVec eye-tracker software does not generate head samples. |
Column name | Description |
---|---|
|
Position on x-axis (left-right) [mm]. |
|
Position on y-axis (up-down) [mm]. |
|
Position on z-axis (i.e. distance from camera) [mm]. |
|
Rotation around y-axis [deg]. |
|
Rotation around x-axis [deg]. |
|
Rotation around z-axis [deg]. |
Columns for fixation, saccade and blink event records
Column name | Description |
---|---|
|
Start time of fixation, saccade or blink [µs, ms or s]. In UTC
[µs] if eyevec-convert |
|
End time (exclusive) of fixation, saccade or blink, or update time of
fixation or blink [µs, ms or s]. In UTC [µs] if eyevec-convert |
|
Update interval start time of fixation or blink [µs, ms or s]. In UTC
[µs] if eyevec-convert |
|
Gaze x-position at fixation start or saccade start [log, px or mm]. The unit
depends on whether the eyevec-convert |
|
Gaze y-position at fixation start or saccade start [log, px or mm]. The unit
depends on whether the eyevec-convert |
|
Gaze x-position at fixation end, fixation update or saccade end [log, px or
mm]. The unit depends on whether the eyevec-convert |
|
Gaze y-position at fixation end, fixation update or saccade end [log, px or
mm]. The unit depends on whether the eyevec-convert |
|
Average gaze x-position during fixation or saccade [log, px or mm]. The unit
depends on whether the eyevec-convert |
|
Average gaze y-position during fixation or saccade [log, px or mm]. The unit
depends on whether the eyevec-convert |
|
Variance of gaze x-position during fixation [log2, px2 or mm2]. The unit
depends on whether the eyevec-convert |
|
Variance of gaze y-position during fixation [log2, px2 or mm2]. The unit
depends on whether the eyevec-convert |
|
Average gaze x-position during fixation update interval [log, px or mm]. The
unit depends on whether the eyevec-convert |
|
Average gaze y-position during fixation update interval [log, px or mm]. The
unit depends on whether the eyevec-convert |
|
Variance of gaze x-position during fixation update interval [log2, px2
or mm2]. The unit depends on whether the eyevec-convert |
|
Variance of gaze y-position during fixation update interval [log2, px2
or mm2]. The unit depends on whether the eyevec-convert |
|
Estimated pupil diameter at fixation start or saccade start [mm]. |
|
Estimated pupil diameter at fixation start or saccade end [mm]. |
|
Average estimated diameter size during fixation or saccade [mm]. |
|
Variance of estimated diameter size during fixation or saccade [mm]. |
|
Average estimated diameter size during fixation update interval [mm]. |
|
Variance of estimated diameter size during fixation update interval [mm2]. |
Column for procedure exit status
Column name | Description |
---|---|
|
Exit value of baseline, calibration, validation, drift-check procedure or
recording.
One of: |
Columns for text based record types
Column name | Description |
---|---|
|
String identifying the message type [ASCII]. User defined. Will be empty
except for the |
|
Message text [UTF-8] for the following record types: |
Contents of the message_text column
For all record types (except MESSAGE
) listed under
Columns for text based record types the format of the message text is
predefined.
If the eyevec_convert program was called without the -r
flag the messages
are formatted for human consumption. If however the program was called with
the -r
flag (aka the R-friendly option) the messages are formatted as
key-value pairs separated by semicolons. e.g.:
screen_width_px=1920;screen_height_px=1080;...
This allows easy parsing in your analysis scripts. However while parsing:
-
you should accept any order of key-value pairs
-
you should ignore unknown key-value pairs
-
you should be prepared that some key-value pairs might be missing
Key-value pairs in FILEINFO message text
Key name | Description |
---|---|
|
The name of the original bed-file. |
|
File creation time in UTC [µs] |
|
Timezone offset [s] |
|
Format version of the bed-file. |
|
EveVec version string. |
|
Vendor URL. |
Key-value pairs in CONFIGURATION message text
Key name | Description |
---|---|
|
Screen width [px]. |
|
Screen height [px]. |
|
Screen width [mm]. |
|
Screen height [mm]. |
|
Vertical distance from base (desktop) to vertical screen center [mm]. |
|
Horizontal distance from camera pivot axis to vertical screen center [mm]. |
|
Vertical distance from base (desktop) to camera pivot axis [mm]. |
|
Euclidian distance from camera pivot axis to camera lens [mm]. |
|
Subject distance from camera [mm]. |
|
Vertical distance from base (desktop) to eye [mm]. |
|
Pupil and CR position noise suppression filter weight [%]. |
|
Linear regression filter length [ms]. |
|
Linear regression filter RMSE threshold for pupil position [px]. |
|
Linear regression filter RMSE threshold for CR position [px]. |
|
Linear regression filter weight function steepness. |
|
Eye features filter order used for filtering pupil, CR and iris features. 0 means no filtering performed. |
|
Gaze estimation method. One of: |
|
Camera frame rate [Hz]. |
|
Number of frames used in moving average. |
|
Camera base gain [dB]. |
|
Camera duty-cycle [%]. |
|
Focal length of the camera-lens system [px]. |
|
Metric focal length of the camera lens [mm]. |
|
Focal ratio (i.e. f-number) of the camera lens. |
Key-value pairs in BASELINE_START message text
None.
Key-value pairs in BASELINE_END message text
Key name | Description |
---|---|
|
Distance from camera [mm]. |
|
Interpupillary distance [mm]. |
|
Right iris diameter [mm]. |
|
Left iris diameter [mm]. |
|
Right baseline pupil diameter [mm]. |
|
Left baseline pupil diameter [mm]. |
|
Mean right regression line RMSE for pupil [px]. |
|
Mean left regression line RMSE for pupil [px]. |
|
Mean right regression line RMSE for CR [px]. |
|
Mean left regression line RMSE for CR [px]. |
Key-value pairs in CALIBRATION_START message text
None.
Key-value pairs in CALIBRATION_END message text
Key name | Description |
---|---|
|
Number of points presented. |
|
Number of points marked by user to be excluded. |
|
Number of points marked invalid because data collection failed. |
|
Number of points considered bad. |
|
Number of points considered poor. |
|
Number of points considered fair. |
|
Number of points considered good (and not synthetic). |
|
Sum of |
|
Number of synthetic points used. |
|
Mean mean absolute error [mm]. |
|
Mean maximum absolute error [mm]. |
|
Mean minimum absolute error [mm]. |
|
Right mean absolute error [mm]. |
|
Right maximum absolute error [mm]. |
|
Right minimum absolute error [mm]. |
|
Left mean absolute error [mm]. |
|
Left maximum absolute error [mm]. |
|
Left minimum absolute error [mm]. |
|
Mean mean absolute error [deg]. |
|
Mean maximum absolute error [deg]. |
|
Mean minimum absolute error [deg]. |
|
Right mean absolute error [deg]. |
|
Right maximum absolute error [deg]. |
|
Right minimum absolute error [deg]. |
|
Left mean absolute error [deg]. |
|
Left maximum absolute error [deg]. |
|
Left minimum absolute error [deg]. |
Key-value pairs in VALIDATION_START message text
None.
Key-value pairs in VALIDATION_END message text
Key name | Description |
---|---|
|
Number of points presented. |
|
Number of points marked by user to be excluded. |
|
Number of points marked invalid because data collection failed. |
|
Number of points considered bad. |
|
Number of points considered poor. |
|
Number of points considered fair. |
|
Number of points considered good. |
|
Sum of |
|
Mean mean absolute error [mm]. |
|
Mean maximum absolute error [mm]. |
|
Mean minimum absolute error [mm]. |
|
Right mean absolute error [mm]. |
|
Right maximum absolute error [mm]. |
|
Right minimum absolute error [mm]. |
|
Left mean absolute error [mm]. |
|
Left maximum absolute error [mm]. |
|
Left minimum absolute error [mm]. |
|
Mean mean absolute error [deg]. |
|
Mean maximum absolute error [deg]. |
|
Mean minimum absolute error [deg]. |
|
Right mean absolute error [deg]. |
|
Right maximum absolute error [deg]. |
|
Right minimum absolute error [deg]. |
|
Left mean absolute error [deg]. |
|
Left maximum absolute error [deg]. |
|
Left minimum absolute error [deg]. |
Key-value pairs in DRIFT_CHECK_START message text
None.
Key-value pairs in DRIFT_CHECK_END message text
Key name | Description |
---|---|
|
Status of the drift-check. One of: |
|
Mean Euclidean error [mm]. |
|
Mean x error [mm]. |
|
Mean y error [mm]. |
|
Right Euclidean error [mm]. |
|
Right x error [mm]. |
|
Right y error [mm]. |
|
Left Euclidean error [mm]. |
|
Left x error [mm]. |
|
Left y error [mm]. |
|
Mean Euclidean error [deg]. |
|
Right Euclidean error [deg]. |
|
Left Euclidean error [deg]. |
|
Analysis window start [µs, ms or s]. In UTC [µs] if eyevec-convert
|
|
Analysis window length [frames]. |
Key-value pairs in RECORDING_START message text
None.
Key-value pairs in RECORDING_END message text
None.