ICLabel#

This is the model originally available for EEGLab. The model was ported from matconvnet using pytorch or Microsoft onnxruntime.

ICLabel is designed to classify ICs fitted with an extended infomax ICA decomposition algorithm on EEG datasets referenced to a common average and filtered between (1, 100) Hz. It is possible to run ICLabel on datasets that do not meet those specification, but the classification performance might be negatively impacted. Moreover, the ICLabel paper did not study the effects of these preprocessing steps.

Architecture#

ICLabel Neural Network Architecture

The model has three inputs: image (topomap), psd, and autocorrelation features. To encourage generalization, the image feature is rotated and negated, thus quadrupling the feature. After 3 convolutional layer with a ReLu activation, the 3 features are concatenated for the final layer.

API#

iclabel_label_components(inst, ica[, ...])

Label the provided ICA components with the ICLabel neural network.

get_iclabel_features(inst, ica)

Generate the features for ICLabel neural network.

run_iclabel(images, psds, autocorr[, backend])

Run the ICLabel network on the provided set of features.

Cite#

If you use ICLabel, please also cite the original paper[1].

@article{PionTonachini2019,
  title = {ICLabel: An automated electroencephalographic independent component classifier,  dataset,  and website},
  volume = {198},
  ISSN = {1053-8119},
  url = {http://dx.doi.org/10.1016/j.neuroimage.2019.05.026},
  DOI = {10.1016/j.neuroimage.2019.05.026},
  journal = {NeuroImage},
  publisher = {Elsevier BV},
  author = {Pion-Tonachini,  Luca and Kreutz-Delgado,  Ken and Makeig,  Scott},
  year = {2019},
  month = sep,
  pages = {181–197}
}