Gaze position calibrators

ArGaze provides ready-to-use gaze position calibrator algorithms.

The JSON samples have to be included inside ArFrame configuration gaze_position_calibrator entry to select an algorithm.

"gaze_position_calibrator": {
    JSON sample
}

Read more about GazePositionCalibrator base class in code reference.

Note

The members indicated as property are what returns the matcher.

Linear regression

Bases: GazeFeatures.GazePositionCalibrator

Implementation of linear regression algorithm as described in:

Drewes, H., Pfeuffer, K., & Alt, F. (2019, June).
Time- and space-efficient eye tracker calibration.
Proceedings of the 11th ACM Symposium on Eye Tracking Research & Applications (ETRA'19, 1-8).
https://dl.acm.org/doi/pdf/10.1145/3314111.3319818

coefficients: list property writable

Linear regression coefficients.

intercept: list property writable

Linear regression intercept value.

apply(gaze_position)

Apply calibration onto observed gaze position.

calibrate()

Process calibration from observed and expected gaze positions.

Returns:
  • score( float ) –

    the score of linear regression

draw(image, size, resolution, line_color=(0, 0, 0), thickness=1)

Draw calibration field.

is_calibrating()

Is the calibration running?

reset()

Reset observed and expected gaze positions.

store(observed_gaze_position, expected_gaze_position)

Store observed and expected gaze positions.

JSON sample

"argaze.GazeAnalysis.LinearRegression.GazePositionCalibrator": {
    "coefficients": [
        [
            0.901167941442693,
            0.0345129853595345
        ],
        [
            0.11551395622739168,
            0.9315744785596141
        ]
    ],
    "intercept": [
        65.43372920399452,
        -52.23141937917768
    ]
}