EEGLABWhat is EEG?
Versions 11 and 12
Download slides and sample data,
and stream talk videos in the growing
Online EEGLAB Workshop
New EEGLAB toolboxes for advanced EEG signal processing:
A recent EEGLAB project Progress Report documents EEGLAB use and progress
NFT - 3-D head and source location modeling
SIFT - 3-D source information flow modeling
MPT - 3-D source measure projection analysis
BCILAB - Brain-computer interface (BCI) design & analysis
MoBILAB - Mobile brain/body imaging (MoBI)
Our recently submitted and likely to be funded proposed Specific Aims describe current EEGLAB development goals.
This silent 1/5th-speed simulation, by Zeynep Akalin Acar and Scott Makeig, shows (on the left) two cm-sized, cortical electroencaphalographic (EEG) source activities expressing simulated alpha band activity at 9 Hz and 10 Hz respectively, and (on the right) their summed scalp-projected EEG field pattern. Note differences between the cortical source and scalp EEG spatial patterns. To download this animation directly (.mp4, 7MB), right click here. More information.
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. First developed on Matlab 5.3 under Linux, EEGLAB runs on Matlab v5 and higher under Linux, Unix, Windows, and Mac OS X (Matlab 7+ recommended).
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.
- Graphic user interface
- Multiformat data importing
- High-density data scrolling
- Defined EEG data structure
- Open source plug-in facility
- Interactive plotting functions
- Semi-automated artifact removal
- ICA & time/frequency transforms
- Many advanced plug-in toolboxes
- Event & channel location handling
- Forward/inverse head/source modeling
Core EEGLAB runs on Matlab 7 or later under any operating system (Linux/Unix, Windows, Mac OSX). EEGLAB may also run on Matlab 6.5 or earlier, though a few functions might crash because of backward Matlab incompatibility. Matlab 5.3 is no longer supported. However, the newest EEGLAB toolboxes (in particular, BCILAB, MoBILAB, SIFT) require the object-oriented programming capabilities of Matlab 7.6 or later, which is thus recommended. Using 64-bit processors with large amounts of RAM may be essential for analyzing large datasets -- 4-16 Gb RAM per processor is recommended (also see the EEGLAB wiki for tips on minimizing memory use). For further information see this wiki page). The Matlab Signal Processing toolbox is also recommended; although EEGLAB incorporates functions to replace functions it uses from this toolbox when necessary (e.g., for filtering and power spectra computation), they are not as efficient as the toolbox Matlab functions. Component clustering functions (introduced in EEGLAB v5) also use the Matlab Statistics toolbox. Some EEGLAB plug-in toolboxes use functions from other Matlab toolboxes; see their documentation for details.
EEGLAB Citation Reference
Delorme A & Makeig S (2004) EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics. Journal of Neuroscience Methods 134:9-21 This paper currently has over 2,400 citations in Google Scholar. Other references: Some basic papers on the signal processing tools in EEGLAB. Some recent papers citing EEGLAB.
Search the EEGLAB web site or email discussion list archive
EEGLAB is a collection of about 400 Matlab functions comprising a total of 50,000 program lines, plus a 300-page EEGLAB
tutorial manual. To our knowledge, more than 30 user-initiated plug-ins have been developed and released for EEGLAB. Researchers from at least 88 country domains have downloaded toolbox files. Currently, EEGLAB files are downloaded 30-40 times per day, and over 3,500 researchers participate in the EEGLAB email discussion list.
The First EEGLAB Workshop was held Oct. 28-30, 2004 at the San Diego Supercomputer Center, UCSD, La Jolla CA. The Second workshop was held September 17-19, 2005 at the University of Porto, Portugal. The Third EEGLAB Workshop was in Singapore, November 15-18, 2006, the Fourth in Aspet, near Toulouse, France, in June, 2007. The Fifth EEGLAB Workshop was held near UCSD, La Jolla CA in November, 2007. The Sixth Workshop was in Santiago, Chile in December, 2007, and the Seventh at Indiana University, Bloomington, Indiana in April 2009, The Eighth workshop was again in Aspet, France in June 2009; the Ninth was hosted by University of Newcastle, Australia in late 2009. The Tenth through Twelfth workshops took place in 2010 in Jyväskylä, Finland, in Hsinchu, Taiwan, and at SCCN in La Jolla following the Society for Neuroscience meeting in November. There have also been two one-day workshops preceding meetings of the Society for Psychophysiology Research (SPR) in 2005 and 2010. In 2011, workshops were presented in Aspet, France (June) and in Mallorca, Spain (September) before the ICON XI meeting. In 2012, workshops have been held in Beijing, China, following the Human Brain Mapping meeting, and in San Diego at the IEEE EMBC meeting. An Online EEGLAB Workshop, now available here, includes streaming video lectures, slides, and links to sample data. To host or help plan future workshops here.
The chief EEGLAB developers are Arnaud Delorme and Scott Makeig. The predecessor to EEGLAB, the ICA/EEG Toolbox (1997-2001), comprised functions written by Makeig with Tony Bell, Colin Humphries, Sigurd Enghoff, Tzyy-Ping Jung, Te-Won Lee, and others, was first released on the Web in 1997 by Scott Makeig at the Computational Neurobiology Laboratory of Terrence J. Sejnowski at The Salk Institute, La Jolla. The first version of the integrated EEGLAB toolbox was written there by Delorme and Makeig with subsequent contributions by many including Marissa Westerfield, Jörn Anemüller, Luca Finelli, Robert Oostenveld, Hilit Serby, Toby Fernsler, Nima Shamlo Bigdeley, Jason Palmer and many others. Dedicated beta testers include Andreas Romeyke and his team, who developed a test suite for EEGLAB, and other advanced users including Stefan Debener and Andreus Widmar. EEGLAB development is now centered at the Swartz Center for Computational Neuroscience (SCCN) of the Institute for Neural Computation at the University of California San Diego (UCSD). Core EEGLAB maintenance and development is supported by the US National Institute of Neurological Disorders and Stroke (NINDS). Recent additions to EEGLAB from SCCN include several plug-in toolboxes (described here) including NFT (head modeling tools), SIFT (effective connectivity tools), MPT (source comparison tools), and BCILAB (BCI modeling tools).
We welcome collaborations with users and open source developers to expand and improve EEGLAB functions and/or to independently write and release EEGLAB plug-in applications and environments. If you have written plug-ins for use in your laboratory, please consider releasing them for use by others. Available EEGLAB plug-ins are listed here; several are included in the EEGLAB release. EEGLAB is under active open-source development. Together with user developers, we are extending its capabilities to include resources including across-subject statistics and component clustering, cluster computing, and component source localization. User-contributed features and suggestions are welcome (see Add to EEGLAB). We encourage and plan to interconnect EEGLAB with other Matlab-compatible toolboxes. To participate in open-source development of EEGLAB, see Add to EEGLAB and/or email us at email@example.com.
HeadIT. An allied NIMH-sponsored project to create a Human Electrophysiology, Anatomic Data, and Integrated Tools (HeadIT) resource is underway. We expect a beta version of the HeadIT data archiving, management, sharing, and open distribution software system to be made available soon.
ERICA. A concurrent NINDS-sponsored project is developing an integrated software framework (ERICA) for Experimental Recording, Interactive Control and Analysis of EEG and multimodal experiments, particularly those incorporating interactive data-adaptive stimulus and feedback control (BCI, neurofeedback, cognitive monitoring, videogame-like protocols, social neuroscience experiments, etc.) - an evolving imaging modality we refer to as Mobile Brain/body Imaging (MoBI). To learn more about ERICA, write to firstname.lastname@example.org. A Matlab environment for reviewing and analyzing ERICA data (MoBILAB) is under construction.
- Visit the Known bugs and limitations page.
- Report a bug or contribute a coding suggestion using the EEGLAB Bugzilla facility.
- Send private comments and inquiries about EEGLAB not related to bugs to email@example.com.
- Send questions or comments of general interest about EEGLAB use and principles, plus any EEG-relevant news to the EEGLAB Discussion List.