<div dir="ltr"><div class="gmail_default" style="color:#333399">Hi Roberto,</div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399">Just quick followup here. Thanks for the details about eeglab to mnepython. The more bridges we can build for users across different tools, the better for the community. Perhaps someday you can share a "Roberto's pipeline" recommendations to help beginners.</div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399">Regarding 35 ICs, I don't mean PCA to reduce to 35, I mean that many researchers acknowledge that with high-density EEG (e.g, 64 channels or more) you'll only really find interpretable relatively pure neural ICs within the the first 35 or 25 ICs. Whether or not that changes with PCA reduction remains a matter of opinion. You can test it out yourself. When you PCA (say 35) for ICA for a high-channel montage, do you get the same decomposition as when you just ICA without PCA and look at the first 35 ICs?</div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399">Also, remember, almost all EEG data is usually "mixed" with EMG and other artifact signals. So you should definitely not be "just cleaning for "blinks", but at least other eye artifacts, and also EMG-dominated ICs.</div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399">Last, what I meant about "staying in ICA" land was to do analyses on ICs, and not on the "IC-pruned/cleaned" channel-level data. This is a theoretical choice one needs to make.Think about it, why would you go back to channel-level when you've (apparently) decomposed the signal into IC/neural sources ? Also, yes, whether or not you do your main analyses on ICs or on channels, if you are doing ICA, you want to know whether or not your are getting similar neural ICs across your subjects/conditions or not. This matters more of course if you attempt to do ICA-level analyses, as you would want similar IC's from each subject for your analyses. That's what the IC clustering is for, but note that clustering is a bit of an art, especially when having to deal with ICs that don't show up across all subjects, thus needed to then deal with issues of having to re-ICA/re-clean some subjects and/or drop some subjects.</div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399">Note that ICA has many flavors, and there are a range of blind source decomposition techniques that have not yet received full attention  or adoption in the literature.That being said, ICA can get you pretty far in terms of brain dynamics!</div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_default" style="color:#333399"><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 23, 2017 at 12:20 AM, Roberto Petrosino <span dir="ltr"><<a href="mailto:roberto.petrosino@uconn.edu" target="_blank">roberto.petrosino@uconn.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word">Hello everyone,<div><br></div><div>many thanks for all your posts - they are all very helpful! I am replying to each of you below - sorry for the long email!.</div><div><br></div><div><div><span style="font-family:KohinoorDevanagari-Regular">Hi Clemens,</span></div><br><blockquote type="cite"><font face="KohinoorDevanagari-Regular">[…] I've found that Extended Infomax ICA is much faster in MNE-Python than in EEGLAB (even much faster than binica). So instead of days or weeks, computation time could go down to hours.</font><span class=""><span class="m_-5414065573104430896gmail-"><br style="font-family:KohinoorDevanagari-Regular"><br style="font-family:KohinoorDevanagari-Regular"><span style="font-family:KohinoorDevanagari-Regular">You can do many EEGLAB analyses with MNE-Python - I'd encourage you to read the tutorials and examples to get an overview. There's also a mailing list quite similar to this one if you have questions.</span></span></span></blockquote><br></div><div> Yeah, I did know that MNE-python could run ICA analysis, but my only concern that I would have to run IC classification for 30 subjects - I couldn’t find out how to cluster ICs like Makoto’s pipeline does. That’s basically the reason I am inclined to use eeglab for pre-processing and artifact rejection and then MNE-python for actual regression analyses. But if you do know some method in MNE similar to Makoto’s, I’d be willing to try that out too.</div><div><br></div><div>***</div><div>Hi Tarik,</div><div><br></div><div><span class=""><div style="font-family:KohinoorDevanagari-Regular;color:rgb(51,51,153)"></div><blockquote type="cite"><div style="font-family:KohinoorDevanagari-Regular"><font color="#942192">See the following excellent website for learning about ICA classification. I recommend students to do at least 500 classifications, it's doable on smartphone. The tutorials and examples are excellent resources.</font></div><div style="font-family:KohinoorDevanagari-Regular"><font color="#942192"><a href="http://reaching.ucsd.edu:8000/auth/login" target="_blank">http://reaching.ucsd.edu:8000/<wbr>auth/login</a><br></font></div><div style="font-family:KohinoorDevanagari-Regular"><font color="#942192"><br></font></div><div style="font-family:KohinoorDevanagari-Regular"><font color="#942192">See the multiple ICA classification plugins (MARA, ADJUST, SASICA, IC-MARC) for some near-automatic methods for removing unhealthy ICs. The articles on each of those plugins are also useful if you're just beginning with dense-EEG and ICA.</font></div></blockquote><div><br></div></span><div>I have actually already started to do some classifications in the spare time (it’s really cool!). Also, many thanks for suggesting the classification plugins - I’ll surely check them out.</div><span class=""><br><blockquote type="cite"><div style="font-family:KohinoorDevanagari-Regular"><font color="#942192">Overall, I recommend running ICA without PCA, but then just focusing on the first 35 ICs. Usually one can just pick out the top 10 neural ICs and reject the rest. It depends on why you're doing ICA (just to find blinks) or to actually examine the ICs. eeglab is built to help you stay in ICA land, rather than go back to channel-level space. This of course depends on multiple factors, such as whether you have good similar neural ICs for most of your subjects.</font></div></blockquote><div><br></div></span><div>I actually need it just for artifact rejection (so basically blinks). So if I understand what you are saying, you suggestion is similation to Makoto’s (but see comments below on using PCA within ICA decomposition) - namely, decompose the signal in 35 ICs only and then select the neural ones.</div><div>If I understand what your last sentence above mean, you suggest to go over ICs of all subjects to make sure they have good similar neural components - is that right?</div><span class=""><br><blockquote type="cite"><div style="font-family:KohinoorDevanagari-Regular"><font color="#942192">MNE python should have no problem eating the data that results from eeglab. If you find the exact method, please share it with the eeglab list. If you develop a method for passing data between eeglab and mne-python that would also be a cool thing to share.</font></div></blockquote><br></span></div><div>I tried to use MNE with artifact-laden eeglab data, and it worked effortlessly. If someone is interested in trying that out, there are two special MNE functions - <font face="Menlo"><a href="http://mne.io" target="_blank">mne.io</a>.read_raw_eeglab() </font><font face="KohinoorDevanagari-Regular">for non-epoched data and</font><font face="Menlo"> <a href="http://mne.io" target="_blank">mne.io</a>.read_epochs_ee<wbr>glab()</font><font face="KohinoorDevanagari-Regular"> </font><span style="font-family:KohinoorDevanagari-Regular">for epoched data. See the </span><a href="http://martinos.org/mne/dev/manual/migrating.html" target="_blank">tutorial</a><span style="font-family:KohinoorDevanagari-Regular"> for more info.</span></div><div><br></div><div>***</div><div>Hi Makoto,</div><span class=""><span class="m_-5414065573104430896gmail-"><div><br></div><div><blockquote type="cite"><span style="font-family:KohinoorDevanagari-Regular">If you are only interested in decomposing (for removing) eye blinks AND if you don't want to spend a week, use 'pca' option from infomax runica() GUI. You see 'extended', 1 there. Add 'pca', 35 to decompose 35 ICs only. This should be enough to capture eye blinks. Change the number as necessary. It should work even with 10-20 if your target is eye blinks.</span></blockquote><br></div></span></span><div>So are you suggesting to run <font face="Menlo">pop_runinca()</font> with PCA.  Can I ask you the reason for that? Does it just speed up the decomposition?</div><div><br></div><div><span class=""><span class="m_-5414065573104430896gmail-"><div style="font-family:KohinoorDevanagari-Regular"><div></div></div><blockquote type="cite"><div style="font-family:KohinoorDevanagari-Regular"><div><font color="#942192">What I suggest in doing so is to select IC clusters at the group level instead of opening 30 subjects and going through 256x30 ICs manually. My suggested method uses power spectrum density (PSD) only for clustering, with scalp maps as additional info to help evaluations. This should be done with continuous data. As a result, it will create another set of .set files. Does it make sense? </font></div></div></blockquote><br></span></span><div>Ok, I am slowly understanding the mechanics here. So you suggest to:</div><div><br></div><div>1. create a STUDY (call it STD1) for IC rejection only;</div></div><div>2. clustering ICs over datasets of the STUDY (call it STD2),  which will then create another (full?) STUDY.design of .set files (= the clustered ICs). </div><div><br></div><div>Is it at point 2 that you epoch the ICs? I still miss why epoch ICs of STD2?</div><div><br></div><div><span class=""><span class="m_-5414065573104430896gmail-"><blockquote type="cite"><div style="font-family:KohinoorDevanagari-Regular"><font color="#0000ff">> On a related note - when and how exactly do I remove the IC from the actual data?</font></div><ol style="font-family:KohinoorDevanagari-Regular"><li>When creating STUDY, outside-brain ICs can be kicked out.<br></li><li>When creating STUDY, ICs with dipoles with residual variance (i.e. difference from ideal dipolar projection on scalp) > 15 %, as a default value, can be rejected.<br></li><li>When projecting the selected IC clusters, the ICs contained by the unselected clusters are rejected.</li></ol></blockquote></span></span><div>So once I have all (epoched?) ICs in STD2, I can project the selected IC clusters to the actual data of STD1. Correct? It might be a naive question (which is also related to my last question above), but why does projecting epoched ICs not cause to epoch the actual data as well?</div></div><div><br></div><div>Many many thanks for all of your for the help!</div><div><br></div><div>Have a nice weekend,</div><div><br></div><div>-Roberto</div><div><br><div><span class=""><span class="m_-5414065573104430896gmail-"><div>
----------<br>Roberto Petrosino<br>Ph.D. Student in Linguistics<br>CT Institute for the Brain and Cognitive Sciences<br>University of Connecticut<br><br>

