Performs Independent Component Analysis for EEG data. Currently only available with on epoched data. Implements three different methods of ICA - fastica, extended Infomax, and Second-Order Blind Identification (SOBI).

run_ICA(data, ...)

# S3 method for eeg_epochs
run_ICA(data, method = "sobi", maxit = 1000,
  tol = 1e-06, pca = NULL, centre = TRUE, ...)



Data to be ICAed.


Other parameters passed to function.


"sobi" (default), "fastica", or "infomax".


Maximum number of iterations of the Infomax and Fastica ICA algorithms.


Convergence tolerance for fastica and infomax. Defaults to 1e-06.


Reduce the number of dimensions using PCA before running ICA. Numeric, >1 and < number of channels


Defaults to TRUE. Centre the data on zero by subtracting the column mean. See notes on usage.


An eeg_ICA object containing an ICA decomposition

Methods (by class)

  • eeg_epochs: Run ICA on an eeg_epochs object

Notes on ICA usage

It is recommended to mean-centre your data appropriately before running ICA. The implementations of FASTICA and extended-Infomax from the `ica` package, and of SOBI ICA have this as an option which is enabled by default, while the implementation of FASTICA in the fICA package enforces mean-centring of the columns of the data. With epoched data, it is recommended to centre each epoch on zero, rather than centre on the overall channel mean. This can be achieved with the `rm_baseline()` function. SOBI ICA will do this automatically, whereas the other ICA implementations will centre on the channel means, not the epoch means.