Note that this reference documentation is identical to the help that is displayed in Matlab when you type “help ft_sourceplot”.
FT_SOURCEPLOT plots functional source reconstruction data on slices or on a
surface, optionally as an overlay on anatomical MRI data, where
statistical data can be used to determine the opacity of the mask.
Input data comes from FT_SOURCEANALYSIS, FT_SOURCEGRANDAVERAGE or
statistical values from FT_SOURCESTATISTICS.
Use as:
ft_sourceplot(cfg, data)
The data can contain functional data, anatomical MRI data and statistical data,
interpolated onto the same grid.
The configuration should contain:
cfg.method = 'slice', plots the data on a number of slices in the same plane
'ortho', plots the data on three orthogonal slices
'surface', plots the data on a 3D brain surface
cfg.anaparameter = string, field in data with the anatomical data (default = 'anatomy' if present in data)
cfg.funparameter = string, field in data with the functional parameter of interest (default = [])
cfg.maskparameter = string, field in the data to be used for opacity masking of fun data (default = [])
If values are between 0 and 1, zero is fully transparant and one is fully opaque.
If values in the field are not between 0 and 1 they will be scaled depending on the values
of cfg.opacitymap and cfg.opacitylim (see below)
You can use masking in several ways, f.i.
- use outcome of statistics to show only the significant values and mask the insignificant
NB see also cfg.opacitymap and cfg.opacitylim below
- use the functional data itself as mask, the highest value (and/or lowest when negative)
will be opaque and the value closest to zero transparent
- Make your own field in the data with values between 0 and 1 to control opacity directly
The following parameters can be used in all methods:
cfg.downsample = downsampling for resolution reduction, integer value (default = 1) (orig: from surface)
cfg.atlas = string, filename of atlas to use (default = []) SEE FT_PREPARE_ATLAS
for ROI masking (see "masking" below) or in interactive mode (see "ortho-plotting" below)
cfg.inputcoord = 'mni' or 'tal', coordinate system of data used to lookup the label from the atlas
The following parameters can be used for the functional data:
cfg.funcolormap = colormap for functional data, see COLORMAP (default = 'auto')
'auto', depends structure funparameter, or on funcolorlim
- funparameter: only positive values, or funcolorlim:'zeromax' -> 'hot'
- funparameter: only negative values, or funcolorlim:'minzero' -> 'cool'
- funparameter: both pos and neg values, or funcolorlim:'maxabs' -> 'jet'
- funcolorlim: [min max] if min & max pos-> 'hot', neg-> 'cool', both-> 'jet'
cfg.funcolorlim = color range of the functional data (default = 'auto')
[min max]
'maxabs', from -max(abs(funparameter)) to +max(abs(funparameter))
'zeromax', from 0 to max(abs(funparameter))
'minzero', from min(abs(funparameter)) to 0
'auto', if funparameter values are all positive: 'zeromax',
all negative: 'minzero', both possitive and negative: 'maxabs'
cfg.colorbar = 'yes' or 'no' (default = 'yes')
The following parameters can be used for the masking data:
cfg.opacitymap = opacitymap for mask data, see ALPHAMAP (default = 'auto')
'auto', depends structure maskparameter, or on opacitylim
- maskparameter: only positive values, or opacitylim:'zeromax' -> 'rampup'
- maskparameter: only negative values, or opacitylim:'minzero' -> 'rampdown'
- maskparameter: both pos and neg values, or opacitylim:'maxabs' -> 'vdown'
- opacitylim: [min max] if min & max pos-> 'rampup', neg-> 'rampdown', both-> 'vdown'
- NB. to use p-values use 'rampdown' to get lowest p-values opaque and highest transparent
cfg.opacitylim = range of mask values to which opacitymap is scaled (default = 'auto')
[min max]
'maxabs', from -max(abs(maskparameter)) to +max(abs(maskparameter))
'zeromax', from 0 to max(abs(maskparameter))
'minzero', from min(abs(maskparameter)) to 0
'auto', if maskparameter values are all positive: 'zeromax',
all negative: 'minzero', both possitive and negative: 'maxabs'
cfg.roi = string or cell of strings, region(s) of interest from anatomical atlas (see cfg.atlas above)
everything is masked except for ROI
The folowing parameters apply for ortho-plotting
cfg.location = location of cut, (default = 'auto')
'auto', 'center' if only anatomy, 'max' if functional data
'min' and 'max' position of min/max funparameter
'center' of the brain
[x y z], coordinates in voxels or head, see cfg.locationcoordinates
cfg.locationcoordinates = coordinate system used in cfg.location, 'head' or 'voxel' (default = 'head')
'head', headcoordinates from anatomical MRI
'voxel', voxelcoordinates
cfg.crosshair = 'yes' or 'no' (default = 'yes')
cfg.axis = 'on' or 'off' (default = 'on')
cfg.interactive = 'yes' or 'no' (default = 'no')
in interactive mode cursor click determines location of cut
cfg.queryrange = number, in atlas voxels (default 3)
The folowing parameters apply for slice-plotting
cfg.nslices = number of slices, (default = 20)
cfg.slicerange = range of slices in data, (default = 'auto')
'auto', full range of data
[min max], coordinates of first and last slice in voxels
cfg.slicedim = dimension to slice 1 (x-axis) 2(y-axis) 3(z-axis) (default = 3)
cfg.title = string, title of the figure window
The folowing parameters apply for surface-plotting
cfg.surffile = string, file that contains the surface (default = 'single_subj_T1.mat')
'single_subj_T1.mat' contains a triangulation that corresponds with the
SPM anatomical template in MNI coordinates
cfg.surfinflated = string, file that contains the inflated surface (default = [])
cfg.surfdownsample = number (default = 1, i.e. no downsampling)
cfg.projmethod = projection method, how functional volume data is projected onto surface
'nearest', 'sphere_avg', 'sphere_weighteddistance'
cfg.sphereradius = maximum distance from each voxel to the surface to be
included in the sphere projection methods, expressed in mm
cfg.distmat = precomputed distance matrix (default = [])
cfg.camlight = 'yes' or 'no' (default = 'yes')
cfg.renderer = 'painters', 'zbuffer',' opengl' or 'none' (default = 'opengl')
When using opacity the OpenGL renderer is required.
Undocumented local option:
cfg.inputfile = one can specifiy preanalysed saved data as input