EEGLAB Bugs and Suggestions
Dealing with EEGLAB bugs and suggestions:
- Since EEGLAB has been developed under Matlab, there is litle risk that using EEGLAB will crash your machine or erase files inadvertently, unless Matlab itself crashes. This is one advantage of using Matlab.
- Most of the core EEGLAB functions have been or are being used in our published manuscripts, which are available for download from the SCCN website. Consult these papers, plus the extensive EEGLAB tutorial and help facilities, for instructions and examples of their use.
- EEGLAB is an open source project. To understand in more detail how any signal processing is performed, you may simply study the function source file. To adjust its performance, you may simply edit it yourself. Note: If you do this successfully, please consider sending your changes to the EEGLAB developers via the EEGLAB Bugzilla website.
- The EEGLAB Bugzilla website may also be used to give suggestions for enhancing EEGLAB functions or capabilities.
- If you encounter a bug, please first read carefully the Matlab commandline and any error window text, to determine whether you may be able to avoid the problem directly. Next, test whether the error occurs using current release of EEGLAB. If so, please login to the EEGLAB Bugzilla website (a simple process), and use its search facility to see if the bug you have discovered has been reported. If so, you may read what others have written about it, and (hopefully) what progress or suggestions we have made towards resolving it.
- If your problem has not been reported previously, please enter a new bug report giving a full description of the problem, including the operating system, Matlab, and EEGLAB versions you are using, etc.
- If relevant, upload a sample (minimal) dataset exhibiting the problem to the EEGLAB ftp web site ftp://sccn.ucsd.edu. Login to this server as anonymous; use your email address as password. For system security and user confidentiality, files uploaded to this server cannot be viewed overwritten, downloaded, or deleted by users.
Some known EEGLAB bugs and/or missing features:
ERP-image plotting using pop_erpimage() and erpimage(): In some rare cases, the ordinate axis for power may be wrong. If this happens, manually specify limits for coherence amplitude.
Epoch selection using pop_eegplot(): Epochs selected for rejection using eegplot() data scrolling are not saved in EEGLAB history until the epochs are actually rejected. This means that they will not be reproduced automatically in a new EEGLAB session. However, the labeled epochs are identified in the field EEG.reject.manualrej that is saved along wth the dastaset. Also, and more importantly, when the labeled epochs are actually rejected, this operation is saved in EEGLAB history.
Filtering the data using pop_eegfilt(), eegfilt(), and spec(): The eegfilt() function only implements simple FIR filtering (thereby avoiding introducing phase shifts into the data). Although two-step (hi --> low) bandpass filtering may not be equivalent to a standard bandpass filter. It is sometimes possible to highpass filter using a low frequency (e.g., above 1 Hz), then lowpass filter below a higher frequency (e.g., 50 Hz) to achieve bandpass filtering. However a bandpass filter of epoched data may fail when the low frequency edge is below 2 Hz. Consider using the IIR filtering plug-in to avoid this problem.
Spectral analysis (with no Matlab Signal Processing Toolbox): The spec() function emulates the function psd() but not the function pwelch() (psd() was replaced by pwelch(), beginning with EEGLAB 4.3, for technical reasons). As a result, the scaling of the spectrum (by the spectopo() function only) is slightly different than when the Matlab Signal Processing Toolbox is present. Also, for unknown reasons, the spec() function cannot handle frequencies that have been filtered out and may return inaccurately high power over these frequency regions.
Head plots using headplot(), and pop_headplot(): The co-registration between the 3-D electrode positions and the headplot() head model was slightly inaccurate (with a tendency to shift electrode positions towards vertex). Also, electrodes below the head equator could not be plotted. These problems have been fixed or mitigated in EEGLAB version 4.4.
Display window offset and aspect: Because we first developed EEGLAB under Unix, some windows may not look exactly the same under Windows, and some text may be truncated. Contact us if you note this occurring: We attempt to fix these details for each new Matlab release.
Urevent structure: Datasets created under EEGLAB 4.1 and loaded into 4.2 had an EEG.urevent structure created automatically. If some data containing events had been rejected BEFORE this time, then the new urevent structure information would be INCOMPLETE (i.e. to some degree wrong!!). Most new datasets created under 4.2 had the urevent structure saved correctly when the event information was first added. Be cautious about using urevent information from legacy EEGLAB 4.1 datasets.
Windows OS: In some erpimage() plots, some lines may be hidden by the 2-D image. If this happen, try simply resizing the figure.
Under Matlab 7.0: The second topoplot image (ik.e. the second component scalp map) in the pop_envtopo() figure may the whole image, when using the EEGLAB gui. You may avoid this using the corresponding command line. Type >> eegh on the Matlab command lion to see and copy the incorrectly functioning command issued by the pop_function from the EEGLAB gui. If possible, upgrade to a later Matlab version.
To report a BUGPlease use the EEGLAB Bugzilla website (see explanation above).