PicardIca
Namespace: RTPROCESSINGLIB · Library: DSP Library
mne.preprocessing.ICA (picard) in MNE-Python.
#include <dsp/picard_ica.h>
class UTILSLIB::PicardIca
Independent Component Analysis using the Picard algorithm.
Picard uses a preconditioned L-BFGS strategy to minimise the mutual information of the components. Compared to FastICA it typically converges in fewer iterations and handles badly conditioned data more robustly.
const IcaResult picard = PicardIca::run(mixed, 3);
Static Methods
run(matData, nComponents, maxIter, tol, lbfgsMemory, randomSeed)
Run the Picard ICA algorithm.
Parameters:
-
matData : const Eigen::MatrixXd & Input data (n_channels x n_samples).
-
nComponents : int Number of components to extract (-1 = all channels).
-
maxIter : int Maximum number of iterations (default 200).
-
tol : double Convergence tolerance (default 1e-7).
-
lbfgsMemory : int L-BFGS memory length (default 7).
-
randomSeed : int Seed for initial weight randomisation (default 42).
Returns:
Example
- Full source:
src/examples/ex_dsp_preprocessing/main.cpp - Build target:
ex_dsp_preprocessing(runs under CTest)
Used in examples
ex_dsp_preprocessing
Preprocessing tools of the dsp library on synthetic data with a known ground truth.
const IcaResult picard = PicardIca::run(mixed, 3);
ok &= expect(worstRecovery(picard.matSources, sources) > 0.99, QString("Picard recovers all sources (worst |r| %1)").arg(worstRecovery(picard.matSources, sources)));
Authors of this file
- Christoph Dinh <christoph.dinh@mne-cpp.org>