What is EEGLAB?

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 data structure
  • Many advanced plug-in/extension toolboxes

Q: I've used ICA to decompose my data -- now how can I learn to recognize which independent component processes of EEG data represent brain sources activity and which capture activity from other non-brain sources?

Try using ICLabel to first learn about and then practice labeling EEG independent components (ICs). You can also help to create a more accurate automated IC classifier using machine learning algorithms on crowd-sourced data. The results are being incorporated into a self-updating EEGLAB plug-in that will become more accurate the more labels you and others contribute.

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/5th-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. To download this animation directly (.mp4, 7MB), right click here.


get_chanlocs plug-in released

Use relatively low-cost camera & tablet to quickly record and digitize any number of 3-D electrode positions.