[Eeglablist] Bug in pop_runica.m... fastica() called with out-of-order args

Dan Keith dkeith at cs.uoregon.edu
Thu Nov 3 13:46:44 PST 2005


(I sent this msg about two weeks ago, but it never showed up on the list)

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.

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:
     [ ICAComp, EEG.icaweights, EEG.icawinv ] = fastica(...)
which seems to be backwards.

If I swap the last two result args:
    [ ICAComp, EEG.icawinv, EEG.icaweights ] = fastica(...)
then fastica gives the correct results when executed via pop_runica.m

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.

thanks for your attention,

dan keith
Neuroinformatics Center
University of Oregon

Dan "Bud" Keith - dkeith at cs.uoregon.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20051103/95c668a5/attachment.htm

More information about the eeglablist mailing list