Extended Infomax independent component analysis (super- and sub-Gaussian sources). More...


Go to the source code of this file.
Classes | |
| struct | UTILSLIB::InfomaxResult |
| class | UTILSLIB::ExtendedInfomax |
Namespaces | |
| namespace | UTILSLIB |
| Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms). | |
Extended Infomax independent component analysis (super- and sub-Gaussian sources).
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
Extended Infomax (Lee, Girolami & Sejnowski, 1999) is a maximum-likelihood ICA algorithm that maximises the joint entropy of a non-linearly transformed mixture and automatically switches the score (non-linearity) between a logistic form, suitable for super-Gaussian (sparse, peaky) sources, and a cubic form, suitable for sub-Gaussian sources such as line noise. The switch is driven by the sign of the per-component stability test k_i = sign(⟨sech²(Wᵢx)⟩ − ⟨(Wᵢx)²⟩), recomputed every iteration, which gives Extended Infomax a substantial robustness advantage over the standard logistic-only Infomax on MEG / EEG data where both source classes coexist.
The implementation here uses the natural-gradient update with adaptive step-size and optional block-wise random shuffling of samples, matching the MNE-Python defaults so artifact decompositions are reproducible across the two toolchains.
Definition in file extended_infomax.h.