Note that this reference documentation is identical to the help that is displayed in Matlab when you type “help ft_sourceanalysis”.
FT_SOURCEANALYSIS performs beamformer dipole analysis on EEG or MEG data after preprocessing and a timelocked or frequency analysis Use as either [source] = ft_sourceanalysis(cfg, freq) [source] = ft_sourceanalysis(cfg, timelock) where the data in freq or timelock should be organised in a structure as obtained from the FT_FREQANALYSIS or FT_TIMELOCKANALYSIS function. The configuration "cfg" is a structure containing information about source positions and other options. The different source reconstruction algorithms that are implemented are cfg.method = 'lcmv' linear constrained minimum variance beamformer 'sam' synthetic aperture magnetometry 'dics' dynamic imaging of coherent sources 'pcc' partial cannonical correlation/coherence 'mne' minimum norm estimation 'loreta' minimum norm estimation with smoothness constraint 'rv' scan residual variance with single dipole 'music' multiple signal classification 'mvl' multivariate Laplace source localization The DICS and PCC methods are for frequency domain data, all other methods are for time domain data. The positions of the sources can be specified as a regular 3-D grid that is aligned with the axes of the head coordinate system cfg.grid.xgrid = vector (e.g. -20:1:20) or 'auto' (default = 'auto') cfg.grid.ygrid = vector (e.g. -20:1:20) or 'auto' (default = 'auto') cfg.grid.zgrid = vector (e.g. 0:1:20) or 'auto' (default = 'auto') cfg.grid.resolution = number (e.g. 1 cm) for automatic grid generation Alternatively the position of a few sources at locations of interest can be specified, for example obtained from an anatomical or functional MRI cfg.grid.pos = Nx3 matrix with position of each source cfg.grid.dim = [Nx Ny Nz] vector with dimensions in case of 3-D grid (optional) cfg.grid.inside = vector with indices of the sources inside the brain (optional) cfg.grid.outside = vector with indices of the sources outside the brain (optional) You can also use the FT_PREPARE_LEADFIELD function to create a grid with dipole positions and with precomputed leadfields. The following strategies are supported to obtain statistics for the source parameters using multiple trials in the data, either directly or through a resampling-based approach cfg.singletrial = 'no' or 'yes' construct filter from average, apply to single trials cfg.rawtrial = 'no' or 'yes' construct filter from single trials, apply to single trials cfg.jackknife = 'no' or 'yes' jackknife resampling of trials cfg.pseudovalue = 'no' or 'yes' pseudovalue resampling of trials cfg.bootstrap = 'no' or 'yes' bootstrap resampling of trials cfg.numbootstrap = number of bootstrap replications (e.g. number of original trials) If none of these options is specified, the average over the trials will be computed prior to computing the source reconstruction. To obtain statistics over the source parameters between two conditions, you can also use a resampling procedure that reshuffles the trials over both conditions. In that case, you should call the function with two datasets containing single trial data like [source] = ft_sourceanalysis(cfg, freqA, freqB) [source] = ft_sourceanalysis(cfg, timelockA, timelockB) and you should specify cfg.randomization = 'no' or 'yes' cfg.permutation = 'no' or 'yes' cfg.numrandomization = number, e.g. 500 cfg.numpermutation = number, e.g. 500 or 'all' You should specify the volume conductor model, see FT_FETCH_VOL. If the sensor information is obtained using FT_FETCH_SENS. If you have not specified a grid with pre-computed leadfields, the leadfield for each grid location will be computed on the fly. In that case you can modify the leadfields by reducing the rank (i.e. remove the weakest orientation), or by normalizing each column. cfg.reducerank = 'no', or number (default = 3 for EEG, 2 for MEG) cfg.normalize = 'no' or 'yes' (default = 'no') Other configuration options are cfg.channel = Nx1 cell-array with selection of channels (default = 'all'), see FT_CHANNELSELECTION for details cfg.frequency = single number (in Hz) cfg.latency = single number in seconds, for time-frequency analysis cfg.lambda = number or empty for automatic default cfg.refchan = reference channel label (for coherence) cfg.refdip = reference dipole location (for coherence) cfg.supchan = suppressed channel label(s) cfg.supdip = suppressed dipole location(s) cfg.keeptrials = 'no' or 'yes' cfg.keepleadfield = 'no' or 'yes' cfg.projectnoise = 'no' or 'yes' cfg.keepfilter = 'no' or 'yes' cfg.keepcsd = 'no' or 'yes' cfg.keepmom = 'no' or 'yes' cfg.feedback = 'no', 'text', 'textbar', 'gui' (default = 'text') To facilitate data-handling and distributed computing with the peer-to-peer module, this function has the following options: cfg.inputfile = ... cfg.outputfile = ... If you specify one of these (or both) the input data will be read from a *.mat file on disk and/or the output data will be written to a *.mat file. These mat files should contain only a single variable, corresponding with the input/output structure. See also FT_SOURCEDESCRIPTIVES, FT_SOURCESTATISTICS, FT_PREPARE_LEADFIELD
Share this page: