Ocumen Filters - Overview
The Ocumen filter library is a collection of algorithms that are designed to process eye tracking data and detect eye tracking events.
By applying filters to Advanced Signals directly or to an Ocumen recording, you can refine the data to make it more useful for analysis, and you can detect events in the data such as fixations and saccades. Doing so gets you closer to understanding user behavior and cognitive processes.
To accommodate a wide variety of use cases, the Ocumen filter library is designed as a low level library which is performant, easy to use and versatile with both C# and Python API surfaces. The filter library runs on Windows and Android.
Table of Contents
Filter Usage
To use a filter, a function call is made to the filter library from C# or Python. In the function call, a set of arrays is specified as input. Also, for most filters, a set of filter-specific configuration parameters is specified to customize the filter’s behavior. The filter function then processes the input data, updates the output array and returns a code describing if the processing succeeded or not.

A common workflow with the filter library is to chain filters together to form a filter pipeline, the output of one filter being used as the input of the next filter. See below for examples of filter pipelines.

Included Filters
Ocumen includes the following filters.
Eye tracking filters
Filters that classify eye tracking events or extract additional useful data from gaze data.
Eye tracking processors
Filters that process eye tracking data to make it more useful. These filters are often used to prepare data for eye tracking filters.
Generic processors
Filters that process temporal data and are not limited to eye tracking.
Fixation
Saccade
Velocity
Pupil
Spectral
Fusion
Smoothing/Interpolation
- Savitzky-Golay Smoothing C#, Python
- Catmull-Rom Resampling C#, Python
- Calculate Catmull-Rom Resampling Length C#, Python
- Resample Binocular Gaze C#, Python
- Resample Position Guide C#, Python
- Resample Entrance Pupil C#, Python
- Resample Pupil Size C#, Python
Invalidation
- Detect Near Blinks C#, Python
- Invalidate Near Blink: Binocular Gaze C#, Python
- Invalidate Near Blink: Entrance Pupil C#, Python
- Invalidate Near Blink: Pupil Size C#, Python
- Invalidate Near Blink: Position Guide C#, Python
- Invalidate Eyes: Binocular Gaze C#, Python
- Invalidate Eyes: Blink State C#, Python
- Invalidate Eyes: Entrance Pupil C#, Python
- Invalidate Eyes: Pupil Size C#, Python
- Invalidate Eyes: Position Guide C#, Python
Noise
Get Started
To get started using the Ocumen filter library, see the following resources.
Sample
Try some filters in near-real-time in VR in the the following sample: