[Eeglablist] IClabel using GUI vs command line via eegh

Stout, Daniel dastout at health.ucsd.edu
Tue Jul 4 12:02:06 PDT 2023


Hey Everyone,

I'm new to the IClabel feature and want to apply it to some of my (mostly) cleaned data. I first used the eeglab GUI to run through the steps (and an additional bp filter 2-20Hz). Using the GUI I observed that after running ICA, IClabel identified 1 component as an artifact component (>.85). I then removed that component from the data.

However, when I re-run this via the command line using the eegh command, I get wildly different number of components identified and removed. I'm wondering what I'm doing wrong between the 2 versions. Here is the output of eegh:

[ALLEEG EEG CURRENTSET ALLCOM] = eeglab;
EEG = pop_loadbv('/Exports/107/', '107_Resting_Segmentation_S3_0-6s.vhdr', [1 180000], [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69]);
[ALLEEG EEG CURRENTSET] = pop_newset(ALLEEG, EEG, 0,'gui','off');
EEG = pop_eegfiltnew(EEG, 'locutoff',2,'hicutoff',20,'channels',{'Fp1','Fz','F3','F7','FT9','FC5','FC1','C3','T7','CP5','CP1','Pz','P3','P7','O1','Oz','O2','P4','P8','TP10','CP6','CP2','Cz','C4','T8','FT10','FC6','FC2','F4','F8','Fp2','AF7','AF3','AFz','F1','F5','FT7','FC3','C1','C5','TP7','CP3','P1','P5','PO7','PO3','POz','PO4','PO8','P6','P2','CPz','CP4','TP8','C6','C2','FC4','FT8','F6','AF8','AF4','F2','FCz','TP9'});
[ALLEEG EEG CURRENTSET] = pop_newset(ALLEEG, EEG, 1,'gui','off');
EEG = pop_runica(EEG, 'icatype', 'runica', 'extended',1,'interrupt','on');
[ALLEEG EEG] = eeg_store(ALLEEG, EEG, CURRENTSET);
EEG = pop_iclabel(EEG, 'default');
[ALLEEG EEG] = eeg_store(ALLEEG, EEG, CURRENTSET);
EEG = pop_icflag(EEG, [NaN NaN;0.85 1;0.85 1;0.85 1;0.85 1;0.85 1;NaN NaN]);
[ALLEEG EEG] = eeg_store(ALLEEG, EEG, CURRENTSET);
EEG = pop_subcomp( EEG, [], 0);
[ALLEEG EEG CURRENTSET] = pop_newset(ALLEEG, EEG, 2,'savenew','clean','gui','off');


Any guidance on 1) what is different between the 2 ways I ran it, and 2) how to apply this via the command line would be much appreciated. I plan to create a loop script to run this on a larger dataset.

Thanks,

Danny




More information about the eeglablist mailing list