Learn how to use RealEye.io - webcam eye-tracking platform.

Beata Lewandowska
Written by Beata Lewandowska

Fixation Filter

How does RealEye.io compute fixations?

The Basics

Fixation is a series of gaze points, that are very close in terms of time and space. To determine, whether such a cluster of gazes is a fixation or not, some parameters need to be defined:

  • minimum fixation duration,
  • noise reduction,
  • gaze velocity threshold.

There are all set by default, but you can change them to suit your needs.

Minimum fixation duration is a minimum time of gaze cluster (pause of the eye) that may be called a fixation. It typically ranges from 100 to 300 milliseconds.

Noise reduction using the moving median algorithm is a way to reduce the influence of noise on the actual results. Each point is replaced by a median of a number of points (called noise reduction level). If a noise reduction level is set to 3, that means we calculate a median for three consecutive points. This is how it looks like for X and Y eyes position with noise reduction level set on 21.

To enter this plot, go to an item heatmap, choose one of the participants from the list and you'll see a "Show Data Chart" button.

Gaze velocity threshold - is a velocity "limit"; data below this limit is classified as fixation while data that exceeds this velocity limit is a saccade. This filter may be set to a 0 value while having set a suitable noise reduction level.


Our fixation filter works for data with a sampling rate of over 20 Hz.


We consider gaze/fixation to be a part of an AOI if the fixation started in the AOI time range.

Fixation Filter

RealEye uses an algorithm similar to the I-VT (Velocity-Threshold Identification) fixation filter.

Main rules for our algorithm:

  • Gaze's max duration is 33 ms. The gaze ends at the raw gaze timestamp (time of eye-tracker prediction).
  • Instead of angular velocity, we use velocity expressed as a percentage of the item size.
  • We expand fixation time if the gap between gazes is not too big (not more than 50 ms).
  • If there aren't at least 2 gazes, we don't calculate fixation.
  • The fixation coordinate point is the average of coordinates of all included gaze points.
  • We calculate using numbers in IEEE 754 double-precision format (with decimal expansion to 14 decimal places).