v2.0.0
Loading...
Searching...
No Matches
decoding_ica_label.h File Reference

Automatic ICA component labelling for artefact identification on M/EEG. More...

#include "decoding_global.h"
#include <Eigen/Core>
#include <QList>
#include <QString>
#include <QPair>
Include dependency graph for decoding_ica_label.h:
This graph shows which files directly or indirectly include this file:

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...

Detailed Description

Automatic ICA component labelling for artefact identification on M/EEG.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.2.1
Date
May 2026

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.