Saccade detection


PANDA tutorial, for students and coworkers: detection of eye- and head-position signals with pa_sacdet.m.


Saccades are stereotyped and rapid eye movements. This is highly useful when we want to determine things such as reaction time and end position. These parameters are used to determing the speed and accuracy of the stimulus-response relation. Other things such as saccade velocity and duration can tell us something about how the saccade is programmed and controlled by the brain. To determine these parameters, we first need to detect the saccades in recorded eye-position signals. In this tutorial, you will detect saccades from signals recorded during a sound-localization experiment.


The PandA toolbox is required for most of the data-analysis. Data for this tutorial can be found here. It is the same data as used in the calibration tutorial.



When calibration of the raw data files (see previous chapter) has been finished, saccades can be detected. A saccade is defined by an onset and an offset moment-marking within the trial. These markings are stored in a so-called SAC-file, which is generated by a saccade detection function in MATLAB called

By using this SAC-file, later analysis may concentrate on the right chunks of data in the original data-file for extracting the relevant parameters (e.g. reaction time, saccade velocity, end position). This section describes how to use the program pa_sacdet for detecting saccades. Again, the procedure is illustrated by the example experiment MW-BA-2010-04-26-0002.

Eye or Head Movements

The aim is to indicate the on- and onsets of all saccades in file MW-BA-2010-04-26-0002.hv. Therefore, type:

and select the correct hv-file, in the popup dialog, or
in the data directory where the hv-file is stored. If you are in a different directory (or if you haven’t supplied pa_sacdet with a filename), a window will pop up and ask you to search for a file you want to have analyzed. The computer will then on the basis of the (filtered) eye velocity profiles determine the start and ending of saccades. In general, the program will detect the saccades automatically and correctly, but the experimenter may change the general detection parameters or individual markings interactively, if needed.

Gaze-shifts / Eye-Head Movements

The detection of gaze (combined eye-head) movements requires three steps, because one may identify three types of saccades (Gaze saccades, Eye-in-head saccades, Head saccades). Each type should be detected separately.

Saccade Features

The extraction of the different relevant saccade parameters is again done in MATLAB, by using:


The output of this function is a MAT-file in which two matrices are stored:

  • a Sac matrix, that contains the saccade parameters (such as reaction time and saccade amplitude)
  • a Stim matrix, in which stimulus parameters are included

Cleaning Data Directory

After calibrating the raw data files, saccade detection, and computation of the saccade parameters, there will be a large number of different files in the data directory. Not all these files are equally useful. Cleaning the directory is a MUST, because network disk space is limited. In Matlab you can use the function:

This will create three zip-files (containing the data-files, the mat-files, and the sac-files). It will ask you whether you want to delete all non-MAT/CSV/ZIP files (which it will do after you press ‘y’).


Now, you can continue with the saccade analysis. A short example of what can be done with saccade parameters, such as reaction times, can be found in the saccade introduction. If you want to know whether this subject can localize sounds, you can go to sound localization introduction.