</div>
<br></span></span><div><div class="h5"><div><div class="m_-5414065573104430896gmail-h5"><div><blockquote type="cite"><div>On Sep 21, 2017, at 4:26 AM, Brunner, Clemens (<a href="mailto:clemens.brunner@uni-graz.at" target="_blank">clemens.brunner@uni-graz.at</a>) <<a href="mailto:clemens.brunner@uni-graz.at" target="_blank">clemens.brunner@uni-graz.at</a>> wrote:</div><br class="m_-5414065573104430896gmail-m_-2543965155479726405Apple-interchange-newline"><div><div>Hi Roberto!<br><br>Regarding your second question, I've found that Extended Infomax ICA is much faster in MNE-Python than in EEGLAB (even much faster than binica). So instead of days or weeks, computation time could go down to hours.<br><br>You can do many EEGLAB analyses with MNE-Python - I'd encourage you to read the tutorials and examples to get an overview. There's also a mailing list quite similar to this one if you have questions.<br><br>Clemens<br><br><br><blockquote type="cite">On 20 Sep 2017, at 20:27, Makoto Miyakoshi <<a href="mailto:mmiyakoshi@ucsd.edu" target="_blank">mmiyakoshi@ucsd.edu</a>> wrote:<br><br>Dear Roberto,<br><br><blockquote type="cite">1) My initial concern is that I want to run regression analyses through MNE-python on epoched and artifact-free data (this is because the matlab toolbox for it is quite buggy). Is that at all compatible with your ASR pipeline?<br></blockquote><br>I have no experience in MNE-python thing, I don't even know what it represent for!<br>So I can't say anything for sure. Sorry.<br><br><blockquote type="cite">My plan was to run ICA on all data throught eeglab, and then exports the clean datasets through MNE. Do you think it is feasible?<br></blockquote><br>Technically yes, as long as the thing can import Matlab variables in one way or another.<br><br><blockquote type="cite">2) Running ICA on 256 components for 30 subjects may last days (if not weeks), so I was wondering what your opinion on that is. Since the goal is just to find blinks and other noise, I was thinking that I could ask it to estimate a smaller number of components - but then what would the consequences be? <br></blockquote><br>If you are only interested in decomposing (for removing) eye blinks AND if you don't want to spend a week, use 'pca' option from infomax runica() GUI. You see 'extended', 1 there. Add 'pca', 35 to decompose 35 ICs only. This should be enough to capture eye blinks. Change the number as necessary. It should work even with 10-20 if your target is eye blinks.<br><br><blockquote type="cite">3) I am using your batch code for multiple subjects, and I am a little unclear about the last steps of the ASR pipeline that are not present in the batchcode (i.e., steps 13-15). If I understand well, you suggest to create a STUDY just for clustered IC rejection, so that I can select clustered ICs to apply on the whole STUDY. But then why do you suggest to epoch the ICs and then create a full STUDY?<br></blockquote><br>What I suggest in doing so is to select IC clusters at the group level instead of opening 30 subjects and going through 256x30 ICs manually. My suggested method uses power spectrum density (PSD) only for clustering, with scalp maps as additional info to help evaluations. This should be done with continuous data. As a result, it will create another set of .set files. Does it make sense? <br><br><blockquote type="cite">On a related note - when and how exactly do I remove the IC from the actual data?<br></blockquote><span class="m_-5414065573104430896gmail-m_-2543965155479726405Apple-tab-span" style="white-space:pre-wrap">   </span>• When creating STUDY, outside-brain ICs can be kicked out.<br><span class="m_-5414065573104430896gmail-m_-2543965155479726405Apple-tab-span" style="white-space:pre-wrap">      </span>• When creating STUDY, ICs with dipoles with residual variance (i.e. difference from ideal dipolar projection on scalp) > 15 %, as a default value, can be rejected.<br><span class="m_-5414065573104430896gmail-m_-2543965155479726405Apple-tab-span" style="white-space:pre-wrap">  </span>• When projecting the selected IC clusters, the ICs contained by the unselected clusters are rejected.<br>Makoto<br><br><br><br><br>On Sun, Sep 17, 2017 at 8:51 AM, Roberto Petrosino <<a href="mailto:roberto.petrosino@uconn.edu" target="_blank">roberto.petrosino@uconn.edu</a>> wrote:<br>Dear Dr. Mayakoshi,<br><br>I am a PhD Student in Linguistics at UConn, and I am currently working on a project testing the EEG response to words with a EGI 256-channel net. I am trying to use your ASR pipeline, and I have a few questions. I am sorry that I am writing directly to you, but I got no reply from the eeglab mailing list, so I was wondering if you could help out. Apologies in advance for my naive questions - this is my first time using ICA for artifact rejection.<br><br>1) My initial concern is that I want to run regression analyses through MNE-python on epoched and artifact-free data (this is because the matlab toolbox for it is quite buggy). Is that at all compatible with your ASR pipeline?<br>My plan was to run ICA on all data throught eeglab, and then exports the clean datasets through MNE. Do you think it is feasible?<br><br>2) Running ICA on 256 components for 30 subjects may last days (if not weeks), so I was wondering what your opinion on that is. Since the goal is just to find blinks and other noise, I was thinking that I could ask it to estimate a smaller number of components - but then what would the consequences be? <br><br>3) I am using your batch code for multiple subjects, and I am a little unclear about the last steps of the ASR pipeline that are not present in the batchcode (i.e., steps 13-15). If I understand well, you suggest to create a STUDY just for clustered IC rejection, so that I can select clustered ICs to apply on the whole STUDY. But then why do you suggest to epoch the ICs and then create a full STUDY? On a related note - when and how exactly do I remove the IC from the actual data?<br><br>Many thanks for your help in advance.<br><br>Best regards,<br><br>-Roberto<br><br>----------<br>Roberto Petrosino<br>Ph.D. Student in Linguistics<br>CT Institute for the Brain and Cognitive Sciences<br>University of Connecticut<br><br><br><br><br><br>-- <br>Makoto Miyakoshi<br>Swartz Center for Computational Neuroscience<br>Institute for Neural Computation, University of California San Diego<br>______________________________<wbr>_________________<br>Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" 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><br></div></div></blockquote></div><br></div></div></div></div></div></div></div></blockquote></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br><div class="m_-5414065573104430896gmail_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></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/<wbr>eeglabmail.html</a><br>
To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu">eeglablist-unsubscribe@sccn.<wbr>ucsd.edu</a><br>
For digest mode, send an email with the subject "set digest mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu">eeglablist-request@sccn.ucsd.<wbr>edu</a><br></blockquote></div><br></div></div>