ICA - runica quitting

Hi,

I am trying to run ICA on EEG data, recorded from 128-channel cap from an EGI system, in order to remove blinks. For most participants it works fine, asking for 10 to 20 components (e.g., nbcomp = 10). Here are the parameters that I am using:
sFiles = bst_process('CallProcess', 'process_ica', sFiles, [], ...
'timewindow', [], ...
'eventname', '', ...
'eventtime', [-0.2, 0.2], ...
'resample', 500, ...
'bandpass', [0, 0], ...
'nicacomp', nbcomp, ...
'sensortypes', EEG, ...
'usessp', 1, ...
'ignorebad', 1, ...
'saveerp', 0, ...
'method', 1); % Infomax: EEGLAB / RunICA

For some participants however I get the following error:
'runica(): QUITTING - weight matrix may not be invertible!'

Sometimes reducing the number of components even more solves the issue, although the components you get are not necessarily as good to get blinks. But sometimes it doesn't. Increasing the number of components to 50 doesn't seem to solve the issue either.

Any idea what I'm doing wrong?
Thanks!
Svetlana

Hi Svetlana

I don't know...
This is a question you should ask to the EEGLAB community (https://sccn.ucsd.edu/contact/mailinglists.php). We don't have much experience with this runica algorithm, it is still quite mystical to me.

To report correctly your question to them, you should tell them exactly how you run your analysis. Place a breakpoint at line 711 in process_ssp2.m (
https://github.com/brainstorm-tools/brainstorm3/blob/master/toolbox/process/functions/process_ssp2.m#L711), run your computation from the interface. When the debugger stops, you can explore the values that are passed to runica.m. You could also save the F matrix and add it to your post on the EEGLAB mailing list.
Alternatively, you can try opening an issue on theit github, but I don't know if they address questions this way: https://github.com/sccn/eeglab/issues

Bises
Francois