<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>Hi Mahesh,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>Merging the results by simple averaging probably won’t work since the components are returned in random order (even after the variance sorting, components won’t necessarily have the same index.) Using matcorr() or a similar component matching algorithm before averaging is one possibility.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>But it seems to me that averaging will not improve anything in your situation. As long as you have enough data in each data block that ICA runs on, then the components you get should be well determined, allowing you to remove the artifacts separately, and use the separate unmixing matrices to decompose the different subsets.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>I’m not sure what kind of analysis you’re doing, but for many purposes, you want to identify brain components of interest and then analyze the activations and possibly localize them. In this case you only need to match up the components of interest in the separate decompositions, e.g. a frontal midline ERN component, and collect all the trials with the activations produced by the respective ICA unmixing matrices.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>Again, as long as you use as much data as you can load (possibly overlapping data blocks), the decompositions should be good by themselves. Comparing the components of interest across decompositions will give you an idea of how stable the components you’re looking at really are in your dataset. You might also look into characterizing the variance of the component maps in a bootstrapping sense, using a large number of resampled blocks.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>It would also be possible to modify the ICA algorithm to swap out data from the disk, but as I said, I doubt using all the data would improve the results over using as much data as you can load into memory. To me it makes more sense to verify the stability of the components you’re interested in, and use the separate ICA unmixing/sphere matrices on their corresponding data blocks, and separately back-project the components of interest, and then collect all the trials for the final analysis.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>Hope this is useful.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>Best,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'>Jason<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:black'><o:p> </o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> eeglablist-bounces@sccn.ucsd.edu [mailto:eeglablist-bounces@sccn.ucsd.edu] <b>On Behalf Of </b>Mahesh Casiraghi<br><b>Sent:</b> Saturday, December 11, 2010 6:34 PM<br><b>To:</b> eeglablist@sccn.ucsd.edu<br><b>Subject:</b> [Eeglablist] How to correctly break down AR runica() in case of huge sets.<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>Dear more experienced EEGLabbers and ICA experts,</span><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>supposing one has to work with quite large datsets (several channels, very high sample rate, long record lengths) and would therefore be unable to load in memory several gigs of data altogether:</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>A) Is it methodologically problematic to run independent ICAs on subgroups of trials and then separately perform AR (blinks and scalp detected ECG components rejection) on each of them?</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>B) Assuming it would not be</span><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>, as I tend indeed to think, </span></span><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>a so recommendable way, is there a methodologically proof way to combine all the obtained - and presumably heterogeneous - sphere, weights and weights(-1) matrices in 3 single Sph, W, and W(-1) </span><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>matrices and then use these new to backproject after component rejection?</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>C) More precisely, let's suppose we have 700 trials and we run 7 independent ICAs each time on 100 of them. </span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>a) I would proceed in picking-up separately (subjective criteria, adjust, faster or whatever one may prefer) the to-be-rejected components, independently from each subgroup of trials.  </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>b) I would then remove subgroup by subgroup the respective w(-1) columns and EEG.icaact rows according to the discarded components.</span></span><o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>c) I would merge the obtained 7 EEG.icasphere, the 7 EEG.icaweights, and the 7 EEG.icawinv, in 3 single matrices of equal dimensions, averaging through nanmean (given the fact we are likely to pick up a different amount of components from each of the trial subgroups and we would need consistent matrix dimensions).  </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>d) I would finally independently backproject subgroup by subgroup using the same averaged EEG.icawinv and EEG.icasphere and each time the EEG.icaact of the current subgroup of trials.</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>According to my first speculations, following a->b->c->d we should come up with something analogous to the output of a big global ICA.</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>Am I wrong?</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>D) Did someone among you already try to run something like that and is perhaps willing to provide some feedbacks-impressions?</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>Cheers,</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>Mahesh</span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'> </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span class=apple-style-span><span style='font-family:"Verdana","sans-serif"'>  </span></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal align=right style='text-align:right'><span class=apple-style-span><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'>Mahesh M. Casiraghi</span></span><o:p></o:p></p><div><p class=MsoNormal align=right style='text-align:right'><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'>PhD candidate - Cognitive Sciences</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal align=right style='text-align:right'><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'>Roberto Dell'Acqua Lab, University of Padova</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal align=right style='text-align:right'><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'>Pierre Jolicoeur Lab, Univesité de Montréal</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal align=right style='text-align:right'><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'><a href="mailto:mahesh.casiraghi@umontreal.ca" target="_blank">mahesh.casiraghi@umontreal.ca</a></span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black'><o:p></o:p></span></p></div><p class=MsoNormal align=right style='text-align:right'><o:p> </o:p></p><p class=MsoNormal align=right style='text-align:right'><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'>I have the conviction that when Physiology will be far enough advanced, the poet, the philosopher, and the physiologist will all understand each other.</span><o:p></o:p></p><p class=MsoNormal align=right style='text-align:right'><span style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:#999999'>Claude Bernard</span><span style='color:#999999'><o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>