❗ | I am not developing nor maintaining this code anymore. Use at your own risk. |
---|
This repository stores the code of the AAR plug-in for EEGLAB that was released on 31-10-2008.
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:
- Gomez-Herrero, G. et al., Automatic Removal of Ocular Artifacts in the EEG without an EOG Reference Channel, In Proceedings of the 7th Nordic Signal Processing Symposium, 2006. 10.1109/NORSIG.2006.275210. The article is freely available from TUT's archives, and from my homepage.
The automatic EMG correction method is based on the following reference:
- De Clercq, W. et al., Canonical Correlation Analysis Applied to Remove Muscle Artifacts from the Electroencephalogram, IEEE Trans. Biomed. Eng 53 (12), pp. 2583-2587. 10.1109/TBME.2006.879459.
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:
- Gomez-Herrero, G. et al., Automatic Removal of Ocular Artifacts in the EEG without an EOG Reference Channel, In Proceedings of the 7th Nordic Signal Processing Symposium, 2006. 10.1109/NORSIG.2006.275210. The article is freely available from Research Gate, and from IEEE Explore.