Automatic ICA component labelling for artefact identification on M/EEG. More...
#include "decoding_global.h"#include <Eigen/Core>#include <QList>#include <QString>#include <QPair>

Go to the source code of this file.
Classes | |
| struct | DECODINGLIB::IcaLabelResult |
| Outcome of labelling a single ICA component. More... | |
| class | DECODINGLIB::MlIcaLabel |
| Static utility that labels ICA components against EOG/ECG references and a muscle spectral heuristic. More... | |
Namespaces | |
| namespace | DECODINGLIB |
| Supervised and unsupervised spatial-filter decompositions for M/EEG decoding. | |
Enumerations | |
| enum class | DECODINGLIB::IcaComponentLabel { DECODINGLIB::Brain , DECODINGLIB::Eog , DECODINGLIB::Ecg , DECODINGLIB::Muscle , DECODINGLIB::Other } |
| Categorical label assigned to a single ICA component. More... | |
Automatic ICA component labelling for artefact identification on M/EEG.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
After an independent-component analysis decomposition of an M/EEG recording the analyst is left with one source time course per component and must decide which sources represent brain activity and which are physiological or technical artefacts (eye blinks, lateral eye movements, heart-beat, muscle tonus, line noise). Doing that by hand is the dominant bottleneck of the cleaning pipeline; this module replaces it with a deterministic, reference-driven classifier that is fast enough to run in the GUI on every fit.
The strategy is the same as the classic correlation-with-references approach used in mne.preprocessing.ICA.find_bads_eog / find_bads_ecg: for each component the maximum absolute Pearson correlation with the (possibly multi-channel) EOG and ECG reference traces is computed and compared against per-modality thresholds. A spectral heuristic estimating the fraction of power above 30 Hz is additionally used to flag muscle components, which dominate the high-frequency end of the EEG spectrum. The output is one IcaLabelResult per component carrying the assigned IcaComponentLabel and a confidence score in \([0, 1]\) that the higher-level workflow can threshold or visualise. The class is a static-only utility — there is no fitted state and no learned model file — which makes the labelling fully reproducible.
Definition in file decoding_ica_label.h.