POP_RUNICA Run an ICA decomposition of an EEG dataset using runica, binica, or another ICA or other linear decomposition.

Usage: >> OUT_EEG = pop_runica( EEG ); % pops-up a data entry window
>> OUT_EEG = pop_runica( EEG, 'key', 'val' ); % no pop_up

Graphic interface:
"ICA algorithm to use"   
[edit box] The ICA algorithm to use for ICA decomposition. Command line equivalent: 'icatype'
"Commandline options"   
[edit box] Command line options to forward to the ICA algorithm. Command line equivalent: 'options'

Inputs:
EEG   
input EEG dataset or array of datasets

Optional inputs:
'icatype'   
['runica'|'binica'|'jader'|'fastica'] ICA algorithm to use for the ICA decomposition. The nature of any differences in the results of these algorithms have not been well characterized. {default: binica, if found, else runica}
'dataset'   
[integer array] dataset index or indices.
'chanind'   
[integer array] subset of channel indices for running the ICA decomposition.
'concatenate'   
['on'|'off'] 'on' concatenate all input datasets (assuming there are several). 'off' run ICA independently on each dataset. Default is 'on'.
'key','val'   
ICA algorithm options (see ICA routine help messages).

Note: 1) Infomax (runica, binica) is the ICA algorithm we use most. It is based
on Tony Bell's infomax algorithm as implemented for automated use by
Scott Makeig et al. using the natural gradient of Amari et al. It can
also extract sub-Gaussian sources using the (recommended) 'extended' option
of Lee and Girolami. Function runica is the all-Matlab version; function
binica calls the (1.5x faster) binary version (a separate download)
translated into C from runica by Sigurd Enghoff.
2) jader calls the JADE algorithm of Jean-Francois Cardoso. This is
included in the EEGLAB toolbox by his permission. See >> help jader
3) To run fastica(), download the fastICA toolbox from its website,
http://www.cis.hut.fi/projects/ica/fastica/, and make it available
in your Matlab path. According to its authors, default parameters
are not optimal: Try args 'approach', 'sym' to estimate components
in parallel.

Outputs:
OUT_EEG   
The input EEGLAB dataset with new fields icaweights, icasphere and icachansind (channel indices).

Author: Arnaud Delorme, CNL / Salk Institute, 2001

See also: runica, binica, jader, fastica()

See the matlab file pop_runica.m (may require other functions)

Back to functions