EyeVecPointi
EyeVecPointf
EyeVecPointd
EyeVecSizei
EyeVecSizef
EyeVecRecti
EyeVecBoundingBoxi
EyeVecEllipse
EyeVecEllipseShape
EyeVecThumbnail
EyeVecMarker
EyeVecEyeBox
EyeVecPupil
EyeVecCR
EyeVecIris
EyeVecGaze
EyeVecEye
EyeVecEyeFull
EyeVecImage
EyeVecLogicalTargetPosition
EyeVecTargetState
EyeVecBaselineResult
EyeVecCalibrationResult
EyeVecDriftCheckResult
EyeVecCalibrationPointResult
EyeVecIndexPair
EyeVecTestScreenInfo
EyeVecDisplayEventData
EyeVecModeChangeEventData
EyeVecEyeSampleEventData
EyeVecBlinkEventData
EyeVecSaccadeEventData
EyeVecFixationEventData
EyeVecTestItemEventData
EyeVecEvent
EyeVec
Details
EyeVecPointi
Integer point struct [px].
typedef struct _EyeVecPointi {
int x;
int y;
} EyeVecPointi;
Field | Description |
---|---|
|
X-position [px] |
|
Y-position [px] |
EyeVecPointf
Float point struct [px].
typedef struct _EyeVecPointf {
float x;
float y;
} EyeVecPointf;
Field | Description |
---|---|
|
X-position [px] |
|
Y-position [px] |
EyeVecPointd
Double point struct [px].
typedef struct _EyeVecPointd {
double x;
double y;
} EyeVecPointd;
Field | Description |
---|---|
|
X-position [px] |
|
Y-position [px] |
EyeVecSizei
Integer size struct [px].
typedef struct _EyeVecSizei {
int width;
int height;
} EyeVecSizei;
Field | Description |
---|---|
|
Width [px] |
|
Height [px] |
EyeVecSizef
Float size struct [px].
typedef struct _EyeVecSizef {
float width;
float height;
} EyeVecSizef;
Field | Description |
---|---|
|
Width [px] |
|
Height [px] |
EyeVecRecti
Integer rect struct [px].
typedef struct _EyeVecRecti {
EyeVecPointi position;
EyeVecSizei size;
} EyeVecRecti;
Field | Description |
---|---|
|
Position of upper-left corner |
|
Size |
EyeVecBoundingBoxi
Integer bounding box struct [px].
typedef struct _EyeVecBoundingBoxi {
EyeVecPointi min;
EyeVecPointi max;
} EyeVecBoundingBoxi;
Field | Description |
---|---|
|
Position of upper-left corner |
|
Position of lower-right corner |
EyeVecEllipse
Ellipse struct.
typedef struct _EyeVecEllipse {
EyeVecPointf center;
float major;
float minor;
float angle;
} EyeVecEllipse;
Field | Description |
---|---|
|
Ellipse center |
|
Length of the semi-major axis [px] |
|
Length of semi-minor axis [px] |
|
Angle of major axis [rad] |
EyeVecEllipseShape
Ellipse shape struct (i.e. ellipse without center).
typedef struct _EyeVecEllipseShape {
float major;
float minor;
float angle;
} EyeVecEllipseShape;
Field | Description |
---|---|
|
Length of the semi-major axis [px] |
|
Length of semi-minor axis [px] |
|
Angle of major axis [rad] |
EyeVecThumbnail
Thumbnail data struct. If face blob detection is not enabled no image will be available and all other fields will be zero.
typedef struct _EyeVecThumbnail {
float right;
float left;
float width;
float center;
float split;
float yspan[2];
float saturationratio;
} EyeVecThumbnail;
Field | Description |
---|---|
|
Estimate of the right side (relative to full image) of the face blob 0 means left side of image, 1 means right side of image. If this is close to or greater than 1 then the face is far to the right in camera image. If this is 0 then no face blob was detected or thumbnail detection is disabled. |
|
Estimate of the left side (relative to full image) of the face blob 0 means left side of image, 1 means right side of image. If this is close to or less than 0 then the face is far to the left in camera image. Available iff |
|
Average width of detected face blob This is the average difference between right and left. Available iff |
|
Estimate of the horizontal center (relative to full image) of the face blob 0 means left side of image, 1 means right side of image. Available iff |
|
Adjusted estimate of the horizontal center (relative to full image) of the face blob 0 means left side of image, 1 means right side of image. This indicates the right/left split position used. Available iff |
|
Probable eye locations in vertical direction 0 means top side of image, 1 means bottom side of image. Consists of one or two values (0 means not defined). The first value identifies the most strongest location. Combined with the horizontal split these values roughy define the area(s) possibly containing the eyes. Available iff |
|
Ratio of (almost) saturated thumbnail pixels over the thumbnail area [%] |
EyeVecMarker
Marker data struct.
typedef struct _EyeVecMarker {
int available;
EyeVecPointf position[1+8];
EyeVecBoundingBoxi boundingbox;
EyeVecEllipse ellipse;
float neutraldot;
int sharpness;
int maxsharpness;
} EyeVecMarker;
Field | Description |
---|---|
|
Set (1) if marker detected; cleared (0) if marker detection disabled, not detected or lost; negative if not detected but not yet considered lost. Other fields in this struct are only valid if |
|
Detected marker dots Index 0 represents the center dot, indexes 1..7 represent the satellite dots, index 8 represents the missing satellite dot. |
|
Bounding box around the satellite dots |
|
Ellipse fitted on the satellite dots |
|
Fractional marker dot index indicating the neutral (i.e. horizontal) line determined on baseline measurement |
|
Marker sharpness indication [0,100+] This value is to be displayed as a bar during camera focus calibration. With marker at desired subject distance the camera focus ring should be adjusted to make maximize the bar length. Value might occasionaly exceed 100, but generally will stay be below 100. |
|
Maximum value of determined marker sharpness Value is the maximum of all sharpness values since the most recent camera start. |
EyeVecEyeBox
Eyebox struct defined by center and size.
typedef struct _EyeVecEyeBox {
EyeVecEyeBoxState state;
EyeVecPointf position;
EyeVecSizef size;
} EyeVecEyeBox;
Field | Description |
---|---|
|
Eyebox state This basically indicates what generated this eyebox. |
|
Eyebox center |
|
Eyebox size |
EyeVecPupil
Pupil data struct. Fields are ony valid if status is EYEVEC_EYE_STATUS_DETECTED or above.
typedef struct _EyeVecPupil {
EyeVecEyeStatus status;
EyeVecPointf position;
EyeVecPointf position_raw;
float area;
float visibility;
EyeVecEllipseShape ellipse;
} EyeVecPupil;
Field | Description |
---|---|
|
Pupil detection status |
|
Pupil center position in camera image Relative to full image. |
|
Raw pupil center position in camera image Relative to full image. |
|
Visible pupil area [px2] Divide by squared resolution [px/mm] to get pupil area in mm2. See EyeVecEye or EyeVecEyeFull about resolution. Note, This does not account for the case where the corneal reflection obscures part of the pupil. |
|
Ratio of |
|
Ellipse fitted to pupil edge if applicable Divide Note, if no ellipse fit has been done due to a too low pupil visibility or if
not requested, then |
EyeVecCR
Corneal reflection data struct. Fields are ony valid if status is EYEVEC_EYE_STATUS_DETECTED or above.
typedef struct _EyeVecCR {
EyeVecEyeStatus status;
EyeVecPointf position;
EyeVecPointf position_raw;
float area;
} EyeVecCR;
Field | Description |
---|---|
|
Corneal reflection detection status |
|
Corneal reflection center position in camera image Relative to full image. |
|
Raw corneal reflection center position in camera image Relative to full image. |
|
Corneal reflection area [px2] |
EyeVecIris
Iris data struct. Fields are ony valid if status is EYEVEC_EYE_STATUS_DETECTED or above.
typedef struct _EyeVecIris {
EyeVecEyeStatus status;
EyeVecPointf position;
EyeVecEllipseShape ellipse;
float a1;
float a2;
float a3;
float a4;
float openness;
} EyeVecIris;
Field | Description |
---|---|
|
Iris detection status |
|
Iris center position in camera image Relative to full image. |
|
Ellipse fitted to iris edge |
|
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), |
|
Rough indication of the begin angle of temporal side visible iris sector [deg] Valid range: [90,270). |
|
Rough indication of the end angle of temporal side visible iris sector [deg] Valid range: [90,270), |
|
Vertical iris visibility [0,1] Assume eye is (almost) closed if |
EyeVecGaze
Gaze data struct. Fields are ony valid if status is EYEVEC_EYE_STATUS_DETECTED or above.
typedef struct _EyeVecGaze {
EyeVecEyeStatus status;
EyeVecPointf position;
EyeVecPointf position_raw;
EyeVecPointf position_avg;
EyeVecPointf velocity;
} EyeVecGaze;
Field | Description |
---|---|
|
Gaze estimation status |
|
Estimated logical gaze position on calibration plane Based on pupil position and/or cr position attributes. Relative to calibration plane (i.e. the screen defined in setup). Multiply by screen size in pixels or millimeters to convert to real-world coordinates. |
|
Raw estimated logical gaze position on calibration plane Based on pupil position_raw and/or cr position_raw attributes. Relative to calibration plane (i.e. the screen defined in setup). Multiply by screen size in pixels or millimeters to convert to real-world coordinates. |
|
Average logical horizontal and vertical gaze position on calibration plane Calculated from linear regression line through raw gaze points in the gaze analysis window centered at current frame. Multiply by screen size in pixels or millimeters to convert to real-world coordinates. Not valid if Note, the calculation of this data is non-causal. It will therefore only be available online if output is delayed for one half of the gaze analysis window length or more. |
|
Logical horizontal and vertical gaze velocities [/frame] Calculated from linear regression lines through raw gaze points in the gaze analysis window centered at current frame. Multiply by screen size in pixels or millimeters to convert to real-world velocity in px/frame or mm/frame. Not valid if To calculate magnitude make sure x- and y-velocity are on the same scale, so
do: Note, the calculation of this data is non-causal. It will therefore only be available online if output is delayed for one half of the gaze analysis window length or more. |
EyeVecEye
Eye data struct.
typedef struct _EyeVecEye {
EyeVecPupil pupil;
EyeVecCR cr;
EyeVecIris iris;
EyeVecGaze gaze;
EyeVecEyeState state;
float pxpermm;
} EyeVecEye;
Field | Description |
---|---|
|
Pupil detection data A |
|
Corneal reflection detection data |
|
Iris detection data |
|
Gaze estimation data |
|
Eye detection state |
|
Resolution in camera pixels per millimeter at estimated or assumed distance [px/mm] Use this value to calculate the pupil size or iris size in millimeters. To get the estimated distance from eyes or forehead marker to camera lens in
milimeters divide the focal-length[px] by the resolution[px/mm]: To get the relative distance divide the estimated distance[mm] by the
reference distance[mm]: |
EyeVecEyeFull
Eye data struct with pupil and iris edge points.
typedef struct _EyeVecEyeFull {
EyeVecPupil pupil;
EyeVecCR cr;
EyeVecIris iris;
EyeVecGaze gaze;
EyeVecEyeState state;
float pxpermm;
int npupilpoints;
EyeVecPointf pupilpoints[EYEVEC_MAX_PUPIL_POINTS];
EyeVecPointf pupilcenter;
int nirispoints;
EyeVecPointf irispoints[EYEVEC_MAX_IRIS_POINTS];
} EyeVecEyeFull;
Field | Description |
---|---|
|
Pupil detection data A |
|
Corneal reflection detection data |
|
Iris detection data |
|
Gaze estimation data |
|
Eye detection state |
|
Resolution in camera pixels per millimeter at estimated or assumed distance [px/mm] Use this value to calculate the pupil size or iris size in millimeters. To get the estimated distance from eyes or forehead marker to camera lens in
milimeters divide the focal-length[px] by the resolution[px/mm]: To get the relative distance divide the estimated distance [mm] by the
reference distance [mm]: |
|
Number of valid pupil edge points detected Can be 0 if not determined or on detection failure. |
|
Array of pupil edge points Relative to pupilcenter. |
|
Reference pupil center position in camera image Relative to full image. This is a copy of |
|
Number of valid iris edge points detected Can be 0 if not determined or on detection failure. |
|
Array of iris edge points Relative to |
EyeVecImage
Image struct.
typedef struct _EyeVecImage {
EyeVecSizei size;
int stride;
int pixeloffset;
const uint8_t* pixels;
} EyeVecImage;
Field | Description |
---|---|
|
Size Empty if image not available. |
|
Offset between image rows [px] |
|
internal use only |
|
Pixel data
|
EyeVecLogicalTargetPosition
Logical target position with ID.
typedef struct _EyeVecLogicalTargetPosition {
unsigned int id;
EyeVecPointf position;
} EyeVecLogicalTargetPosition;
Field | Description |
---|---|
|
ID of target See EyeVecTargetId for built-in target IDs. |
|
Logical position of calibration target [0,1] |
EyeVecTargetState
Target presentation state.
typedef struct _EyeVecTargetState {
EyeVecProcedureType proctype;
EyeVecTargetPhase phase;
EyeVecTargetPhase prevphase;
int duration;
int offset;
int64_t frametime;
int64_t procstarttime;
int64_t trialstarttime;
int64_t phasestarttime;
int64_t wakeupstarttime;
int64_t wakeupendtime;
EyeVecPointd position;
double focussize;
int number;
bool prepare;
bool startsymbol;
bool showsymbol;
bool rotatesymbol;
bool running;
} EyeVecTargetState;
Field | Description |
---|---|
|
Current procedure type |
|
Current target presentation phase |
|
Previous target presentation phase |
|
Duration rounded to multiple of refresh interval [µs] Will be negative (meaning undefined) for attention phase if self-paced. |
|
Current time offset in phase [µs], runs from 0 to duration (exclusive) During a phase this offset may occasionally jump back to 0 on eye-loss (e.g. during a blink). Will be negative for attention phase if self-paced. |
|
Specified display frame time at target update call [µs] |
|
Data collection procedure start display frame time [µs] |
|
Display frame time at start of current trial [µs] |
|
Display frame time at start of current phase in trial [µs] |
|
Display frame time at start of current wake-up |
|
Timeout value for wake-up target The wake-up target should be visible if |
|
Target position [logical] |
|
If > 0 then a focus indicator is to be displayed Will only be used for the baseline procedure |
|
Unique item number For text and image stimuli this is the index in the text or image item list. |
|
If set, prepare stimulus presentation |
|
If set, start display of target symbol Implies |
|
If set, show target symbol |
|
If set, rotate target symbol, if shown, by 45 degrees |
|
Set while target presentation procedure is running |
EyeVecBaselineResult
Baseline procedure result (summary).
typedef struct _EyeVecBaselineResult {
bool havedata;
bool haveeye[2];
float distance;
float ipd;
float irissize[2];
float pupilsize[2];
EyeVecPointf pupilrmse[2];
EyeVecPointf crrmse[2];
} EyeVecBaselineResult;
Field | Description |
---|---|
|
If set, then baseline data are available If not set, then none of the attributes below are defined (will all be zeroed). |
|
Flags indicating whether right(0)/left(1) eye data is present |
distance |
Distance from camera [mm] 0 means not determined. |
|
Interpupillary distance [mm] 0 means not determined. |
|
Right(0)/left(1) iris diameter [mm] 0 means not determined. |
|
Right(0)/left(1) baseline pupil diameter [mm] 0 means not determined. |
|
Mean right(0)/left(1) regression line RMSE for pupil [px] 0 means not determined. |
|
Mean right(0)/left(1) regression line RMSE for corneal reflection [px] 0 means not determined. |
EyeVecCalibrationResult
Calibration/validation procedure result (summary). For calibration this refers to retrospective gaze mapping errors. For validation this refers to deviation from target positions.
typedef struct _EyeVecCalibrationResult {
bool havedata;
bool haveeye[3];
int npoints;
int npointsskipped;
int npointsinvalid;
int npointsbad;
int npointspoor;
int npointsfair;
int npointsgood;
int npointssynthetic;
float mean_mm[3];
float sd_mm[3];
float min_mm[3];
float max_mm[3];
float mean_deg[3];
float sd_deg[3];
float min_deg[3];
float max_deg[3];
} EyeVecCalibrationResult,
EyeVecValidationResult;
Field | Description |
---|---|
|
If set, then calibration/validation data are available If not set, then none of the attributes below are defined (will all be zeroed). |
|
Flags indicating whether right(0)/left(1)/mean(2) data is present |
|
Number of points presented The sum of |
|
Number of points marked by user to be excluded If all points where skipped the result was ignored. |
|
Number of points marked invalid because data collection failed If this is > 0 the result was ignored. |
|
Number of points considered bad |
|
Number of points considered poor |
|
Number of points considered fair |
|
Number of points considered good (and not synthetic) |
|
Number of synthetic points used. Only applies to calibration |
|
Right(0)/left(1)/mean(2) mean absolute error [mm] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) standard deviation [mm] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) minimum absolute error [mm] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) maximum absolute error [mm] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) mean absolute error [deg] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) standard deviation [deg] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) minimum absolute error [deg] Only defined if corresponding |
|
Right(0)/left(1)/mean(2) maximum absolute error [deg] Only defined if corresponding |
EyeVecDriftCheckResult
Drift-check procedure result (summary).
typedef struct _EyeVecDriftCheckResult {
bool havedata;
bool haveeye[3];
EyeVecTargetStatus status;
EyeVecPointf error_mm[3];
EyeVecPointf error_deg[3];
} EyeVecDriftCheckResult;
Field | Description |
---|---|
|
If set, then drift-check data are available If not set, then none of the attributes below are defined (will all be zeroed). |
|
Flags indicating whether right(0)/left(1)/mean(2) data is present |
|
Status of the drift-check: invalid, bad, poor, fair or good |
|
Right(0)/left(1)/mean(2) x and y error [mm] Only defined if status is bad, poor, fair or good, and corresponding |
|
Right(0)/left(1)/mean(2) x and y error [deg] Only defined if status is bad, poor, fair or good, and corresponding |
EyeVecCalibrationPointResult
Calibration/validation/drift-check point result. For calibration the error and sd values refer to the retrospective gaze mapping error.
typedef struct _EyeVecCalibrationPointResult {
bool havedata;
EyeVecTargetStatus status;
bool dummy;
bool haveeye[2];
EyeVecPointf target;
int64_t windowstart;
int windowlength;
EyeVecPointf eye[2];
EyeVecPointf gaze[2];
EyeVecPointf error_mm[3];
EyeVecPointf sd_mm[3];
EyeVecPointf error_deg[3];
EyeVecPointf sd_deg[3];
EyeVecPointf pupilrmse[2];
EyeVecPointf crrmse[2];
} EyeVecCalibrationPointResult,
EyeVecValidationPointResult,
EyeVecDriftCheckPointResult;
Field | Description |
---|---|
|
If set, then data are available If not set, then none of the attributes below are defined (will all be zeroed). |
|
Status indicating whether the point is skipped, invalid, bad, poor, fair or good There will only be position data for non-dummy points marked good, fair, poor or bad. |
|
If set, this point was not part of the calibration pattern After calibration, the data for this point may be synthetic (derived from other calibration points). Note, only calibration points can be dummies (have synthetic data). |
|
Flags indicating whether right(0)/left(1) data is present |
|
Position of target on test screen [mm] |
|
Analysis window start time [µs] This identifies the start of the analysis window during a target presentation where the eye-vector variance is the lowest. Only defined if good, fair, poor or bad. Not set for dummy points. |
|
Analysis window length [frames] |
|
Mean right(0)/left(1) raw eye vector in camera image [px] Only defined if good, fair, poor or bad and corresponding |
|
Right(0)/left(1) gaze position on test screen [mm] Only defined if good, fair, poor or bad and corresponding Calculated from eye vector (above) by applying current gaze mapping. For calibration points the difference between gaze and target defines the retrospective gaze mapping error. |
|
Right(0)/left(1)/mean(2) gaze error [mm] Only defined if good, fair, poor or bad and |
|
Right(0)/left(1)/mean(2) gaze standard deviation [mm] Only defined if good, fair, poor or bad and |
|
Right(0)/left(1)/mean(2) gaze error [deg] Only defined if good, fair, poor or bad and |
|
Right(0)/left(1)/mean(2) gaze standard deviation [deg]
Only defined if good, fair, poor or bad and |
|
Mean right(0)/left(1) regression line RMSE for pupil [px] 0 means not determined. |
|
Mean right(0)/left(1) regression line RMSE for corneal reflection [px] 0 means not determined. |
EyeVecIndexPair
Indexes of two neighboring calibration points.
typedef struct _EyeVecIndexPair {
int index1;
int index2;
} EyeVecIndexPair;
Field | Description |
---|---|
|
Index of point 1 iff ≥ 0, or -1 |
|
Index of point 2 iff ≥ 0, or -1 |
EyeVecTestScreenInfo
Test screen size and refresh interval.
typedef struct _EyeVecTestScreenInfo {
EyeVecSizei size_px;
EyeVecSizei size_mm;
double refreshinterval;
} EyeVecTestScreenInfo;
Field | Description |
---|---|
|
Test screen size [px] |
|
Test screen [mm] |
|
Refresh interval [s] |
EyeVecDisplayEventData
Display data struct.
typedef struct _EyeVecDisplayEventData {
int load;
int frcount;
EyeVecRecti viewport;
EyeVecRecti roi;
EyeVecThumbnail thumbnail;
EyeVecMarker marker;
EyeVecRecti scanbox1;
EyeVecRecti scanbox2;
EyeVecEyeBox eyebox[2];
EyeVecEyeFull eye[2];
float distance;
float pxpermm;
float pupilpeak[2];
float pupilthreshold[2];
float irispeak[2];
float iristhreshold[2];
EyeVecImage eyeimage[2];
EyeVecImage thumbimage;
EyeVecImage mainimage;
} EyeVecDisplayEventData;
Field | Description |
---|---|
|
Processing time divided by frame interval [%]; averaged |
|
Frame counter set on image capture |
|
Offset and size of camera viewport When necessary the viewport offset will be adjusted during eye-tracking. The viewport size is fixed for each frame rate. |
|
Offset and size of ROI in viewport |
|
Thumbnail data |
|
Marker data. Position is relative to full image |
|
Scanbox 1 defined when trying to find lost eye(s) If not defined scanbox width will be 0. Position is relative to camera viewport. |
|
Scanbox 2 defined when trying to find lost eye(s) If not defined scanbox width will be 0. Position is relative to camera viewport. |
|
Right(0)/left(1) eyebox If not defined eyebox state will be EYEVEC_EYEBOX_STATE_NONE. Position is relative to full image. |
|
Right(0)/left(1) eye data Positions are relative to full image. |
|
Estimated distance from eyes or forehead marker to camera lens [mm] |
|
Camera pixels per millimeter at estimated distance [px/mm] |
|
Right(0)/left(1) pupil peak level This identifies the first peak in the eye histogram, where the histogram is calculated over the area containing the pupil and part of the iris. |
|
Right(0)/left(1) pupil threshold level This identifies the dip following the first peak in the eye histogram. |
|
Right(0)/left(1) iris peak level This identifies the second peak in the eye histogram. Will be 0 if not defined. |
|
Right(0)/left(1) iris threshold level This identifies the dip following the second peak in the eye histogram. Will be 0 if not defined. |
|
Right(0)/left(1) eye image If not defined, attributes will be 0. |
|
Thumbnail image If not defined, attributes will be 0. |
|
Main image containing ROI (option 1) or full viewport image (option 2) If width exceeds |
EyeVecModeChangeEventData
Data for event id EYEVEC_EVENT_MODE_CHANGE.
typedef struct _EyeVecModeChangeEventData {
EyeVecTrackerMode newmode;
EyeVecTrackerMode oldmode;
EyeVecExitStatus exitstatus;
int deviceerror;
} EyeVecModeChangeEventData;
Field | Description |
---|---|
|
New operating mode |
|
Old operating mode |
|
Exit value of baseline, calibration, validation or drift-check procedure or recording (set when leaving corresponding mode) Also used to indicate user wants to proceed with experiment when going from
setup mode to data mode. To test this: |
|
Device error level 0: OK, |
EyeVecEyeSampleEventData
Data for event id EYEVEC_EVENT_EYE_DATA.
typedef struct _EyeVecEyeSampleEventData {
int side;
EyeVecEye eye[2];
} EyeVecEyeSampleEventData;
Field | Description |
---|---|
|
Bitmask defining which eye data present Bit 0: EYEVEC_RIGHT_EYE, bit 1: EYEVEC_LEFT_EYE |
|
Right(0)/left(1) eye data |
EyeVecBlinkEventData
Data for event id EYEVEC_EVENT_BLINK_START, EYEVEC_EVENT_BLINK_END and
typedef struct _EyeVecBlinkEventData {
int64_t starttime;
int64_t endtime;
int64_t updatestarttime;
int side;
} EyeVecBlinkEventData;
Field | Description |
---|---|
|
Blink start time [µs] |
|
Blink end time (exclusive) or blink update time [µs] For EYEVEC_EVENT_BLINK_START: Not used, always 0. For EYEVEC_EVENT_BLINK_END: Blink end time if > 0 (exclusive). Special values: 0 means blink timed out; -1 means blink lost. For EYEVEC_EVENT_BLINK_UPDATE: End time of current update interval (exclusive) and also start time of the next update interval (inclusive). |
|
Blink update interval start time [µs] |
|
Which eye: EYEVEC_RIGHT_EYE, EYEVEC_LEFT_EYE or EYEVEC_MEAN_EYE |
EyeVecSaccadeEventData
Data for event id EYEVEC_EVENT_SACCADE_START and EYEVEC_EVENT_SACCADE_END.
typedef struct _EyeVecSaccadeEventData {
int64_t starttime;
int64_t endtime;
EyeVecPointf gaze_start;
EyeVecPointf gaze_end;
EyeVecPointf gaze_avg;
float pupil_start;
float pupil_end;
float pupil_avg;
int side;
} EyeVecSaccadeEventData;
Field | Description |
---|---|
|
Saccade start time [µs]. |
|
Saccade end time (exclusive) [µs] For EYEVEC_EVENT_SACCADE_START: Not used, always 0. For EYEVEC_EVENT_SACCADE_END: Saccade end time if ≥ 0 (exclusive). Special values: -1 means saccade lost. |
|
Logical gaze position at saccade start This is a linear regression based average of the estimated gaze position at
|
|
Logical gaze position at saccade end For EYEVEC_EVENT_SACCADE_START:
Copy of For EYEVEC_EVENT_SACCADE_END:
Linear regression based average of the estimated gaze position at |
|
Average logical gaze position during saccade For EYEVEC_EVENT_SACCADE_START:
Copy of For EYEVEC_EVENT_SACCADE_END: Average of the linear regression based averages of the estimated gaze position. |
|
Estimated pupil diameter at saccade start [mm] This is the estimated pupil diameter at If possible length of the major axis of the estimated pupil ellipse will be used. Otherwise the the diameter will be based on detected pupil area. |
|
Estimated pupil diameter at saccade end [mm] For EYEVEC_EVENT_SACCADE_START:
Copy of For EYEVEC_EVENT_SACCADE_END:
Estimated pupil diameter at |
|
Average estimated pupil diameter during saccade [mm] For EYEVEC_EVENT_SACCADE_START:
Copy of For EYEVEC_EVENT_SACCADE_END: Average of the estimated pupil diameters. |
|
Which eye: EYEVEC_RIGHT_EYE, EYEVEC_LEFT_EYE or EYEVEC_MEAN_EYE |
EyeVecFixationEventData
Data for event id EYEVEC_EVENT_FIXATION_START, EYEVEC_EVENT_FIXATION_END and EYEVEC_EVENT_FIXATION_UPDATE.
typedef struct _EyeVecFixationEventData {
int64_t starttime;
int64_t endtime;
int64_t updatestarttime;
EyeVecPointf gaze_start;
EyeVecPointf gaze_end;
EyeVecPointf gaze_avg;
EyeVecPointf gaze_var;
EyeVecPointf gaze_updavg;
EyeVecPointf gaze_updvar;
float pupil_start;
float pupil_end;
float pupil_avg;
float pupil_var;
float pupil_updavg;
float pupil_updvar;
int side;
} EyeVecFixationEventData;
Field | Description |
---|---|
|
Fixation start time [µs] |
|
Fixation end time (exclusive) or fixation update time [µs] For EYEVEC_EVENT_FIXATION_START: Not used, always 0. For EYEVEC_EVENT_FIXATION_END: Fixation end time if ≥ 0 (exclusive). Special values: -1 means fixation lost. For EYEVEC_EVENT_FIXATION_UPDATE: End time of current update interval (exclusive) and also start time of the next update interval (inclusive). |
|
Fixation update interval start time [µs] |
|
Logical gaze position at fixation start This is a linear regression based average of the estimated gaze position at
|
|
Logical gaze position at fixation end or fixation update For EYEVEC_EVENT_FIXATION_START:
Copy of For EYEVEC_EVENT_FIXATION_END:
Linear regression based average of the estimated gaze position at For EYEVEC_EVENT_FIXATION_UPDATE:
Linear regression based average of the estimated gaze position at |
|
Average logical gaze position during fixation For EYEVEC_EVENT_FIXATION_START:
Copy of For EYEVEC_EVENT_FIXATION_END: Average of the linear regression based averages of the estimated gaze position. For EYEVEC_EVENT_FIXATION_UPDATE: Average of the linear regression based averages of the estimated gaze position so far. |
|
Variance of logical gaze position during fixation For EYEVEC_EVENT_FIXATION_START: 0. For EYEVEC_EVENT_FIXATION_END: Variance of the linear regression based averages of the estimated gaze position. For EYEVEC_EVENT_FIXATION_UPDATE: Variance of the linear regression based averages of the estimated gaze position so far. |
|
Average logical gaze position during fixation update interval For EYEVEC_EVENT_FIXATION_START:
Copy of For EYEVEC_EVENT_FIXATION_END, EYEVEC_EVENT_FIXATION_UPDATE: Average of the linear regression based averages of the estimated gaze position over the fixation update interval. |
|
Variance of logical gaze position during fixation update interval For EYEVEC_EVENT_FIXATION_START: 0. For EYEVEC_EVENT_FIXATION_END, EYEVEC_EVENT_FIXATION_UPDATE: Variance of the linear regression based averages of the estimated gaze position over the fixation update interval. |
|
Estimated pupil diameter at fixation start [mm] This is the estimated pupil diameter at If possible length of the major axis of the estimated pupil ellipse will be used. Otherwise the the diameter will be based on detected pupil area. |
|
Estimated pupil diameter at fixation end [mm] For EYEVEC_EVENT_FIXATION_START:
Copy of For EYEVEC_EVENT_FIXATION_END:
Estimated pupil diameter at For EYEVEC_EVENT_FIXATION_UPDATE:
Estimated pupil diameter at |
|
Average estimated pupil diameter during fixation [mm] For EYEVEC_EVENT_FIXATION_START:
Copy of For EYEVEC_EVENT_FIXATION_END: Average of the estimated pupil diameters. For EYEVEC_EVENT_FIXATION_UPDATE: Average of the estimated pupil diameters so far. |
|
Variance of estimated pupil diameter during fixation [mm2] For EYEVEC_EVENT_FIXATION_START: 0. For EYEVEC_EVENT_FIXATION_END: Variance of the estimated pupil diameters. For EYEVEC_EVENT_FIXATION_UPDATE: Variance of the estimated pupil diameters so far. |
|
Average estimated pupil diameter during fixation update interval [mm] For EYEVEC_EVENT_FIXATION_START:
Copy of For EYEVEC_EVENT_FIXATION_END, EYEVEC_EVENT_FIXATION_UPDATE: Average of the estimated pupil diameters over the fixation update interval. |
|
Variance of estimated pupil diameter during fixation update interval [mm2] For EYEVEC_EVENT_FIXATION_START: 0. For EYEVEC_EVENT_FIXATION_END, EYEVEC_EVENT_FIXATION_UPDATE: Variance of the estimated pupil diameters over the fixation update interval. |
|
Which eye: EYEVEC_RIGHT_EYE, EYEVEC_LEFT_EYE or EYEVEC_MEAN_EYE |
EyeVecTestItemEventData
Data for event id EYEVEC_EVENT_TEST_ITEM_START and EYEVEC_EVENT_TEST_ITEM_END.
typedef struct _EyeVecTestItemEventData {
int id;
} EyeVecTestItemEventData;
Field | Description |
---|---|
|
Item id |
EyeVecEvent
Opaque EyeVecEvent struct.
typedef struct _EyeVecEvent EyeVecEvent;
EyeVec
Opaque EyeVec struct.
typedef struct _EyeVec EyeVec;