[Eeglablist] re referencing to average after ICA

Makoto Miyakoshi mmiyakoshi at ucsd.edu
Wed Oct 19 19:52:56 PDT 2016


Dear Raquel,

> (I know you recommend 1 Hz, but I used .5 because I found it to be much
more common in the literature about my topic).

If you apply 1-Hz high-pass with EEGLAB, it is 0.5Hz cut-off at 6dB.
EEGLAB's 1-Hz is NOT cut-off at 6dB but pass-band edge (i.e. the last freq
point before suppression.) See this page.
https://sccn.ucsd.edu/wiki/Firfilt_FAQ
Check the difference between 'cutoff frequency' and 'passband edge'. Users
are to specify passband edges in EEGLAB, not cutoff frequency.

This means that your filter has 0.25Hz cutoff at 6dB point. If you want to
be the same as others, currently you are too (twice more) gentle in
high-pass filtering.

> For ICA I used short epochs so no components would be wasted on artifacts
outside the time window of interest. Later, I applied these weights to the
dataset that was epoched with buffer zones to accomodate edge artifacts for
TF analysis.
- Epoch to the time window of interest (no buffer zone) and do linear
baseline correction to the mean of the whole epoch. (see
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3062525/)
- Get rid of any super bad channels (if the noise on the channel was such
that I thought ICA might pick it up, I left it in for now)
- Average reference

If you need to remove many channels, it's better to recover the rejected
channels by interpolation. This is to prevent average referencing from
being biased. For example, if you discard a lot of channels from left
hemisphere, your mean is biased toward the data from right hemisphere.

> - Super thorough artifact rejection, throwing away even slightly weird
trials I would normally keep.

Actually, ICA is more robust than people usually think. So you don't need
to be so nervous. Compare decomposition with 5%, 10%, and 20% rejections...
they will be the same unless your data is really crappy.

- Run ICA; I reduced the number of components that eeglab returns like this
(I had 68 channels): EEG = pop_runica(EEG , 'extended',1,'interupt','on','
*pca',67*);

Here I went back to the continuous, high-pass filtered data

- Epoch to the time window of interest plus buffer zones and do linear
baseline correction to the mean of the whole epoch.
- Average reference
- Apply the ICA weights to this file, do component rejection
- If there were any very bad channels that ICA couldn't clean, I'd go all
the way back to before ICA and get rid of the channel and redo everything
for this subject
- Trial rejection
- Laplacian

Mostly they look fine. I don't use Laplacian though. I often see tangential
IC topographies, which is direct counterevidence against the assumption of
dipoles being necessarily radial.

All looks good. Good luck!

Makoto



On Tue, Oct 18, 2016 at 7:33 AM, Raquel London <raquellondon at gmail.com>
wrote:

> Hi Tarik and everyone,
>
> As promised, I thought I'd share the steps I took that resulted in much
> better decompositions. I tested some of these steps together due to time
> constraints, so I can't be exactly sure how much of the improvement is due
> to which step. I know that greatly reduces the usefulness of my post, but I
> thought I'd just share it anyway. Thanks for all the help I got with this
> on the list.
>
> What I ended up doing
> - Set the eeglab preferences to double precision
> - High pass filter at 0.5 Hz (I know you recommend 1 Hz, but I used .5
> because I found it to be much more common in the literature about my
> topic). Compared to the .1 Hz filter I used before, this was already a huge
> improvement.
>
> For ICA I used short epochs so no components would be wasted on artifacts
> outside the time window of interest. Later, I applied these weights to the
> dataset that was epoched with buffer zones to accomodate edge artifacts for
> TF analysis.
>
> - Epoch to the time window of interest (no buffer zone) and do linear
> baseline correction to the mean of the whole epoch. (see
> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3062525/)
> - Get rid of any super bad channels (if the noise on the channel was such
> that I thought ICA might pick it up, I left it in for now)
> - Average reference
> - Super thorough artifact rejection, throwing away even slightly weird
> trials I would normally keep.
> - Run ICA; I reduced the number of components that eeglab returns like
> this (I had 68 channels): EEG = pop_runica(EEG ,
> 'extended',1,'interupt','on','*pca',67*);
>
> Here I went back to the continuous, high-pass filtered data
>
> - Epoch to the time window of interest plus buffer zones and do linear
> baseline correction to the mean of the whole epoch.
> - Average reference
> - Apply the ICA weights to this file, do component rejection
> - If there were any very bad channels that ICA couldn't clean, I'd go all
> the way back to before ICA and get rid of the channel and redo everything
> for this subject
> - Trial rejection
> - Laplacian
>
> cheers,
> Raquel
>
> On Sat, Sep 3, 2016 at 10:24 PM, Tarik S Bel-Bahar <
> tarikbelbahar at gmail.com> wrote:
>
>> Thanks for your question Raquel, and great idea to get a better idea of
>> the mechanics and assumptions. Hands-on playing with different options and
>> rerunning ICAs can be quite useful. What I meant is that usually
>> researchers, as far as I understand, usually apply the ICA decomposition to
>> files (from processing steps before ICA) that are very similar to the files
>> that went "into" ICA. But there are various ways the files could be the
>> "same"....
>>
>> In other words, the usual thing is to apply the ICA weights to a file
>> that has at least
>> ***A. the *same* channels as the file(s) that went into ICA
>> ***B. the *same* subject and same recording session as the file(s) that
>> went into ICA
>> I think this is due the basic expectations of ICA and the data structures
>> in eeglab.  Also, each person/session of course has their own decomposition.
>>
>>
>> FURTHER
>> ***C. Usually,the file which is getting the ICA weights will be the *same
>> *as the file(s) that went into the ICA (e.g, in terms of filtering or
>> bandpassing or re-referencing). Relatedly, I don't believe it's appropriate
>> to apply ICA weights from 1hz-highpass files to unfiltered files, but I
>> might be wrong.
>>
>>
>> HOWEVER
>> ***D. The file which is getting the ICA weights does not need to have the *same
>> *exact time points as the file(s) that went into the ICA, and it can be
>> epoched or continuous. As long as it has the correct features matching the
>> file that went into ICA. So it's in terms of time points to apply the ICA
>> weights to that you have the most freedom, relative to other feature of the
>> data.
>> Thus.... one can re-apply to the continuous or near-continous epoched
>> data, and then do artifact rejection with ICA info, re-do epoching after
>> doing ICA cleaning, and other similar strategies. Some of the strategies
>> are laidout in the eeglab tutorials and articles.
>>
>>
>> ps. when things are setup wrong with ICA, the solutions will look weird,
>> the eeg data will look weird, and/or eeglab will break. If you get a chance
>> to, please consider sharing some examples of your next tests, or some
>> summary of your understanding that could benefit new users later on.
>>
>>
>>
>>
>>
>>
>>
>
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.uc
> sd.edu
> For digest mode, send an email with the subject "set digest mime" to
> eeglablist-request at sccn.ucsd.edu
>



-- 
Makoto Miyakoshi
Swartz Center for Computational Neuroscience
Institute for Neural Computation, University of California San Diego
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20161019/877a0306/attachment.html>


More information about the eeglablist mailing list