Skip to content

ucdavis/erplab

Repository files navigation

Note: We recommend against using Matlab 2025A or later with ERPLAB at this time. It is very buggy!

ERPLAB Toolbox is a free, open-source Matlab package for analyzing ERP data. It is tightly integrated with EEGLAB Toolbox, extending EEGLAB’s capabilities to provide robust, industrial-strength tools for ERP processing, visualization, and analysis. We have two versions: ERPLAB Studio is a standalone package that provides an intuitive and easy-to-use graphical user interface. ERPLAB Classic is a plugin that runs inside the EEGLAB graphical user interface.

Click the Wiki icon at the top of the page for documentation, tutorials, and FAQs.

To ask questions, subscribe to the ERPLAB email list (https://erpinfo.org/erplab-email-list). Bug reports can be submitted via GitHub or by sending an email to [email protected].

ERPLAB v13.00


This download contains both ERPLAB Studio (our standalone Matlab program) and ERPLAB Classic (an EEGLAB plugin). If you are new to ERPLAB, we strongly recommend that you go through the ERPLAB Studio Tutorial or ERPLAB Classic Tutorial before trying to analyze your own data. If you are new to ERPLAB Studio but are already familiar with ERPLAB Classic, you can rapidly learn to use ERPLAB Studio by reading our Transition Guide.

Click here for installation instructions.

Click here for information about required Matlab toolboxes and compatibility with different versions of Matlab, EEGLAB, Windows, MacOS, and Linux.

We encourage most users to use this latest major version.

ERPLAB v13.00 Release Notes

Changes since previous release:

New decoding features (thanks @guanghuizhang0328):

  • Added temporal generalization decoding to ERPLAB Classic and Studio: models trained at each time point are tested across all other time points, producing a full time×time generalization matrix.
  • Added the ability to plot time generalized decoding matrices via a new menu option in ERPLAB Classic and in the Studio pattern classification tab.
  • Added LDA (Linear Discriminant Analysis) and updated Crossnobis distance decoding methods alongside SVM in the Classic decoding GUI.
  • Added AUC (area under curve) as a metric for decoding results in Classic and Studio.

Numerous improvements for ERP plotting in Studio, including:

  • More consistent and flexible automatic spacing between plots
  • Improved support for plotting simulated waveforms
  • Improved support for plotting arbitrarily small/large time windows and voltage scales
  • Improved default axis labeling
  • Faster performance for plotting many bins/channels
  • Updated behavior for plotting using "Simple 10/20 system order" channel arrangement
  • Fixed standard error plotting issues for time windows larger than epoch size

Moved ERPLAB's internal working-state files out of the plugin installation directory and into a per-user storage location. This prevents permission errors and avoids runtime files being written into shared or read-only plugin folders. (thanks @StefKirsch)

Reworked the ERP simulation panel in Studio with improved interface options, updated behavior for “compare with real data” option, smarter parameter checking and defaults, and more consistency between the advanced GUI and Studio versions.

Updated and refactored the channel locations GUI in Studio, fixing various bugs, allowing a wider range of file types for saving/loading channel location files, adding better history logging for channel location operations, more user-friendly GUI window stacking, and improved behavior when missing channel location data.

Added an updated file-save GUI when creating ERPsets from EEGsets, allowing more flexibility in maintaining vs. resetting file paths.

Added additional parameter saving for scalp map creation, filtering, and artifact detection settings in Studio, so selections are preserved across sessions.

Fixed issues with appending ERPset files, including an issue with files saved using a .mat extension instead of .erp in some cases, and an issue with data quality metrics not being properly appended.

Various other minor bug fixes and GUI improvements throughout ERPLAB Studio.

ERPLAB v12.20 Release Notes

Changes since previous release:

Adoption of an optimized version of binlister which examines the bin descriptor file and runs a faster binning algorithm if possible. This should lead to a significant speed increase for many users, particularly for data sets with many event codes.

Removed “erplab_box” and all cases where backup files are automatically written (e.g. eventlist backups). Now all writing of files must be user specified.

Added various improvements to history logging in Studio. Most notably, history now includes lines for which data set(s) are selected between function calls.

Made checks/warnings/errors for time window specification in linear detrending, baseline correction, ERP simulation, and artifact detection functions consistent with each other and across Classic and Studio.

Numerous bug fixes and improvements regarding bin and channel operations, including:

  • Issue causing channel interpolation to fail when using newer versions of EEGLAB
  • Issues with channel operations in the case of missing or mismatching channel information or ICA component information
  • Improved Studio history for running channel and bin operations from a file
  • Various issues and inconsistencies in the advanced panel for bin/channel operation in Studio
  • Issues with creating/saving new datasets from bin or channel operations in Studio

Fixed various issues with data set selection and saving in Studio, including:

  • Errors related to MVPCset structures not being initialized
  • Various issues with clearing and refreshing data sets
  • File naming issues when saving ERPsets that could cause a crash
  • Issues causing data set saving to be prompted extra times

ERPLAB v12.10 Release Notes

This release includes several important bug fixes and GUI improvements to ERPLAB Studio including:

  • A critical bug fix for using custom and post-stimulus baselines during ERP measurement
  • Fixes and updates to ERP measurement preview visualization
  • Fixes to plotting filter impulse response functions and artificial ERP waveforms
  • Fixed set name selection issue during averaging of MVPC sets
  • Updated behavior for when resampling ERPs result in no time point at 0
  • Automatic initialization of ERPLAB Studio memory file during first launch (rather than requiring users to launch ERPLAB first)
  • Various updates to GUI button labels

ERPLAB v12.01 Release Notes

ERPLAB Studio now includes the Pattern Classification tab. This makes use of the same underlying Pattern Classification (decoding) tools as in ERPLAB Classic, but with a more user-friendly GUI. Changes also include:

  • The ability to create BESTsets in the EEG tab
  • The ability to plot multiple MVPC sets at the same time

Several bugs have been fixed and quality of life features are now included.

ERPLAB v11.04 Release Notes

ERPLAB can now be accessed from two different user interfaces:

  • ERPLAB Classic (our original software, which operates as an EEGLAB plugin)
  • ERPLAB Studio (a standalone application that provides a more user-friendly GUI)

ERPLAB Studio makes use of the same underlying code as EEGLAB and ERPLAB Classic. It is essentially a different user interface for the same functions. You will therefore get identical results with ERPLAB Studio and ERPLAB Classic, and scripting is the same for both packages. But ERPLAB Studio is much easier to use.

Click here for a 2-minute video overview of ERPLAB Studio.

The most commonly used EEGLAB functions are available from within ERPLAB Studio. For example, you can import EEG data into ERPLAB Studio, filter the EEG, apply ICA for artifact correction, etc. If you need an EEGLAB function that is not implemented within ERPLAB Studio, you can apply that function using the EEGLAB GUI or a script.

If you are already familiar with ERPLAB, you can rapidly learn how to use ERPLAB Studio with our Transition Guide. If you are new to ERPLAB, please go through the ERPLAB Studio Tutorial before attempting to process your own data. Once you understand the basics of ERPLAB Studio, you can get detailed information about the individual processing steps in the ERPLAB Studio Manual.

ERPLAB v10.1 Release Notes

Now Includes: Update to decoding toolbox. By default, beta weights will no longer be saved with MVPC files, dramatically reducing file size.

MVPCset and BESTset commands will now be saved into EEG working memory history (shown when using the function eegh).

Various quality of life changes and bug fixes across ERPLAB.

ERPLAB v10.04 Release Notes

Now Includes:

ERP Decoding routine: Users can now apply multivariate-pattern classification routines to binned and epoched ERP data. See here for more information.

  • NOTE: These routines require at least MATLAB 2020a+ & EEGLAB 2023.1+ in order to work as expected.
  • NOTE: These routines also require the following toolboxes: Matlab Statistics and Machine Learning Toolbox, Matlab Parallel Processing Toolbox (recommended)

Advanced ERP Wave Viewer: Plotting ERP waveforms are easier than ever using "ERP Wave Viewer". See: ERPLAB > Plot ERPs > Advanced ERP Waveform Viewer (Beta)

ERPLABv9.20 Release Notes

Now Includes: Create Artificial Waveform Viewer routine: Users can simulate a variety of waveforms to be saved as ERP files (.erp). See documentation here.

New options for adding noise to data via EEG and ERP channel operations (see here).

Users may now shift string event codes in time in addtion to numeric event codes (see Preprocess EEG > Shift Event Codes (continuous EEG)).

Various bug fixes across ERPLAB.

ERPLAB v9.10 Release Notes

Now includes: Updated Data Quality (DQ) metrics specifications on averaged ERP waveforms, including a new metric: SD across trials.

A new DQ metric for continuous EEG: Spectral Data Quality (continuous EEG)

Various bug fixes concerning bootstrapped SMEs, filtering, and EEG channel operations.

ERPLAB v9.00 Release Notes

Note: ERPLAB v9.00 is the recommended version for use with best practices in ERP data processing and analyses as outlined in Dr. Steven J Luck's new Applied Event-Related Potential Data Analysis e-book here.

Now includes: Ability to low-pass filter prior to marking EEG segments with all artifact detection routines (data is not saved with the filter).

Ability to calculate Data Quality measures (e.g. analytic SME) on multiple binned and epoched EEGset files prior to creating ERPs. -More information about the SME can be found here. -See Applied Event-Related Potential Data Analysis e-book here for best-practices on this approach.

Various fixes to the GUI layouts for many routines (e.g. "Delete Time Segments" for EEG processing).

ERPLAB Help

ERPLAB tutorial, manual, and other documentation can be found on the ERPLAB wiki, here.

About

ERPLAB Toolbox is a free, open-source Matlab package for analyzing ERP data. It is tightly integrated with EEGLAB Toolbox, extending EEGLAB’s capabilities to provide robust, industrial-strength tools for ERP processing, visualization, and analysis. A graphical user interface makes it easy for beginners to learn, and Matlab scripting provides eno…

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors