Studio Tutorial: General Overview - ucdavis/erplab GitHub Wiki

Background: EEGLAB, ERPLAB Classic, and ERPLAB Studio

EEGLAB is a Matlab package that was created by Scott Makeig and Arnaud Delorme in 2001 for processing and analyzing EEG data. Javier Lopez-Calderon and Steve Luck created ERPLAB in 2010 to add a broader set of routines for processing and analyzing ERPs. ERPLAB started out as a plugin that operated within the EEGLAB graphical user interface (GUI). We call that version ERPLAB Classic. In 2024, we released a standalone version of ERPLAB with a more user-friendly user interface. We call that version ERPLAB Studio.

ERPLAB Studio makes use of the same underlying code as EEGLAB and ERPLAB Classic. It is largely 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.

Many EEGLAB operations can be called from ERPLAB Studio. However, some of the more advanced EEGLAB operations are unavailable from ERPLAB Studio. If you want to take advantage of those operations, you can do some of your processing in EEGLAB and some in ERPLAB Studio. They use the same EEG data structures and file formats, so you can read EEGLAB files into ERPLAB Studio.

Using EEGLAB and ERPLAB Studio Simultaneously

If you want to use both the EEGLAB GUI and ERPLAB Studio, you should run them sequentially rather than simultaneously. They use memory structures with identical names, and they may behave unpredictably if used simultaneously.

Here’s a little trick that can make it easier: If you have two versions of Matlab (e.g., the current version and the previous version), you may be able to run both versions of Matlab simultaneously, with EEGLAB and the ERPLAB Classic plugin running in the older version and ERPLAB Studio running in the newer version. There is a small chance of conflicts between the two versions of ERPLAB when they run simultaneously in this manner, so if you encounter strange behavior, you should quit from one of them.

Installing ERPLAB Studio

ERPLAB Studio requires that you have a recent version of Matlab and a recent version of EEGLAB. ERPLAB Studio and ERPLAB Classic share a great deal of code are downloaded together. Click here for detailed installation instructions.

Troubleshooting and Other Resources

If ERPLAB Studio gets slow after you have processed a bunch of data, this probably means that Matlab’s memory is getting filled up or fragmented. Quitting and restarting ERPLAB Studio will usually solve this problem.

If ERPLAB Studio freezes or starts acting strangely, quitting and restarting will often solve the problem. If it doesn’t, make sure you have installed ERPLAB correctly and then check out our Troubleshooting and Frequently Asked Questions page. Here are some other useful resources:

Scripting and History

ERPLAB Studio is designed to make it easy to visualize each processing step. We recommend doing the initial processing of each subject’s data using ERPLAB Studio so you can verify that everything is working appropriately. However, it can also be valuable to create Matlab scripts that automatically process the data (so that, for example, you can quickly reprocess all the data with different filter settings).

To make this easy for both beginners and experts, EEGLAB and ERPLAB have a history feature. Every processing step you apply using the GUI has an equivalent script command, and we provide a history of the sequence of script commands corresponding to your GUI actions (which you can see in the History panel in ERPLAB Studio). You can process the data for a given subject using the GUI and then use the history to create a script that performs the equivalent set of processing steps. We have created a Scripting Guide to help you learn how to write scripts in this manner.

EEGsets and ERPsets

We can divide the typical processing steps into three stages with different types of data: continuous EEG, epoched EEG, and averaged ERPs. Both continuous and epoched EEG data are stored in memory using a data structure called a dataset or EEGset, which can be stored as a .set file on your computer’s hard drive. Averaged ERPs are stored in memory using a data structure called an ERPset, and can be stored as a .erp file on your computer’s hard drive.

ERPLAB Studio’s GUI is divided into two tabs, an EEG tab and an ERP tab. Each tab contains a set of panels that control the various processing and analysis operations for that type of data. The EEG tab is shown in the screenshot below.

EEG Tab Example

Automatic Plotting of EEGsets and ERPsets

When an EEGset or ERPset is selected in the EEGsets or ERPsets menu, that EEGset/ERPset is automatically plotted in the plotting region of the ERPLAB Studio GUI (unless you have disabled plotting using the Plotting Options menu). In the screenshot above, you can see that the EEGset named 6_N400 is selected in the EEGsets panel, and the EEG data are shown in the plotting region.

Most processing operations (e.g., filtering) create a new EEGset or ERPset, which then becomes the selected EEGset/ERPset and is plotted in the main ERPLAB Studio GUI. This makes it easy for you to see the effects of each processing step and, when necessary, back up to a previous processing stage.

There is a Plotting Options popup menu at the bottom of the plotting area with several useful options:

  • The Window Size option allows you to control the size of the main ERPLAB Studio window (expressed as a percentage of the screen size)
  • The Automatic Plotting option allows you to temporarily disable the automatic plotting of new EEGsets and ERPsets. This can speed up processing.
  • The Save Figure As option saves an image of the plotting area as a file.
  • The Create Static/Exportable Figure option shows the current plot in a new window, using the standard Matlab plotting routine.
  • The Advanced Waveform Viewer option (ERP tab only) launches a more sophisticated tool for making ERP waveform plots.

Typical Sequence of Processing Steps

To process the data from a single participant, you will typically start by importing the continuous data from that participant (in the EEG tab, as in the screenshot above). You’ll then do a series of processing operations on the continuous data (e.g., filtering, re-referencing, ICA-based artifact correction). The next step is to assign events to “bins” (e.g., to determine which events will be averaged together for a given condition). You’ll then create an epoched EEGset by extracting fixed-duration epochs of the data surrounding each event of interest (e.g., the time period from -200 to +800 ms relative to stimulus onset). Baseline correction is typically performed at this time. You will then perform some additional processing operations (e.g., finding events with artifacts and marking them for rejection).

The next step is to create averaged ERP waveforms by averaging multiple EEG epochs together. When you do this, an ERPset will be created, and you’ll automatically be taken to the ERP tab (see screenshot below).

ERP Tab Example

You may then perform additional processing operations (e.g., filtering, making difference waves). You can then measure the amplitudes and latencies of the ERP components using the Measurement Tool. You can make publication-quality ERP waveform figures using the Advanced Waveform Viewer (accessed from the Plotting Options popup menu).

Click here to read about statistical analysis.


Next Page 🏠
Importing EEG Data ▶️ Home
Part 1 Part 2 Part 3 Part 4
➡️ General Overview Filtering EEG Plotting ERPs Shifting Event Codes
Importing EEG Data The EventList ERP Information Epoch Continuous EEG
Example Experiment BINLISTER Grand Average Spectral Data Quality
Load and View Data Epoch and Baseline Bin Operations Channels and Locations
Artifact Detection Filtering ERPs Re-Sampling; Re-Epoching
Averaging (ERPs) Averaging (Channels) Converting to CSD
Artifact Correction Channel Operations
Interpolation Measurement Tool
⚠️ **GitHub.com Fallback** ⚠️