FT_VOLUMESEGMENT
Note that this reference documentation is identical to the help that is displayed in MATLAB when you type “help ft_volumesegment”.
FT_VOLUMESEGMENT segments an anatomical MRI. The behaviour depends on the output requested. It can return probabilistic tissue maps of gray/white/csf compartments, a skull-stripped anatomy, or binary masks representing the brain surface, skull, or scalp surface. Use as segmented = ft_volumesegment(cfg, mri) where the input mri should be a single anatomical volume that was for example read with FT_READ_MRI. For the purpose of creating binary masks of the brain or of the skull, you can also provide either the anatomical volume or the already segmented volume (with the probabilistic tissue maps) as input. The configuration structure can contain cfg.output = string or cell-array of strings, see below (default = 'tpm') cfg.spmversion = string, 'spm2', 'spm8', 'spm12' (default = 'spm12') cfg.spmmethod = string, 'old', 'new', 'mars' (default = 'old'). This pertains to the algorithm used when cfg.spmversion='spm12', see below. cfg.opts = struct, containing spm-version specific options. See the code and/or the SPM-documentation for more detail. cfg.template = filename of the template anatomical MRI (default = '/spm2/templates/T1.mnc' or '/spm8/templates/T1.nii') cfg.tpm = cell-array containing the filenames of the tissue probability maps cfg.name = string for output filename cfg.write = 'no' or 'yes' (default = 'no'), writes the probabilistic tissue maps to SPM compatible analyze (spm2), or nifti (spm8/spm12) files, with the suffix (spm2) _seg1, for the gray matter segmentation _seg2, for the white matter segmentation _seg3, for the csf segmentation or with the prefix (spm8, and spm12 with spmmethod='old') c1, for the gray matter segmentation c2, for the white matter segmentation c3, for the csf segmentation when using spm12 with spmmethod='new' there'll be 3 additional tissue types c4, for the bone segmentation c5, for the soft tissue segmentation c6, for the air segmentation when using spm12 with spmmethod='mars' the tpms will be postprocessed with the mars toolbox, yielding smoother% segmentations in general. cfg.brainsmooth = 'no', or scalar, the FWHM of the gaussian kernel in voxels, (default = 5) cfg.scalpsmooth = 'no', or scalar, the FWHM of the gaussian kernel in voxels, (default = 5) cfg.skullsmooth = 'no', or scalar, the FWHM of the gaussian kernel in voxels, (default = 5) this parameter is only used when the segmentation contains 6 tisuse types, including 'bone' cfg.brainthreshold = 'no', or scalar, relative threshold value which is used to threshold the tpm in order to create a volumetric brainmask (see below), (default = 0.5) cfg.scalpthreshold = 'no', or scalar, relative threshold value which is used to threshold the anatomical data in order to create a volumetric scalpmask (see below), (default = 0.1) cfg.skullthreshold = 'no', or scalar, relative threshold value which is used to threshold the anatomical data in order to create a volumetric scalpmask (see below), (default = 0.5). this parameter is only used when the segmetnation contains 6 tissue types, including 'bone', cfg.downsample = integer, amount of downsampling before segmentation (default = 1; i.e., no downsampling) The desired segmentation output is specified with cfg.output as a string or cell-array of strings and can contain 'tpm' - tissue probability map for csf, white and gray matter 'brain' - binary representation of the brain (including csf, white and gray matter) 'skull' - binary representation of the skull 'scalp' - binary representation of the scalp 'skullstrip' - anatomy with only the brain Example use: cfg = []; segmented = ft_volumesegment(cfg, mri) will segmented the anatomy and will output the segmentation result as 3 probabilistic masks in segmented.gray, white and csf. cfg.output = 'skullstrip'; segmented = ft_volumesegment(cfg, mri) will generate a skull-stripped anatomy based on a brainmask generated from the probabilistic tissue maps. The skull-stripped anatomy is stored in the field segmented.anatomy. cfg.output = {'brain' 'scalp' 'skull'}; segmented = ft_volumesegment(cfg, mri) will produce a volume with 3 binary masks, representing the brain surface, scalp surface, and skull which do not overlap. cfg.output = {'scalp'}; segmented = ft_volumesegment(cfg, mri) will produce a volume with a binary mask (based on the anatomy), representing the border of the scalp surface (i.e., everything inside the surface is also included). Such representation of the scalp is produced faster, because it doesn't require to create the tissue probabilty maps before creating the mask. It is not possible to request tissue-probability map (tpm) in combination with binary masks (brain, scalp or skull) or skull-stripped anatomy. The output will return only the probabilistic maps in segmented.gray, white and csf. However, when a segmentation with the probabilistic gray, white and csf representations is available, it is possible to use it as input for brain or skull binary mask. For example: cfg = []; cfg.output = {'tpm'}; segment_tpm = ft_volumesegment(cfg, mri); cfg.output = {'brain'}; segment_brain = ft_volumesegment(cfg, segment_tpm); For the SPM-based segmentation to work, the coordinate frame of the input MRI needs to be approximately coregistered to the templates of the probabilistic tissue maps. The templates are defined in SPM/MNI-space. FieldTrip attempts to do an automatic alignment based on the coordsys-field in the mri, and if this is not present, based on the coordsys-field in the cfg. If none of them is specified the FT_DETERMINE_COORDSYS function is used to interactively assess the coordinate system in which the MRI is expressed. The template mri is defined in SPM/MNI-coordinates: x-axis pointing to the right ear y-axis along the acpc-line z-axis pointing to the top of the head origin in the anterior commissure. Note that the segmentation only works if the template MRI is in SPM coordinates. If the input mri is a string pointing to a CTF *.mri file, the x-axis is assumed to point to the nose, and the origin is assumed to be on the interauricular line. In this specific case, when ft_read_mri is used to read in the mri, the coordsys field is automatically attached. To facilitate data-handling and distributed computing you can use 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_READ_MRI, FT_DETERMINE_COORDSYS, FT_PREPARE_HEADMODEL