An open source environment for electrophysiological signal processing


EEGLAB is a MATLAB toolbox distributed under the free GNU GPL license for processing data from electroencephalography (EEG), magnetoencephalography (MEG), and other electrophysiological signals. Along with all the basic processing tools, EEGLAB implements independent component analysis (ICA), time/frequency analysis, artifact rejection, and several modes of data visualization. EEGLAB allows users to import their electrophysiological data in about 20 binary file formats, preprocess the data, visualize activity in single trials, and perform ICA. Artifactual ICA components may be subtracted from the data. Alternatively, ICA components representing brain activity may be further processed and analyzed. EEGLAB also allows users to group data from several subjects, and to cluster their independent components.

EEGLAB is an interactive Matlab toolbox for processing continuous and event-related EEG, MEG and other electrophysiological data incorporating independent component analysis (ICA), time/frequency analysis, artifact rejection, event-related statistics, and several useful modes of visualization of the averaged and single-trial data. EEGLAB runs under Linux, Unix, Windows, and Mac OS X.

EEGLAB provides an interactive graphic user interface (GUI) allowing users to flexibly and interactively process their high-density EEG and other dynamic brain data using independent component analysis (ICA) and/or time/frequency analysis (TFA), as well as standard averaging methods. EEGLAB also incorporates extensive tutorial and help windows, plus a command history function that eases users' transition from GUI-based data exploration to building and running batch or custom data analysis scripts. EEGLAB offers a wealth of methods for visualizing and modeling event-related brain dynamics, both at the level of individual EEGLAB 'datasets' and/or across a collection of datasets brought together in an EEGLAB 'studyset.'

For experienced Matlab users, EEGLAB offers a structured programming environment for storing, accessing, measuring, manipulating and visualizing event-related EEG data. For creative research programmers and methods developers, EEGLAB offers an extensible, open-source platform through which they can share new methods with the world research community by publishing EEGLAB 'plug-in' functions that appear automatically in the EEGLAB menu of users who download them. For example, novel EEGLAB plug-ins might be built and released to 'pick peaks' in ERP or time/frequency results, or to perform specialized import/export, data visualization, or inverse source modeling of EEG, MEG, and/or ECOG data.

EEGLAB Features:

  • Graphic user interface
  • Multiformat data importing
  • High-density data scrolling
  • Interactive plotting functions
  • Semi-automated artifact removal
  • ICA & time/frequency transforms
  • Event & channel location handling
  • Forward/inverse head/source modeling
  • Defined EEG & STUDY data structures
  • Over 100 advanced plug-in/extensions

Use EEGLAB to work at the EEG source level
EEGLAB features processing source activity isolated using ICA. Scalp electroencephalographic (EEG) electrodes record sums of activity from cortical sources and non-brain processes, making direct interpretation of scalp channel waveforms problematic. As an example, the video above shows a silent 1/10th-speed simulation by Zeynep Akalin Acar and Scott Makeig shows (on the left) two cm-sized, parietal EEG sources expressing simulated alpha band activities (at 9 Hz and 10 Hz respectively), and (on the right) their summed scalp projection. Note the strong difference between the cortical source dynamics (left) and scalp EEG dynamics (right), and the difficulty of determining the nature and locations of the source activities directly from the scalp pattern.