[Eeglablist] Questions regarding the pipeline of data processing.

Chadwick Boulay boulay at brain.bio.keio.ac.jp
Mon Apr 8 21:23:30 PDT 2013


Dear Yohan,
I have some experience but little formal education in signal processing. 
Based on my experience, and reading this list, I have made some comments 
below.

On 4/9/2013 9:45 AM, Boillat Yohan wrote:
> Dear all,
>
> I am new to the EEG technique and I have several questions concerning the procedure for the data processing part.
> The data are recorded with a SynAmps2 64 Channel  Quik-Cap. The sampling rate is 1000Hz.
> This is an ERP study with an interest in both early and late components.
>
> I plan to do the following steps:
>
> 1. I remove the bad electrodes (one or two max.).
> 2. I re-reference the data to the average..
> 3. I apply a high-pass filter of 0.1Hz  (IIR Butterworth, Order 2, ERPLAB).
> 4. I apply a low-pass filter of 45Hz  (IIR Butterworth, Order 2, ERPLAB).
> 5. I epoch the data according to the stimulus onset (-1000ms to 1000ms) and I use the whole epoch as a baseline.
>      as suggested by Groppe et al. (2009).
5b. Run ICA. Then reject epochs in step 6 based on the component 
activations instead of the channel data.
> 6. I reject epochs with gross artifact in order to have around 10% discarded (Delorme et al. 2007).
> 7. I run the ICA (runica, extended).
Yes, run it again after bad epochs have been rejected.
> 8. I use ADJUST (Mognon et al. 2010) in order to identify the components related to eye artifacts and then I remove them.
> 9. Spline interpolation for the electrodes previously removed.
> 9. Finally, the epochs are baseline corrected with a pre-stimulus period of 400ms and then averaged according to the different conditions

> So, my questions are:
>
> 1.Which criteria should I use to detect bad electrodes? I do not feel very happy with the pop_rejchan() function provided by EEGLAB as
> even by playing with the threshold it was not able to detect a channel that was obviously very bad.
I visually inspect the data. Here is some code. Note that VisEd requires 
the data structure to be named 'EEG'.
         EEG = VisEd( EEG, 1,...
             vararg2str(find(strcmpi({EEG.chanlocs.type},'EEG'))), 
{my_event_name_str});
         temp = input('Press return when done editing.\n');

         %Resave
         EEG = eeg_checkset(EEG);
         EEG.saved = 'no';
         EEG = pop_saveset( EEG, 'savemode', 'resave');
> 2. Can I re-reference to the average if one or two electrodes were removed?
You can re-reference to whatever you want if all channels are referenced 
to the same thing. The average of 62 channels is probably the most 
unbiased reference you'll have.
> 3. Is it correct to do the spline interpolation after the ICA?
Running the ICA itself does nothing to the channel data so when you do 
the spline interpolation relative to the ICA shouldn't matter. Do you 
mean whether or not it is correct to do the spline interpolation after 
subtracting the bad components? Then I think it is correct, because it 
will be impossible to subtract the bad components from your channel data 
after you have interpolated the removed electrodes since your new data 
(including the interpolated electrodes) will have more channels than 
present in the ICA transformation.
> 4. Does it make sense to do a second baseline correction after the ICA, but this time with a pre-stimulus period?
I think that depends entirely on what you want to visualize, but I would 
say that doing the second baseline correction is the norm.

I hope this helps.

-- 
Chadwick Boulay
JSPS Postdoctoral Fellow
Keio University
Yokohama Japan
boulay at brain.bio.keio.ac.jp




More information about the eeglablist mailing list