<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Bug in pop_runica.m... fastica() called with
out-of-order</title></head><body>
<div><font face="Helvetica" color="#000000">Hi,<br>
<br>
(I sent this msg about two weeks ago, but it never showed up on the
list)<br>
<br>
I was trying to use the fastica algorithm via pop_runica.m within
EEGLAB. I was getting horrible results on my decompositions. Looking
at the code in pop_runica.m, I noticed that the order of the result
arguments to fastica on line 512 was inconsistent with the documented
order of arguments in fastica.<br>
<br>
Specifically, the fastica function expects to return [icasig,A,W] as
the components, mixing, and unmixing matrices, respectively. However,
the call used in pop_runica.m is:<br>
    [ ICAComp, EEG.icaweights, EEG.icawinv ] =
fastica(...)<br>
which seems to be backwards.<br>
<br>
If I swap the last two result args:<br>
   [ ICAComp, EEG.icawinv, EEG.icaweights ] =
fastica(...)<br>
then fastica gives the correct results when executed via
pop_runica.m<br>
<br>
Please fix this bug in EEGLAB. I believe it may give a distorted
impression of the suitability of fastica. Effectively, fastica is
unusable via pop_runica.m in the current EEGLAB implemenetation. Note
that ICAComp is ignored in pop_runica; the components are computed in
pop_runica.m from the unmixing matrix.<br>
<br>
thanks for your attention,<br>
<br>
dan keith<br>
Neuroinformatics Center<br>
University of Oregon</font><br>
<font face="Helvetica" color="#000000"></font></div>
<x-sigsep><pre>-- 
</pre></x-sigsep>
<div>Dan "Bud" Keith - dkeith@cs.uoregon.edu</div>
</body>
</html>