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