Gianni - <div><br></div><div>Currently, I believe, the only tools to run ICA in EEGLAB assume the whole data are in memory -- i.e., to decompose large data files you would need to put more memory in a 64-bit machine. </div>
<div><br></div><div>However, there would be no obstacle (except some Matlab programming effort and then the processing time required) to modifying the runica() function to update its weight matrix, in each training loop, on a series of data files read in and processed sequentially. Using memory-mapping might speed the repeated data reads. The data files should be one data set separated into data files to allow each to be read into computer memory. If anyone were interested, the runica() Matlab code is included in EEGLAB... </div>
<div><br></div><div>Or (equivalent, only requiring a simple Matlab script but still less efficient), one could run a few iterations of runica or binica (or AMICA, see below), save the resulting weight matrix and then decompose for the same few iterations a 2nd dataset, starting with the starting weight matrix sphere*weights from the 1st-data decomposition (and 'sphering off''). Running this two-(or more) decomposition loop repeatedly would (eventually) return a single decomposition of the dataset split into two (or more) data files. (Slightly more efficient variations are possible as well).</div>
<div><br></div><div>Jason Palmer's AMICA (highly recommended when available!) runs on our Opteron cluster at SCCN and distributes data across parallel processing nodes/cores, though it might currently require the 'head' node to load the entire dataset to distribute -- there is also a (slow) Matlab version. Jason is working to release compiled and compilable versions for Windows and Linux. </div>
<div><br></div><div>AMICA also allows the option to decompose one dataset into more than one ICA model (each model specializing in a competition-selected subset of the data). This adds complexity, but allows models to possibly specialize -- e,.g., separating seizure vs. non-seizure, wake vs. sleep, tasks 1 & 3 vs tasks 2 & 4, or etc. We are exploring its uses now; Ozgur Balkan is building a plug-in toolbox to evaluate and visualize its results.</div>
<div><br></div><div>I hope the thoughts above may be useful to you and/or others.</div><div><br></div><div>Scott Makeig</div><meta charset="utf-8"><div><br><div class="gmail_quote">On Mon, Apr 4, 2011 at 5:50 AM, Mauro Gianni Perrucci <span dir="ltr"><<a href="mailto:gianni.perrucci@gmail.com">gianni.perrucci@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I would like to analyze a data set of eeg data using ICA,<br>
but the data sets is very large, about 2 hours of acquisition.<br>
Can be applied ICA on a portion of the data (i.e. 20min with<br>
Fc=512Hz), calculate the mixing matrix and then use that on the full<br>
data set?<br>
How can I do with eeglab ?<br>
Greetings<br>
<br>
Gianni Perrucci<br>
_______________________________________________<br>
Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" target="_blank">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br>
To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu">eeglablist-unsubscribe@sccn.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.edu</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Scott Makeig, Research Scientist and Director, Swartz Center for Computational Neuroscience, Institute for Neural Computation & Adj. Prof. of Neurosciences, University of California San Diego, La Jolla CA 92093-0559, <a href="http://sccn.ucsd.edu/~scott" target="_blank">http://sccn.ucsd.edu/~scott</a><br>
</div>