Remove artifacts for EEG time-series
This repository stores the code of the AAR plug-in for EEGLAB that was released on 31-10-2008. I am not developing this code anymore but if you report any major bug I will try to fix it whenever I have time. For suggestions, comments and bug reports, please contact German Gomez-Herrero.
The AAR plug-in is a collection of MATLAB scripts that implement several state-of-art (in 2008 anyways...) methods for automatic correction of ocular and muscular artifacts in the EEG. The capabilities of the toolbox are briefly described in a fairly outdated tutorial document, which you can get in .pdf, or in html format.
The toolbox is implemented as an EEGLAB plug-in, but can also be used without EEGLAB if you don't need or want to use EEGLAB's GUI. The current version implements several fully automatic methods to correct ocular (EOG) artifacts, and one automatic method to correct muscle (EMG) artifacts.
Install EEGLAB for MATLAB, if you haven't done so already. Ensure that EEGLAB is in your MATLAB's search path.
Copy and paste the following code in the MATLAB command window and press
Enter
:
eeglabRoot = fileparts(which('eeglab'));
url = 'https://github.com/germangh/eeglab_plugin_aar/archive/master.zip';
unzip(url, [eeglabRoot filesep 'plugins']);
addpath(genpath(eeglabRoot));
eeglab redraw;
Optionally, you may want to install additional BSS algorithms. Both JADE and FastICA will be automatically detected by the AAR plug-in as long as they are in the MATLAB's search path:
The BSS-based EOG correction procedure is based on the following scientific publication:
The automatic EMG correction method is based on the following reference:
You can also get some of the datasets that were used to evaluate the performance of some of the methods included in the AAR toolbox.
If I find major bugs or have important announcements, I will post them to this Google group. Please join the group if you are using the AAR plug-in. Only I can post to the forum so you can be sure of receiving emails very rarely, if you ever receive any.
The algorithm for EMG correction which is based on the criterion
emg_psd
requires MATLAB's Signal Processing Toolbox v.6.2 or newer.
We do not expect to solve this issue in the near future.
There exist small differences between the correction results obtained under MATLAB v7.4 and Signal Processing Toolbox v6.6 and the results obtained under previous MATLAB releases. Nevertheless, the differences found so far are very small (negligible with respect to typical EEG noise levels). The probable cause are the changes that were introduced in MATLAB's SPT toolbox v6.6.
There exist very small differences between the correction results obtain under MATLAB v7.4 for Windows and MATLAB v7.4 for Linux. Again, the differences are well below typical EEG noise levels. The causes of these differences are unknown and I have no plans of investigating this further.
See version history.
See credits.
The AAR plug-in is released under the Creative Commons Attribution-NonCommercial-ShareAlike licence. Note that third-party dependencies shipped together with the AAR plug-in may have their own licenses. If you use this software in any of your publications you must cite the following article: