Summary of work on eye artifact removal using ICA (128 and 256 channel data)

 

Eye artifact test data consisting of one minute (15000 samples at 250 Hz) of repetitions of right, left,. up, down eye movements followed by a blink was recorded on an EGI 128 channel system.  Channel plots are arranged by homologous pairs from anterior to posterior.

Two sets of 64 channels each:
In order to have several training samples per weight
approximately four 64^2 x 4  ~ 15000 data set was divided into two sets of 64 interleaved channels.  Channel 2 was bad so homologous channels 2 and 27 were removed and VEOG channels 8 and 26 were added.

Set1VEOG








 

Set2
Second set of 64 channels (also includes upper VEOG channels 8 and 26):








eogscript2-64set1VEOG electrodes                                          eogscript2-64set2 electrodes
 
Comments:

eogscript2-64set1VEOG eye components consisted of two horizontal movement (ica comps: 1 and 3) and two vertical blink (ica comps: 2 and 4) while eogscript2-64set2 had one horizontal (ica comp: 2) and three vertical blink (ica comps: 1, 3 and 4).

The time course of eogscript2-64set1VEOG ica component 6 looks like it contains some eye artifact though the topoplot shows more weighting for the right eye. Perhaps this component should be removed too.

The ica filtered data looks better for eogscript2-64set2.

 

 

Four sets of 32 channels each (results from sets 3 and 4 shown)
In order to increase the number of training samples per weight, the data set was further divided into four sets of 32 interleaved channels (approximately fifteen training samples per weight 32^2 x 15  ~ 15000).

Set 3









 

Set 4









 
Comments:

Eye artifacts for eogscript2-32set3 are mostly contained in ica components 1, 2 and 5 while component 10 (not removed) appears to contain some additional horizontal eye artifact.  ICA components 1-3 appear to contain all of the eye artifacts in eogscript2-32set4.


The ica filtered data looks better for eogscript2-32set4.

 

General comments:

Dividing the 128/256 channel data into sets of interleaved channels is done in order to have more training samples per ICA weight and to work around Matlab memory problems for 256 channel data recorded at high sampling rates for several minutes.

The idea is to detect and remove the same ICA eye artifact components from each subset of interleaved data channels and then recombine the ICA filtered channels for full spatial resolution.

Problems included handling bad data channels and resolving the same ICA eye artifact components from the interleaved electrode subsets.  This latter problem may be due to the limited nature of this test data set (i.e. only about nine repetitions of up, down, right, left and blink sequence) or perhaps a better set of interleaved electrodes can be found.

 

 

 

 

 

Eye Calibration Tests (8/23/03)

128 component ICA decomposition.  Approximately 10 samples per weight (300s x 500/s = 150000 samples for 16384 weights)



Could not remove eye components due to Matlab errors.



Blinks appear to be smeared across many components.  Referring to the topomaps below components 2 and 3 appear to be the strongest for blinks and 10 and 14 for saccades.

 

Same data set divided into two interleaved sets of electrodes both containing eye electrodes (8, 126, 26, 127, 125 and 128)

Shackman_eyecalibrtn001_Interlv1 (66 channels; ~34 training samples per weight)


Eye components removed: 2, 14, 11, and 21




 

Shackman_eyecalibrtn001_Interlv1 0-50Hz  lowpassed data



same using runica('extended',10)


same using runica('extended',10)



same using runica('extended',10)

 

 

Shackman_eyecalibrtn001_Interlv2 (66 channels; ~34 training samples per weight)





 


Skunk work 256 channel test:

sknk223r1_LP50.DAT was separated into four interleaved electrode sets all containing the eye channels (VEOG 36, 37, 242; 18, 11, 241; HEOG 251, 53; 227, 1).  The number of channels in each interleaved set was 67,73,67,63 respectively and each data set was saved in Matlab format .MAT for input into EEGLAB program.  EEGLAB was used to find and remove bad channels AND noisy epochs prior to running ICA.  Below are results from running ICA on the first interleaved data set first with the noise epochs left in and then with them removed:

ICA filtered (components 1 and 3 dropped)




Same data with noisy epochs removed:





Channel 36 (FP1) comparison between original data (blue line) and ica filtered data dropping  wNoise computed components 1 and 3 (red line) or dropping clean computed components 1, 2 and 4 (black line).