MATLAB ICA Toolbox for Psychophysiological Data Analysis
Data manipulation functions:
Change reference from common to average: averef()
Simple block average data epochs: blockave()
Frequency band filter data: eegfilt()
Average data epochs (with windowing options): erpave()
Re-align event-related epochs to given events: eventlock()
Select chans,frames,epochs of concatenated data epochs: matsel()
Perform moving averaging on data: movav()
Change the data sampling rate: resample()
Regress out EEG data artifacts: rmart()
Remove baseline means from data epochs: rmbase()
Time/frequency functions:
Inter-channel coherence averages of single-trial data: crossf()
Compute and view log power spectra of single data epochs: logspec()
Time/frequency (ERSP, ITC) averages of single-trial data: timef()
Data plotting functions:
Plot multiple scalp topographies: compmap()
Make a 2-D scalp field movie: eegmovie()
View continuous data traces: eegplotg(),eegplot()
Display raw or smoothed single data epochs: erpimages(),erpimage()
Plot one (or more) field maps on 3-D head model(s): compheads(),headplot()
Construct a movie of a moving field on a 3-D head model: headmovie()
Plot concatenated multichannel data epochs: plotdata()
Plot a multichannel data epoch on a single axis: ploterp()
Plot concatenated data epochs in topographic arrangement: plottopo()
View a 2-D or 3-D scalp-field movie: eegmovie() -> seemovie()
Plot a data epoch with topoplots at selected time points: timtopo()
Plot images into 2-d topographic order: topoimage()
Plot data scalp topography: topoplot()
ICA functions:
Perform ICA analysis using logistic extended infomax runica()
Fast, compact Matlab MEX-file implementation of runica() mexica()
Fastest, most compact: system-call of binary runica() binica()
Perform ICA analysis using 4th-order cumulants (JADE, Cardoso) jader()
Test ICA algorithm accuracy, varying data parameters: testica()
Component plotting functions:
Plot the decomposition of a single channel: plotproj() -> chanproj()
Plot a projected component (time course plus topo map): compplot()
Plot data and component envelopes: envproj()
Plot data, component envelopes, and component scalp maps: envtopo()
Plot the decomposition of a data epoch: plotproj()
Plot an data epoch decomposition in 2-d topographic order: projtopo()
Plot selected time periods of component activations: tree()
Plotting helper functions:
Make plot axes pop up into zoomable windows on mouse click axcopy()
Find abs peak frames and amplitudes: abspeak()
Plot custom colorbar cbar()
Convert Cartesian (x,y,z) channel locs to topoplot() format: cart2topo()
Convert 2-D headplot() channel locs to 2-D topoplot() format: sph2topo()
Convert 2-D topoplot() channel locs to 3-D headplot() format: topo2sph()
PCA-based functions:
Perform principal component analysis (PCA) via SVD pcasvd(), mypca()
Project data into a principal subspace: pcsquash()->expproj()-> pcexpand()
Perform nonlinear (post-PCA) rotations: varimax(), qrtimax(), promax()
Component manipulation functions:
Sort components by max projected latency and variance: compsort()
Compute component activations: icaact()
Compute component projections: icaproj()
Compute component variances on scalp: icavar()
Compare component weight matrices: matcorr()
Permute a weight matrix to match another: matcorr() -> matperm()
Make activations all rms-positive: posact()
Sort components by mean projected variance only: varsort()
Partial toolbox demo: icademo()
More Info:
ICA/CNL Bibliography
ICA@CNL Homepage
ICA/EEG FAQ
ICA/EEG Q&A
ICA/fMRI Q&A
Comments?
scott@salk.edu