[Eeglablist] PCA topo plots with EEGLAB
Scott Makeig
smakeig at ucsd.edu
Wed May 4 10:54:01 PDT 2005
Brian -
ICA unmixing in EEGLAB can easily be replaced by PCA or, more typically,
PCA-based decompositions, as follows:
EEG.data = data; % 2-D or 3-D array
EEG.nbchan = size(EEG.data,1); % multiplexed by channels
EEG.icaweights = PCA_matrix;
EEG.icasphere = eye(EEG.nbchan); % null entry = identity matrix
Here, the PCA_matrix should be that used to *un*mix the data, e.g. for
PCA, the matrix inverse (inv() or pseduo-inverse, pinv()) of the product
of the eigenvector matrix times the eigenvalue diagonal matrix. The
pseudo-inverse is needed when the number of components retained is less
than the number of data channels (EEG.nbchan). Any kind of linear
transform of the data can be handled by EEGLAB in this way. (Note: As
the product of the icasphere and icaweights matrices is always used in
EEGLAB, you could also reverse the order of matrix assignments above).
Scott Makeig
Brian Roach wrote:
> I am wondering about importing PCA data (from matlab) to EEGLAB so
> that I can use some of its plotting functions. Is there is a format
> template for importing data from a matlab array (if so, could someone
> please send it to me)? If anyone has a better idea about how I should
> do this, please let me know. I am using Jurgen Kayser's matlab code
> for PCA (found here:
> http://psychophysiology.cpmc.columbia.edu/mmedia/mmedia.html).
>
> Thanks for any info and help.
>
> _______________________________________________
> eeglablist mailing list eeglablist at sccn.ucsd.edu
> http://sccn.ucsd.edu/mailman/listinfo/eeglablist
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to
> eeglablist-unsubscribe at sccn.ucsd.edu
More information about the eeglablist
mailing list