EYE-EEG is a plugin for the open-source MATLAB toolbox EEGLAB developed with the goal to facilitate integrated analyses of electrophysiological
and oculomotor data . The plugin parses, imports, and synchronizes simultaneously recorded eye tracking data and adds it as extra channels to the EEG.
Saccades and fixations can be imported from the eye tracking raw data or detected with an adaptive velocity-based algorithm .
Eye movements are then added as new time-locking events to EEGLAB's event structure, allowing easy saccade- and fixation-related EEG analysis (e.g., fixation-related potentials, FRPs).
Alternatively, EEG data can be aligned to stimulus onsets and analyzed according to oculomotor behavior (e.g. pupil size, microsaccades) in a given trial.
Saccade-related ICA components can be objectively identified based on their covariance with the electrically independent eye tracker .
EYE-EEG adds a top-level menu called Eyetracker to EEGLAB. All functions can be accessed via this menu and are
saved in EEGLAB's command history. Alternatively, functions can be called from the command line, providing advanced
users with the option to use them in custom scripts. Using EEGLAB's export functions, integrated datasets may also be
exported to other free toolboxes like Fieldtrip or Brainstorm.
Everyday vision is an active process that involves making several saccades per second. In contrast, most EEG data is recorded during prolonged visual fixation.
An alternative approach to signal analysis (for an overview see ), is to time-lock the EEG not to passive stimulus presentations, but to the
on- or offsets of saccadic eye movements in more natural viewing situations (yielding saccade- and fixation-related potentials, SRPs/FRPs).
However, recording precise eye movements together with the EEG is also useful for many other purposes. These include controlling fixation, detecting signal distortions from
microsaccades (e.g., ), improving ocular artifact correction [1, 3], measuring saccadic reaction times,
presenting stimuli gaze-contingently , simultaneous pupillometry, or improving brain-computer interfaces.
Overview over functions
parse raw eye tracking data, store it in MATLAB format
Import & synchronize
synchronize eye track & EEG data based on common events
add gaze position & pupil size as extra channels
import saccades/fixations/blinks detected online by the eye tracker
Reject data based on eye position
remove continuous or epoched data with out-of-range values in eye track
control fixation, objectively reject blink artifacts
Apply functions to selected channels
apply existing EEGLAB functions (e.g. filters) only to EEG or eye track
Detect saccades & fixations
velocity-based (micro)saccade detection with relative thresholds (Engbert & Mergenthaler, 2006)
add saccades & fixations as time-locking events to EEG.event
plot eye movement properties
Classify independent components
automatically reject ocular ICs that covary with the electrically independent eye track
use variance ratio criterion proposed by Plöchl et al. (2012)
Eye-movement related potentials
analyze fixation-related potentials (FRPs) in time or frequency domain
directly relate EEG and oculomotor behavior (e.g., pupil size)
Currently, the plugin reads text-converted raw data from eye trackers by SR Research
(e.g., EyeLink™-series) and Sensomotoric Instruments
(e.g., iView X™ and RED™-series). If EEG and eye track are already synchronized (see Tutorial:
How to connect eye tracker & EEG), the plugin can also be used to further process
data recorded with other eye tracking hardware. There are no known limitations regarding EEG hardware, since EEGLAB
imports most EEG formats.
Download & Installation
Disclaimer: The EYE-EEG plugin is currently an Beta release, intended primarily for Beta-testing.
Not all functions of future releases are guaranteed to be backwards compatible with this version and function inputs and data
formats will likely undergo some changes. Versions following 1.0 will be guaranteed backwards compatibility. Nevertheless, you
are welcome to use this version and you may find much of the current functionality useful for your purposes.
This is free software distributed under the GNU General Public License.
However, we do ask those who use this program or adapt its functions to cite it in their work. Please refer to it as the "EYE-EEG plug-in for EEGLAB" and cite reference
If you use the saccade detection, please additionally cite reference . If you select independent components based on the variance
ratio criterion, make sure to also cite reference . Also, please ensure that EEGLAB is cited properly as described on the EEGLAB website.
For bug reports, feature requests, and all other feedback please email us.
We'd be happy to hear of any papers you have written or insights you have gained using EYE-EEG.
We also welcome any collaboration in improving the tools, adding features, or supporting additional eye trackers.
Dimigen, O., Sommer, W., Hohlfeld, A., Jacobs, A., & Kliegl, R. (2011). Coregistration of eye movements and EEG in natural reading:
Analyses & Review. Journal of Experimenta Psychology: General, 140 (4), 552-572 [plugin reference paper, PDF]
Engbert, R., & Mergenthaler, K. (2006). Microsaccades are triggered by low retinal image slip. PNAS, 103 (18), 7192-7197
Plöchl, M., Ossandon, J.P., & König, P. (2012). Combining EEG and eye tracking: identification, characterization, and correction of eye movement artifacts in electroencephalographic data. Frontiers in Human Neuroscience, doi: 10.3389/fnhum.2012.00278
Dimigen, O., Valsecchi, M., Sommer, W., & Kliegl, R. (2009). Human microsaccade-related visual brain responses. J Neurosci, 29, 12321-31
Dimigen, O., Kliegl, R., & Sommer, W. (2012). Trans-saccadic parafoveal preview benefits in fluent reading: a study with fixation-related brain potentials. Neuroimage, 62 (1), 381-393