Hello, my name is Arnaud Delorme, and this presentation is about comparing different
ways of running EEGLAB, either using MATLAB, using the compiled version of EEGLAB or using
Octave.
The preferred way is to run EEGLAB on MATLAB. EEGLAB is free but MATLAB is a commercial
software package produced by the Mathworks. Sometimes, your university might make MATLAB
accessible to all of their staff and students, and you might not be aware of it. I put a
link in the description. Short disclaimer here: We are not affiliated with the Mathworks
and do not benefit from you using MATLAB in any way.
MATLAB offers maximum flexibility, stability, and support. EEGLAB should run on all recent
MATLAB versions. We try to support MATLAB version from 2008 onward, but sometimes there
are glitches under older versions. The best MATLAB version to run EEGLAB is usually one
or two versions before the latest version. So right now, the latest version of MATLAB
is 2021.a. So, if you want to be super safe, it is best to use MATLAB 2020.a or 2020.b.
In terms of additional toolboxes, we recommend the signal processing toolbox and the statistics
toolbox. The optimization and image processing toolboxes are also used in some rare instances.
Even if you do not have any toolbox, EEGLAB will work properly. Some of the EEGLAB plugins
might not be functional, though.
When we release a new version of EEGLAB, we usually test it for several weeks and run
more than 5,000 automated tests. However, because our resources are limited, some minor
problems can remain. In terms of EEGLAB version, our recommendation is to wait for about a
month after a new release. Then you can safely start using the latest ZIP version of EEGLAB.
If you want to use the development version of EEGLAB, which has all the latest bug patches
and new features but is also less stable, you can access it from GitHub.
In terms of operating system and to achieve maximum stability, there is really no preference
and all operating systems are fully supported. For naive users, we recommend Windows and
macOS, because it is sometimes harder to configure graphics drivers for MATLAB on Linux. We recommend
using a computer with at least 8Gb and if possible 16Gb or more.
The second best option to run EEGLAB is to use the compiled version of EEGLAB. Every
time EEGLAB is released (which is about every six months), it comes in two versions: MATLAB
and Compiled for Windows and for Mac. The compiled version does not require MATLAB and
is completely free. This compiled version of EEGLAB has exactly the same capabilities
as the MATLAB version, with two notable exceptions. First, it is not possible to add or update
plugins. We have tried to add the most common plugins to the compiled version, but some
are missing. To add more plugins, EEGLAB would need to be recompiled with these plugins.
The second limitation is that, although you can run scripts, some scripting capabilities
are limited. This is a minor limitation for most users. If you do not have access to MATLAB
and do not wish to purchase a MATLAB license, we strongly recommend this option. Also, using
the compiled version of EEGLAB is ideal for teaching.
The third and last option is to use Octave which is free. We would recommend this option
if you are already familiar with Octave and want to write advanced scripts but do not
want to use MATLAB. Also, this is a viable option if you have access to high-performance
computing resources (so a supercomputer) but do not have access to MATLAB on these resources.
We are not recommending this option for beginners though.
Octave has come a long way in the past few years to increase compatibility with MATLAB,
especially graphical compatibility. Although the core EEGLAB code should be fully compatible
with Octave, this might not be the case for EEGLAB plugins. There are minor differences.
Most of the time, MATLAB executes faster than Octave. Also you cannot use the EEGLAB plugin
manager on Octave. Instead, you have to install plugins by downloading them from the web and
placing them in the EEGLAB plugins folder. If you use Octave, it is better to use the
Windows distribution because EEGLAB menu will be similar to how they look in MATLAB, which
will not the case for Mac. When using Octave, it is better to use the development version
of EEGLAB available on Github. This will ensure that if you uncover a glitch, we can quickly
fix it. Here I will show you a comparison of the same
EEGLAB development code running on MATLAB and Octave. For Octave we use version 6.1.
We recommend using the latest version of Octave.
So I'm going to quickly illustrate here the difference between MATLAB and Octave. Here
we have MATLAB on the left, MATLAB common window and the EEGLAB graphic interface, and
Octave on the right with the Octave command-line interface and Octave GUI. So we're just going
to load a file and do some basic manipulation. We're loading the epoch tutorial EEG dataset,
and then we're just going to scroll through it. So here, selecting the box scrolling through
it. Now we'll do the same in Octave, so load the dataset and now scroll through it. We
can also select epochs. It's a bit slower on Octave. Now we're going to plot some 3d
scalp topographies, so component maps in 3d, and I'm just going to plot components one,
two, and three. So this is in Octave again, and here we've plotted the components. We
can also click on one component, and we can rotate it. Sometimes in Octave, you have to
fiddle a bit with the window to show what's inside. That was Octave, now let's do the
same on MATLAB and plot component 3.
To sum up, the best option is to use EEGLAB on MATLAB. The second-best option is to use
the compiled version of EEGLAB, and the third one is to use EEGLAB on Octave.
So this is the end of this presentation. Thank you for your attention, and I hope to see
you in one of my future videos.