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