FAST - FMRIB's Automated Segmentation Tool

FAST v4.1 - User Guide

This version now replaces both FAST v4.0 and FAST v3; it is the only version of FAST in FSL. Hence, for example, SIENA has now been changed from using FAST3 to FAST4. The v3 multi-channel segmentation program mfast has also been removed; this functionality is now an option within the main fast program. See the conversion table below to see how fast4 and fast3 options are related.

INTRODUCTION

FAST (FMRIB's Automated Segmentation Tool) segments a 3D image of the brain into different tissue types (Grey Matter, White Matter, CSF, etc.), whilst also correcting for spatial intensity variations (also known as bias field or RF inhomogeneities). The underlying method is based on a hidden Markov random field model and an associated Expectation-Maximization algorithm. The whole process is fully automated and can also produce a bias field-corrected input image and a probabilistic and/or partial volume tissue segmentation. It is robust and reliable, compared to most finite mixture model-based methods, which are sensitive to noise.

For more detail on FAST and an updated journal reference, see the FAST research web page. If you use FAST in your research, please quote the journal reference listed there.

The different FAST programs are:


PREPROCESSING

Before running FAST an image of a head should first be brain-extracted, using BET. The resulting brain-only image can then be fed into FAST.


Fast GUI

MAIN OPTIONS

If there is only one input image (i.e., you are not carrying out multi-channel segmentation) then leave the Number of input channels at 1. Otherwise, set appropriately.

Now select the Input image(s).

Now set the Image type. This aids the segmentation in identifying which classes are which tissue type. Note that this option is not used for multi-channel segmentation.

Now select the Output image(s) basename. Output images will have filenames derived from this basename. For example, the main ouput, the Binary segmentation: All classes in one image will have filename <basename>_seg.hdr . If multi-channel segmentation is carried out, some of the optional outputs will have basenames derived instead from the input names (but into the directory of the outputbasename). For example, the main segmentation output will be as described above, but the restored images (one for each input image) will be named according to the input images.

Now choose the Number of classes to be segmented. Normally you will want 3 (Grey Matter, White Matter and CSF). However, if there is very poor grey/white contrast you may want to reduce this to 2; alternatively, if there are strong lesions showing up as a fourth class, you may want to increase this. Also, if you are segmenting T2-weighted images, you may need to select 4 classes so that dark non-brain matter is processed correctly (this is not a problem with T1-weighted as CSF and dark non-brain matter look similar).

The various output images are:

ADVANCED OPTIONS

Bias field iterations determines the number of passes made during the initial bias field estimation stage. A greater number of iterations can help esitmate particularly strong bias fields.

Bias field smoothing controls the amount of smoothness expected in the estimated bias field. The value entered is the Full-Width Half-Maximum (FWHM) in mm. A larger value here will impose more smoothness on the estimated bias field.

Use a-priori probability maps tells FAST to start by registering the input image to standard space and then use standard tissue-type probability maps (from the MNI152 dataset) instead of the initial K-means segmentation, in order to estimate the initial parameters of the classes. This can help in cases where there is very bad bias field. By default the a-priori probability maps are only used to initialise the segmentation; however, you can also optionally tell FAST to use these priors in the final segmentation - this can help, for example, with the segmentation of deep grey structures.

Use file of initial tissue-type means tells FAST to use a text file with mean intensity values (separated by newlines) for the starting mean values of the different classes to be segmented. This is then used instead of the automated K-means starting parameter estimation.


fast COMMAND-LINE PROGRAM

Type fast to get usage. This is used for both single-channel and multi-channel segmentation program.
fast [options] file(s)

Main inputs/options:
 file(s) image, or multi-channel set of images, to be segmented
-S <n> or --channels=<n>number of image channels
-t <n> or --type=<n>type of image (n=1 for T1, n=2 for T2, n=3 for PD)
-o <base> or --out=<base>basename for outputs
-n <n> or --class=<n> number of tissue-type classes
-Boutput estimated bias field
-boutput restored image (bias-corrected image)
Advanced options:
-H <v> or --Hyper=<v> MRF beta value for main segmentation phase (increasing this gives spatially smoother segmentations)
-R <v> or --mixel=<v> MRF beta value for mixeltype (increasing this gives spatially smoother mixeltypes and hence PVEs - NB: mixeltype is the classification of what tissue-types are non-zero in a voxel)
-a <standard2input.mat> use prior probability maps for initialisation (must specify FLIRT transform to standard space)
-P <file> or --Prioruse prior probability maps at all segmentation stages
-s <file> or --manualseg=<file>file specifying initial tissue-type means


TISSUE VOLUME QUANTIFICATION

Estimating the tissue volume for a given class can be done using FAST and we recommend using the partial volume estimates for the most accurate quantification. The actual volume of tissue can be calculated easily from the corresponding partial volume map by summing up all the values. This can be done using fslstats and then multiplying the mean value by the volume (in voxels).

For example, for an image called structural_bet that fast was run on, the tissue volume of tissue class 1 can be found by running the following:
   vol=`$FSLDIR/bin/fslstats structural_bet_pve_1 -V | awk '{print $1}'`
   mean=`$FSLDIR/bin/fslstats structural_bet_pve_1 -M`
   tissuevol=`echo "$mean * $vol" | bc -l`
   echo $tissuevol
This prints the total tissue volume in voxels (which is also stored in the variable tissuevol). Note that to get the volume in mm3 just replace the {print $1} with {print $2} in the first line above.
Alternatively, this can be done in the single line:
   fslstats structural_bet_pve_1 -M -V | awk '{ print $1 * $3 }'


Conversion table for fast3 and fast4 options

The following table gives equivalent options for fast3 (and mfast) and fast4:
Fast3 Fast4 Description
-t<n> -t <n> or --type=<n> Type of image (e.g. T1, T2, PD) - Note space in fast4 version e.g. t 2  not  t2
-c <n> -n <n> or --class=<n> Number of tissue-type classes to estimate
-od <base> -o <base> or --out=<base> Basename for all output files
-os -g or --segments Output separate image for each (hard) segmentation class
-op -p Output one probability map (of hard seg) per class
-or -B Output bias corrected (restored) image
no equivalent -b Output estimated bias field
-ob no equivalent Output bias field correction image (reciprocal of the estimated bias field)
-n no equivalent Suppress segmentation outputs
-m <file> -s <file> or --manualseg=<file> Input file with manual starting values for class intensities
-2 no equivalent 2D segmentation mode (for 3D images)
-i <n> -O <n> or --fixed=<n> Number of main-loop iterations
-l <n> -l <m> or --lowpass=<m> Bias field smoothing : n is iterations, m is FWHM in mm - rough guide is m ≅ 2 √n
-p no equivalent Disable automatic parameter updating
-b <v> -H <v> or --Hyper=<v> Main MRF beta value (initial segmentation calculation)
-oba <n> no equivalent Output dialted bias correction field (extra n iterations of smoothing)
-e default Enable partial volume classification
default --nopve Do not do partial volume classification
-ov default Output partial volume (PVE) images (one per class)
--b <v> -R <v> or --mixel=<v> MRF beta value for PVE classification (fast3) or mixeltype in PVE classification (fast4)
  - these are related but not exactly equivalent
--p no equivalent Disable parameter updating during PVE classification
-v<n> -v or --verbose Turn on verbose/diagnostic output (fast3 has 6 levels, fast4 is binary)
-a -a <standard2input.mat> Use prior probability maps for initialisation
  (fast4 requires a FLIRT matrix whereas fast3 requires extra argument -ap)
-ap <prefix> no equivalent path and filename prefix for where to find pre-registered prior probability maps
  (fast4 requires transformation matrix with -a instead)
-A -P or --Prior Use prior probability maps throughout calculations
  (must be used with -Ap for fast3 or -a for fast4)
-Ap <prefix> no equivalent Path and filename prefix for where to find pre-registered prior probability maps
nearly equivalent to
  -ap or -Ap
-A <prior1> <prior2> <prior3> Path/filenames for alternative prior images
no equivalent -I <n> or --iter=<n> Loop iterations during initial bias-field removal phase
no equivalent -f <v> or --fHard=<v> MRF beta value during initial bias-field removal phase
no equivalent -W <n> or --init=<n> Number of segmentation-initialisation iterations
no equivalent -N or --nobias Do not remove bias field
     
Mfast Fast4  
-s <n> -S <n> or --channels=<n> Number of input channels (images)