[Eeglablist] Ghost ICs on EEG data

Maitane Barrenetxea Carrasco mbarrenetxea at mondragon.edu
Thu May 14 09:48:31 PDT 2020


Hi all,

I am working on a dataset that has 128 EEG channels and 4 EOG channels (2
vertical + 2 horizontal) plus a nose-tip reference. Hence, 133 channels in
total.
After ICA decomposition I have noticed that there are 2 ghost ICs in one
the datasets (the 13 files that I have preprocessed before were apparently
fine). These ghost ICs appear in first two positions of the ICs and exhibit
inverted time-course and activation maps.

This seems to be a problem of low-rank data before ICA. The thing is that
in this case my data is full rank when entering ICA (128 channels and rank
128 as this subject doesn't have any interpolated channels). Additionally,
I am only computing 92 components (I use PCA for dimensionality reduction)
as the EEG data length doesn't allow for the calculation of at least 30
data points per ICA weight if all 128 components are to be estimated (data
length=254458, 30*92^2=253920).

So, is this a matter of runica() instability or is there something wrong in
my pipeline? Here is the code I use to preprocess the EEG data:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STEP 2: Filtering  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STEP 3: Remove initial and final segments of the data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ....
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STEP 4: Import channel info
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if  there are bad channels then
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %% STEP 5: Reject bad channels
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

        EEG = pop_select(EEG,'nochannel',toremove);

        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %% STEP 6 : Interpolate
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        EEG = pop_interp(EEG, originalEEG.chanlocs, 'spherical');
end

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% STEP 7: Average re-reference --> exclude EOG channels to avoid
artifact propagation
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    EEG = pop_reref( EEG, [],'exclude',[129:132] );

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% STEP 8: ICA --> EOG and reference channel excluded
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    EEG = pop_runica(EEG, 'pca', 92,
'extended',1,'interupt','on','chanind',[1:128]);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Thank you very much in advance,

Maitane

-- 
Maitane Barrenechea Carrasco (PhD)
Biomedikoa - BIO
Mondragon Unibertsitateko Goi Eskola Politeknikoa
Loramendi, 4; 20500 Arrasate - Mondragón (Gipuzkoa)
Tel. : +(34) 647504294 / +(34) 943794700 + Ext. 8162
https://urldefense.com/v3/__http://www.mondragon.edu__;!!Mih3wA!ULzoRJq4QVX4tD2cn-imhLSZRrdTWUjwCJNE0QGEDDphbevgTlbKbGve0CJ3aGjeOsRUiQ$ 



More information about the eeglablist mailing list