Skip to content

Eye Tracker Calibration Step

Martin Konopka edited this page Oct 20, 2019 · 9 revisions

Each session with eye tracker should contain eye tracker calibration. Use this step in the pre-session timeline of the Session Definition.

For calibrating the eye tracker, circle point is animated on the screen, following the calibration plan (point sequence), stopping at each point location for a while when the tracker collects data samples for that location on the screen. Time before and after the data collection, while the point is on the target position, can be adjusted in the step definition.

The eye tracker calibration step consists of these steps:

  1. Head positioning - participant should adjust his or her posture, or readjust the display with mounted eye tracker, to be in 60 cm distance from the screen and eyes positioned in the middle of the track box. For proper head positioning, eyes position and head distance are displayed to guide the participant. When the head positioning is completed and participant feels comfortable, he or she starts the calibration procedure.
  2. Point animation for calibration plan, participant follows animated circle point on the screen with gaze.
  3. Calibration result - visual comparison of locations of calibration points and recorded samples, returned by the eye tracker. Calibration status is evaluated and guides participant to either continue in the recording (submit the calibration) or retry the calibration (jump back to step 1).

Definition

  • actionType : "EyeTrackerCalibration" (required)
  • customPlan : Point2D[] (optional) - custom sequence of calibration points. Each point is normalized value of the screen resolution, i.e., the center point is [ 0.5, 0.5 ]. Specifying the custom plan overrides the default 9-point plan. Points may be defined in 2 ways, e.g, for (0.4, 0.3) point:
    • as a tuple [ 0.4, 0.3 ], or
    • as a Point2D object { "x" : 0.4, "y" : 0.3 }
  • pointCompletionBeginTimeout : int (milliseconds) - time between reaching the target position on the screen and reporting it to the eye tracker, default value is 1000 milliseconds.
  • pointCompletionEndTimeout : int (milliseconds) - time between the calibration for the position was completed (as reported by the eye tracker) and the point starts moving to the next position in the calibration plan, default value is 300 milliseconds.
  • isProfileEnabled : bool - if set the true, display the UI for loading and saving calibrations. The stored calibration is stored in app local data directory, it is specific to the eye tracker device family, and must be given a name, e.g., participant's name.

Eye Tracker Calibration step is a content step, it can be configured with additional settings common for all content steps. See Content Step styling for details. Because eye tracker calibration requires participant's interaction, the showCursor setting has no effect.

Result

  • resultType - "Successful", if participant completed the calibration; otherwise, "Failed".
  • calibrations - CalibrationDetails[] - array of all executed calibrations in this step.

Calibration plan

The default calibration plan is the 9-point plan:

[
    [ 0.1, 0.1 ], [ 0.1, 0.5 ], [ 0.1, 0.9 ], 
    [ 0.5, 0.1 ], [ 0.5, 0.5 ], [ 0.5, 0.9 ], 
    [ 0.9, 0.1 ], [ 0.9, 0.5 ], [ 0.9, 0.9 ]
]

This plan results in the following point animation, starting in the top left corner. Default plan may be overriden with custom plan using the customPlan property in the step definition.

[*]      *       *
 |     / |     / |
 |    /  |    /  |
 *   /   *   /   *
 |  /    |  /    |
 | /     | /     |
 *       *       *

Calibration details

Contains information of performed calibration.

  • points : CalibrationPointResult[] - array of calibration point results, each contains:
    • truePosition : Point2D - original location of calibration point from plan
    • samples : CalibrationSample[] - array of calibration samples from the eye tracker, each contains:
      • leftEye : CalibrationEyeSample - calibration sample for the left eye.
        • point : Point2D - normalized gaze point.
        • status : string - one of the following values: "ValidAndUsedInCalibration", "ValidButNotUsedInCalibration", or "FailedOrInvalid".
      • rightEye : CalibrationEyeSample - calibration sample for the right eye, same structure like for left eye.
    • status : string - calibration status, one of the following values:
      • "Unknown" - calibration was not evaluated,
      • "Failure" - participants eyes were not successfuly tracked, should be retried,
      • "Success" - calibration was successful,
      • "SuccessLeftEye" - calibration was successful only for the left eye,
      • "SuccessRightEye" - calibration was successful only for the right eye.
Clone this wiki locally