<div dir="ltr">Dear Raquel,<div><br></div><div><span style="font-family:sans-serif;font-size:12.7px"><font color="#0000ff">> (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). </font></span><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">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.</div><div class="gmail_extra"><a href="https://sccn.ucsd.edu/wiki/Firfilt_FAQ" target="_blank">https://sccn.ucsd.edu/wiki/<wbr>Firfilt_FAQ</a><br></div><div class="gmail_extra">Check the difference between 'cutoff frequency' and 'passband edge'. Users are to specify passband edges in EEGLAB, not cutoff frequency.</div><div class="gmail_extra"><br></div><div class="gmail_extra">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.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">> 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.</span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- Epoch to the time window of interest (no buffer zone) and do linear baseline correction to the mean of the whole epoch. (see <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3062525/" target="_blank">https://www.ncbi.nlm.nih.<wbr>gov/pmc/articles/PMC3062525/</a>)</span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- 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)</span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff">- Average reference</font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff"><br></font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#000000">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.</font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff"><br></font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">> - Super thorough artifact rejection, throwing away even slightly weird trials I would normally keep.</span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px"><br></span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#000000"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">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.</span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font face="sans-serif" style="margin:0px;padding:0px;border:0px" color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px"><br></span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font color="#0000ff"><font face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- Run ICA; I reduced the number of components that eeglab returns like this (I had 68 channels): </span></font><span style="margin:0px;padding:0px;border:0px;font-family:arial,sans-serif;font-size:12.8px">EEG = pop_runica(EEG , 'extended',1,'interupt','on','</span><b style="font-family:arial,sans-serif;font-size:12.8px"><wbr>pca',67</b><span style="margin:0px;padding:0px;border:0px;font-family:arial,sans-serif;font-size:12.8px">); </span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:arial,sans-serif;font-size:12.8px"><font color="#0000ff"><br></font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="color:rgb(0,0,255);font-family:arial,sans-serif;font-size:12.8px">Here I went back to the continuous, high-pass filtered data</span><br></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:arial,sans-serif;font-size:12.8px"><font color="#0000ff"><br></font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font color="#0000ff"><span style="margin:0px;padding:0px;border:0px;font-family:arial,sans-serif;font-size:12.8px">- </span><span style="margin:0px;padding:0px;border:0px;font-size:12.7px;font-family:sans-serif">Epoch to the time window of interest plus buffer zones and do linear baseline correction to the mean of the whole epoch. </span></font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff">- Average reference</font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff">- Apply the ICA weights to this file, do component rejection</font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff">- 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</font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><span style="margin:0px;padding:0px;border:0px;font-family:sans-serif;font-size:12.7px"><font color="#0000ff">- Trial rejection</font></span></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><font color="#0000ff">- Laplacian</font></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><br></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif">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.</div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><br></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif">All looks good. Good luck!</div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><br></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif">Makoto</div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><br></div><div style="font-size:13px;margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 18, 2016 at 7:33 AM, Raquel London <span dir="ltr"><<a href="mailto:raquellondon@gmail.com" target="_blank">raquellondon@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi Tarik and everyone,<div><br></div><div><span style="font-family:arial,helvetica,sans-serif;font-size:13px">As promised, I thought I'd share the steps I took that resulted in much better decompositions</span><span style="font-family:arial,helvetica,sans-serif;font-size:13px">. 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. </span></div><div><span style="font-family:arial,helvetica,sans-serif;font-size:13px"><br></span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="font-size:12.7px;color:rgb(0,0,0);font-family:sans-serif">What I ended up doing </span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- Set the eeglab preferences to double precision </span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- 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.</span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px"><br></span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">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.</span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px"><br></span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- Epoch to the time window of interest (no buffer zone) and do linear baseline correction to the mean of the whole epoch. (see <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3062525/" target="_blank">https://www.ncbi.nlm.nih.gov/p<wbr>mc/articles/PMC3062525/</a>)</span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- 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)</span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:sans-serif;font-size:12.7px">- Average reference</span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- Super thorough artifact rejection, throwing away even slightly weird trials I would normally keep. </span></font></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><font color="#000000" face="sans-serif" style="margin:0px;padding:0px;border:0px"><span style="margin:0px;padding:0px;border:0px;font-size:12.7px">- Run ICA; I reduced the number of components that eeglab returns like this (I had 68 channels): </span></font><span style="margin:0px;padding:0px;border:0px;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px">EEG = pop_runica(EEG , 'extended',1,'interupt','on','</span><b style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px"><wbr>pca',67</b><span style="margin:0px;padding:0px;border:0px;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px">); </span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px"><br></span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px">Here I went back to the continuous, high-pass filtered data</span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px"><br></span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.8px">- </span><span style="margin:0px;padding:0px;border:0px;font-size:12.7px;color:rgb(0,0,0);font-family:sans-serif">Epoch to the time window of interest plus buffer zones and do linear baseline correction to the mean of the whole epoch. </span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:sans-serif;font-size:12.7px">- Average reference</span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:sans-serif;font-size:12.7px">- Apply the ICA weights to this file, do component rejection</span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:sans-serif;font-size:12.7px">- 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</span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><span style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:sans-serif;font-size:12.7px">- Trial rejection</span></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px">- Laplacian</div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px">cheers,</div><div style="margin:0px;padding:0px;border:0px;font-family:arial,helvetica,sans-serif;font-size:13px">Raquel</div><div><div class="m_-7730146734838462286gmail-h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 3, 2016 at 10:24 PM, Tarik S Bel-Bahar <span dir="ltr"><<a href="mailto:tarikbelbahar@gmail.com" target="_blank">tarikbelbahar@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div style="color:rgb(51,51,153)">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"....</div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)">In other words, the usual thing is to apply the ICA weights to a file that has at least</div><div style="color:rgb(51,51,153)">***A. the <b>same</b> channels as the file(s) that went into ICA<br></div><div style="color:rgb(51,51,153)">***B. the <b>same</b> subject and same recording session as the file(s) that went into ICA</div><div style="color:rgb(51,51,153)">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.</div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)">FURTHER<br></div><div style="color:rgb(51,51,153)">***C. Usually,the file which is getting the ICA weights will be the <b>same </b>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. </div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)">HOWEVER<br></div><div style="color:rgb(51,51,153)"><div>***D. The file which is getting the ICA weights does not need to have the <b>same </b>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.<br></div><div>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.</div><div><br></div></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)">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.<br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div><div style="color:rgb(51,51,153)"><br></div></div>
</blockquote></div><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" rel="noreferrer" target="_blank">http://sccn.ucsd.edu/eeglab/ee<wbr>glabmail.html</a><br>
To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu" target="_blank">eeglablist-unsubscribe@sccn.uc<wbr>sd.edu</a><br>
For digest mode, send an email with the subject "set digest mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu" target="_blank">eeglablist-request@sccn.ucsd.e<wbr>du</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_-7730146734838462286gmail_signature"><div dir="ltr">Makoto Miyakoshi<br>Swartz Center for Computational Neuroscience<br>Institute for Neural Computation, University of California San Diego<br></div></div>
</div></div>