Skip to content

Eye Tracker Tests

Overview

In the EyeTracker_Tests folder located in the ExampleScripts directory, you can find a collection of tests designed to assess the accuracy of your eye tracker. To run these tests, follow the instructions below for each test. You will find the results (charts, raw data, averages) in the eyeTrackerTestData folder.

Note: For all of these tests, make sure to first perform a calibration for your specific device. Look straight ahead and try to keep your head from moving while looking at the bullseye. Do not adjust or move the headset after calibration (otherwise, calibrate again to get valid results).

Spatial Accuracy

  • This script measures the spatial accuracy of an eye tracker by calculating the angular error (in degrees) between the user's gaze direction and a known target location.

Instructions:

  • View the instructions screen, then press the trigger when ready.

  • Press 'r' to reset your position at any time.

  • Stand on the green cube and fixate your gaze on the bullseye target.

  • Press the trigger button to start collecting error samples. The target will move through a 5×5 grid across your visual field

  • Press Spacebar to save the data

  • After the test, errors and the average error will be saved in the testData folder. A scatterplot of the errors will also be generated.

Angle Calculation

Every frame, the script:

  • Retrieves the user's current gaze matrix.
  • Derives the eye-to-target vector.
  • Computes the angle between the eye's forward vector and the eye-to-target vector.
dot_product = np.dot(vector1, vector2)
cosine_angle = dot_product / (magnitude_vector1 * magnitude_vector2)
angle_in_radians = np.arccos(cosine_angle)
angle_in_degrees = np.degrees(angle_in_radians)

This angle (in degrees and radians) is stored as the spatial error.

This process repeats as the bullseye moves to each location in the 5×5 grid, providing a spatial map of gaze accuracy.

VOR Test

  • This test focuses on assessing accuracy using a VOR (Vestibulo-Ocular Reflex) test.
  • Follow the instructions within the script to perform the test and evaluate the eye tracker's performance.
  • After the test, the errors and the average error will be saved in the "testData" folder, and you can view a scatterplot of the error.
  • You can press the 'r' key to reset your position.

Smooth Pursuit

  • This script evaluates the accuracy of tracking a moving target.
  • Run the script and observe how well your eye tracker can follow the target's movement.
  • After the test, the errors and the average error will be saved in the "testData" folder, and you can view a scatterplot of the error.
  • You can press the 'r' key to reset your position.

Spatial Array

  • Before starting the application, perform the calibration procedure specific to your headset.
  • Run the script and observe the array of balls. The balls will change color when your gaze is directed towards them, highlighting your point of focus.
  • Use the "p" key to toggle the gaze point on and off.

Feel free to use these examples to evaluate and fine-tune your eye tracker's performance. The results, including errors and average error measurements, will be saved in the "eyeTrackerTestData" folder for further analysis and assessment along with a scatterplot generated by matplotlib.

image-20241026091049190

Was this page helpful?