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

FastICA-based independent component analysis for MEG / EEG artifact removal. More...

#include "dsp_global.h"
#include <Eigen/Core>
#include <QVector>
Include dependency graph for ica.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UTILSLIB::IcaResult
 Result of an ICA decomposition. More...
class  UTILSLIB::ICA
 Independent Component Analysis using the FastICA algorithm (deflationary, logcosh nonlinearity). More...

Namespaces

namespace  UTILSLIB
 Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).

Detailed Description

FastICA-based independent component analysis for MEG / EEG artifact removal.

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.1.0
Date
March 2026

Independent Component Analysis recovers a set of statistically independent latent sources from their linear, instantaneous mixture at the sensors. This class implements the deflationary FastICA algorithm of Hyvärinen and Oja: after centring and PCA-whitening the data to remove second-order correlations, each component direction is found one at a time as the fixed point of the logcosh / tanh contrast function, with Gram– Schmidt deflation against previously extracted components to guarantee orthogonality.

In a typical MEG / EEG pipeline the extracted components carry topographies and time courses that often map cleanly onto physiological artifacts — cardiac field, ocular blinks and saccades, EMG bursts — which can then be zeroed in component space before back-projection to the sensors.

Reference: A. Hyvärinen and E. Oja, "Independent Component Analysis: Algorithms and Applications", Neural Networks 13(4-5):411-430 (2000).

Definition in file ica.h.