A5.1. Component localization by equivalent dipoles: A simple example
Equivalent dipole source localization by BESA (MEGIS Software GmbH, Munich) can be applied to independent component maps under EEGLAB. The following window shows five independent component scalp maps from five different subjects. Each of these components was labelled by the experimenters as representing a left-occipital alpha rhythm generator.
![]()
BESA dipole localization applied to these component maps, accounted for each map with a single equivalent dipole in a three-shell spherical model with low residual variance (R.V.) Note that unlike in many BESA analyses, we rarely need to ignore signals at some scalp electrodes since ICA typically isolates artifactual signals into separate independent components, and independent components likely account mainly for activity with a connected synchronous cortical domain whose scalp projection should match that of a single equivalent dipole. (Note: This does not mean, however, that some independent components may be generated by tightly linked bilateral activity in domains joined through e.g. corpus callosum. In this case, the source may often be well modelled by two symmetricly placed equivalent dipoles).
![]()
A5.2. How to localize components using BESA
BESA is a commercial software (www.besa.de) developed by Michael Scherg and colleagues for localizing brain source equivalent dipoles using a three-shell spherical model.
We have developed Matlab functions to automatically export/import and display BESA dipole information. To localize components, you must run BESA 2.x, 3.x, 99 or BESA 2000 Since BESA 99 and 2000 do not support macro files, if you use these versions you must also download BESA 3.0 (the previous version running macros) from the BESA web site (see below) .
BESA 3.0 installation for BESA 2000 and BESA 99 users1 - Download BESA30 DOS-Window Upgrade from 2.x from the BESA web site (even if you don't have BESA 2.x)
2 - Install the hardlock driver for BESA 2000 (on the BESA 2000 CD. Note: you must usually go through the whole installation of BESA 2000 to install the hardlock driver).
3 - Download the BESA30 for BESA2000-Hardlock file and place it in the BESA 3.0 directory (if you only have a BESA 99 license, you should download BESA30 for BESA99-EEG-Hardlock or BESA30 for BESA99-MEG+EEG-Hardlock).
4 - Click on the file downloaded in (3) to start BESA3.0
5 - The BESA3.0 manual is not provided on the Internet. We use the BESA 2.2 Manual and find that most of the commands also work in version 3.0.
Install EEGLAB plugin
Then download the BESA plugin for EEGLAB (go to the plugin page, download the BESA plugin, and uncompress it in the EEGLAB plugin folder). EEGLAB BESA functions can also be used with BESA 2.x.However, BESA 2.x cannot import more than 66 channels, and has some restrictions about path lengths under Windows, we strongly recommend the use of BESA 3.0.
>> eeglab besa
After ICA components have
been computed, select menu item Tools > Localize
dipoles using BESA > Export components to BESA. This
calls the function besaexport(). The following window will appear:
Accessing directory...
Exporting electrode locations ...
Exporting component maps...
Exporting parameter file...
Writing macro file...
NOW RUN BESA, PRESS "A" (for automatic processing) and enter filename "E:\besatmp\macro"
In the upper edit box, you must provide the location of the directory in which the dipole information has been saved by BESA. In the lower edit box, you can either (1) import dipoles and erase all previous information ("no" option), (2) append the newly computed information ("yes" option), or (3) only import dipoles for components that do not have yet associated dipoles ("componly" option). Press OK and the function will return information about the components that have been imported:
Reading component 1 (1 dipoles) residual variance 2.09 %Note: We usually only trust dipole locations with low residual variance (e.g., below 5%, though this figure may vary with number of channels, montage, etc.).
Reading component 2 (1 dipoles) residual variance 15.67 %
Reading component 3 (1 dipoles) residual variance 1.94 %
Reading component 4 (1 dipoles) residual variance 1.23 %
Reading component 5 (1 dipoles) residual variance 3.49 %
Reading component 6 (1 dipoles) residual variance 12.88 %
>> dipplot(EEG.sources);
You may
use the besaexport()
function to export the electrode localization file and the component activations, then
try to localize dipoles using some other localization software. If you succeed
in doing this, or if you write dedicated functions for this, please contact us.
Localizing dipoles from ERP averages or continuous EEG
Because of the theoretical and practical advantages of using ICA for source localization, we have only implemented equivalent dipole localization for independent components. However, localizing ERP or EEG time series would simply involve exporting the data to BESA. For instance, to export an ERP raw data file that BESA can read, type in
>> ERP = mean(EEG.data,3);You may also use the electrode location file generated by besaexport().
>> save -ascii ERP.raw ERP
| Tutorial index |