SCCN icon  


EEGLAB plug-ins allow users to build and share new data processing and/or visualization functions that then automatically become available via the EEGLAB menus of users who download them. Check this plug-in list to review many of the available EEGLAB plug-ins. To to add new plug-ins or information to this list, send an email to

Active plug-in development:

SCCN is among several labs that are building and releasing new EEGLAB plug-ins.

The Neuroelectromagnetic Head Modeling Toolbox (NFT) version 2.0 has been released by Zeynep Akalin Acar at SCCN on Jan. 11, 2011. It allows building accurate boundary element method (BEM) and now finite-element method (FEM) forward electrical head models from MR head images and/or electrode position data. A methods journal paper (.pdf) about NFT and wiki tutorial pages are available.

The Brain-Computer Interface Laboratory (BCILAB) toolbox has been released by Christian Kothe at SCCN. BCILAB is a flexiable and highly-developed resource allowing users to quickly and easily build and run brain-computer interface models using a wide variety of published machine learning approaches. Online interactions with Andre Vankov's DataSuite and Gerwin Schalk's BCI2000 interactive experimental environments are also supported.

The Source Information Flow Toolbox (SIFT) alpha version has been released by Tim Mullen at SCCN. It allows measuring and visualizing event-related directed-flow network activities in independent component or other data source networks using a wide range of multivariate autoregressive measures. Brainmovie3D and information flow density animations are supported. A methods journal paper is in preparation.

The Event-Related Potential Laboratory toolbox (ERPLAB), a set of open source, freely available Matlab routines for analyzing ERP data, ERPLAB operates as a set of plug-ins for EEGLAB. ERPLAB development is being coordinated by Steve Luck with Javier Lopez-Calderon at UC Davis.

An Adaptive Mixture ICA (Amica) Toolbox is under development by Jason Palmer with Ozgur Balkan at SCCN. Amica is a powerful algorithm for performing independent component analysis (ICA) on EEG or other data; in comparative testing at SCCN, it out-performed 21 other blind source separation algorithms in (a) reducing mutual information among the separated component processes and (b) delivered more EEG components compatible with the projection of coherent activity within a single cortical patch than any other of the algorithms tested. Amica also implements a powerful multi-mixture method for detecting and modeling non-stationarity in the ICA source distribution, now allowing learning of components shared among the competing multiple models. Amica can also perform rejection of highly improbable (noisy) data during training. Matlab code is available here. A binary for an Opteron cluster allows parallel processing may also be available from Jason. A plug-in for running Amica from the EEGLAB menu and evaluating its output is in preparation.

Plug-ins included in EEGLAB:

Several plug-ins have been included in the main EEGLAB distribution:

  • DIPFIT2: Dipole modeling of independent data components using a spherical or boundary element head model. Uses functions from the FIELDTRIP toolbox of Robert Oostenveld at the Donders Center, University of Nijmegen. A DIPFIT2 tutorial is available.

  • BIOSIG data import: Import/export data in a wide variety of data formats. Data import and export functions of the BIOSIG toolbox of Alois Schloegel of the University of Graz is included in the EEGLAB release. For a list of data formats supported by BIOSIG, refer to this page. The included BIOSIG data import functions are automatically detected and interfaced with EEGLAB. The BIOSIG toolbax contains additional functions. Download the full BIOSIG from Sourceforge. Uncompress them at the same level of the main EEGLAB folder.

  • CTF data import: Import CTF MEG data. Available from Darren Weber's EEG sourceforge project, this plug-in imports MEG data (plus concurrent EEG, if any) plus sensor locations and data events from data in the CTF (Vancouver, CA) data format. To download this plugin separately, on the Unix/Linux commandline type
          % cvs -z3 checkout ctf
    Then follow the instructions in the downloaded file 'README_EEGLAB_PLUGIN.txt'.

  • ANT data import (v1.02): Import data files in the EEP format. Contributed by ANT Software (Netherlands) to import data in their format. Download latest version updates here. Email contact:

  • BVA data import/export: Import/export files from/to the Brain Vision Software Analyser suite. Contributed by Andreas Widmann of the University of Leipzig (Germany) with Arnaud Delorme. Download latest updates from the sourceforge bva-io project.

  • Neuroimaging 4D: Christian Wienbruch of the University of Konstanz (Germany) has a plug-in available for loading Neuroimaging 4-D data into EEGLAB. Download link is here

  • IIRfilt: Infinite impulse response filtering: Apply short non-linear filters to EEGLAB data. Contributed by Maksyn Pozdin.

  • FMRIB: Remove FMRI-environment artifacts from EEGLAB data. This plug-in, by Rami Niazy of Cardiff University (Wales, UK), allows removal of scanner-related artifacts from EEG data collected during fMRI scanning. These tools provide a gui for removing FMRI gradient artifacts, detecting QRS complexes from an ECG channel, and removing pulse-related ballistocardiographic (BCG) artifacts from the EEG data. All of the tools can also be used from the Matlab command line, allowing expert users to use them in custom scripts. The plug-in, a tutorial and more information can be downloaded here.

  • LORETA: Import/export commandline bridge function between EEGLAB and this well-known 'low-resolution' EEG source imaging approach by R.D. Pascual-Marqui. Plugin contributed by Arnaud Delorme.

  • CLUSTSET: Cluster ICs of a single dataset by their residual mutual information. See tutorial here. Contributed by Nima Bigdely Shamlo of SCCN (UCSD, La Jolla)

Other available plug-ins:

Many other EEGLAB plug-ins are available from their authors' or maintainers' web sites. We point to many of them in this list.

To install or update a plug-in (for example, 'myplugin', below). Uncompress the plug-in download file in the main EEGLAB "plugins" sub-directory or in the main EEGLAB folder (where the main function 'eeglab.m' is located). Remove the old version of the plugin if it is present in the directory. Then restart EEGLAB. During start-up, EEGLAB should print the following on the Matlab command line:

eeglab: adding plugin "eegplugin_myplugin" (see >> help eegplugin_myplugin)

To make EEGLAB ignore a downloaded plug-in, simply move its folder from the EEGLAB plugins directory.

To construct and publish a new plug-in: see the simple instructions in How to contribute to EEGLAB.