flirt Command-line Program and Utilities


INTRODUCTION

This document gives a brief description of flirt and the various command-line programs available in the FLIRT component of FSL. A description of the available GUI interfaces is also available.

For each of the programs described here, a usage message which describes the full list of available options can be obtained by running the program with no options.

See also the list of common example usages.


flirt

flirt is the main program that performs affine registration. The main options are: an input (-in) and a reference (-ref) volume; the calculated affine transformation that registers the input to the reference which is saved as a 4x4 affine matrix (-omat); and output volume (-out) where the transform is applied to the input volume to align it with the reference volume.

In addition, FLIRT can also be used to apply a saved transformation to a volume (-applyxfm, -init and -out). For this usage the reference volume must still be specified as this sets the voxel and image dimensions of the resulting volume.

Features:

Cost Function Weighting
Weighting volumes can be specified using -refweight, -inweight (or both). This allows the cost function to have a different weighting at each voxel, which is useful for excluding areas (weight=0) of no interest, or increasing the weighting around important structures such as the ventricles. Note that this is different from masking the original images, as masking introduces artificial boundaries whereas weighting does not.
Degrees of Freedom
Choose from 6,7,9 or 12 Degrees of Freedom (DOF) for full 3D registrations. Also includes a 3DOF 2D-to-2D registration mode which is selected using the -2D option. Note that it does not perform any search in 2D mode, and cannot deal with 2D to 3D registrations. More flexible DOF options are provided by the specific schedule files provided in $FSLDIR/etc/flirtsch.
Interpolation Methods
This includes Nearest Neighbour and a family of Sinc-based methods (three window types - rectangular, Hanning and Blackman) with configurable window width. The interpolation is only used for the final transformation (and in applyxfm), not in the registration calculations.
Cost Functions
This includes the within-modality functions Least Squares and Normalised Correlation, as well as the between-modality functions Correlation Ratio (the default), Mutual Information and Normalised Mutual Information.

convert_xfm

convert_xfm is a utility that is used to convert between different transformation file formats. It can read and write ascii 4x4 matrices (and MEDx transforms). In addition, it can be used to concatenate two transforms (using -concat with the second transform) or to find the inverse transformation (using -inverse).

As MEDx transformations require voxel dimensions, the input and reference volume corresponding to the transformation must be specified when using this command. However, if only ascii files are used no volumes need to be specified (as in the example usage).


img2imgcoord

img2imgcoord is a utility that calculates the corresponding coordinate positions (in voxels or mm) within a destination volume given the original coordinates in the source volume and the transformation from the source to the destination volume. This is useful for finding corresponding anatomical/functional locations. Note that the source coordinates need to be stored in a file as three numbers per line, space separated.

img2talcoord

img2talcoord is a similar utility to img2imgcoord except that the destination volume coordinates are treated as Talairach space coordinates. This requires the Talairach volume to have the origin coordinates and voxel dimensions entered in the correct analyse header fields. (Note that this has only been tested with the standard images contained in fsl/etc/standard - there is no guarantee with other images, as the origin is not a standard analyse header field)

tal2imgcoord

tal2imgcoord is the complementary utility to img2talcoord. It works the same way but transfers coordinates from Talairach space to the other image (IMG) space.

applyxfm4d

applyxfm4D is a utility that transforms a 4D time series by applying known affine transformations to them. It can be used with a single transformation applied to all, or using a directory of transformation files in the form MAT_XXXX (where XXXX stands for the volume number, starting with 0000). Note that it always uses trilinear interpolation, while appropriate options (-applyxfm and -init) to FLIRT can be used to apply transformations to single volumes with other interpolation methods. A reference volume is required in order to determine the matrix size and FOV for the final volume. If the required matrices do not start with MAT_ a different prefix can be specified with the -userprefix option.

rmsdiff

rmsdiff is a utility that calculates the Root Mean Square deviation (in millimetres) between two transformations. That is, it compares two transformations (normally two possible registrations of the same volume pair) to see how much they differ. This is useful to compare alternative registrations. It calculates the average using an analytic formula applied over an 80mm sphere with the origin at the centre of the image (for which it requires the input image to be specified). Note that this cannot be used with MEDx transformations.

avscale

avscale is a utility that displays the decomposed elements of an affine matrix. It displays the rotation/translation matrix, the individual axis scalings, the individual skews, the average scaling, and the forward and backward halfway transformations. In order to set the centre of rotation it requires the input volume (also called the reslice volume).

Mark Jenkinson

Copyright © 2000-2003, University of Oxford