Link Search Menu Expand Document

EEGLAB vs Commercial EEG software packages

Can we trust the results of a new paper if they depend on calculations carried out by proprietary software with non-public source code? M. Buchanan, Nature Physics, 2016

EEGLAB permissive license allows commercial companies to use EEGLAB code (in MATLAB or compiled form) in their product. This is the case, for example, for the NeuroField software, which uses a C-Sharp compiled version of EEGLAB as a .NET library (as of late 2023). We urge commercial companies to acknowledge EEGLAB use (which is part of the license terms) and also contribute to its development by filing bug reports.

The table below compares the features of EEGLAB, some of the most common features in what is currently best in the industry.

EEGLAB Leading EEG commercial software
Binary file import EEGLAB offers a comprehensive library of file import functions. Most data formats can be imported using three different methods. File import and export are usually limited to a few formats.
Memory requirements EEGLAB must be able to hold in memory any single data set. When processing multiple data sets, they may stay on disk. Most commercial software has been designed to allowing processing of large datasets using relatively little memory.
Features EEGLAB has more features than any current commercial software. In general EEGLAB provides the user with a wider range of processing choices. Some leading (though frequently expensive) commercial software might offers more methods for source localization than are available in EEGLAB tools.
Availability of new features EEGLAB benefits from tools implemented by the scientific community. As of 2021, there are 120 EEGLAB plugins available. A large part of commercial software development supports software complied under Windows OS. Development of both EEGLAB and dedicated commercial software are driven by the open source and research community; as it adopts a new methods, commercial software will implement them eventually. EEGLAB allows testing relatively new tools, many of which may not yet be available in any commercial software packages.
Graphic interface EEGLAB graphic interface may not be as refined as in commercial software. A lot of the processing is performed on the command line; the EEGLAB graphic user interface is only a convenient way to automate such processing. Commercial software developers usually perfect their graphic interface, sometimes at the expense of the breadth of tools implemented.
Documentation EEGLAB has more than 300 pages of tutorial documentation. Users may also access the EEGLAB code to check exactly what processing is performed. In addition, each function has its own documentation Documentation is usually not a top priority of commercial software, and its source code is not available.
Code stability Because EEGLAB is in constant development, the code stability of the development version may not be as optimal as for commercial software. The EEGLAB code is also not rigorously validated against given standard or certification by industry standards. Note also that EEGLAB is not approved for routine clinical use and should not be used for such purposes. The most reliable commercial code may be more stable; though this is not necessarily true for all commercial code.
Scripting capabilities The EEGLAB scripting language is MATLAB itself. Commercial code cannot compete with MATLAB for range, flexibility, and the amount of code available -- both for purchase from MATLAB and freely available from the research community. Scripting capabilities usually rely on a proprietary language. Some commercial software allows running MATLAB code within their scripts -- but since its graphic output is then limited, why not run MATLAB itself?
Preparation of figures for publication EEGLAB and MATLAB allow creation of complex figures with panels. Most of EEGLAB functions are compatible with panels so users may use EEGLAB function to generate their own paneled results. Formatting details of figures may be edited directly under MATLAB from the command line or from the MATLAB GUI. Even complex figures containing bitmaps may be saved as postscript files for further detailed editing. MATLAB also allow saving figures and movies in about 10 different formats. Figures may only be saved using a few formats. Capabilities to build complex figures from within the software is absent.
Dedicated user support team EEGLAB Bugzilla database helps track EEGLAB bugs. In the best case scenario, bugs may be fixed within 24 hours and a new release issued automatically overnight. However, the EEGLAB team does not have dedicated personnel for supporting users, and the help provided may depend on availability and advancement on other research projects. Support personnel are usually more readily available to help users, and they can have high level of expertise. Note that this is not true of all commercial software.
Price A minimal MATLAB installation may be within most research budgets or be already available for other purposes in research and university settings. The compiled version of EEGLAB does not require MATLAB although scripting capabilities are more limited. Prices range from $5000 to $30000