- MNE version: 1.10
- operating system: Windows 11
I am working on achieve the runica infomax of eeglab with mne in python. I have calculated the component number using pca cntNumCompForICA, and run EEG = pop_runica(EEG,‘icatype’,‘runica’,‘extended’,0,‘pca’,cntNumCompForICA,‘interupt’,‘off’,‘verbose’,‘off’); the result icaweight is (n_component, n_channels) and icasphere is a unit matrix. so the W = icaweight * icasphere is actually equals to icaweight.
But with mne, I do the following
ica = mne.preprocessing.ICA(
n_components=cntNumCompForICA, # ‘pca’, cntNumCompForICA
method=“infomax”,
fit_params={
“extended”: False,
“max_iter”: 200,
“l_rate”: None,
},
random_state=42,
verbose=False
)
ica.fit(raw, verbose=False)
with the same n_components and eeg data as input, but the result ica.unmixing_matrix_ is (n_component, n_component), and it is not equals to the ica.weight * ica.sphere in eeglab, where is the problem?