Registration: Time Series Optimized Automatic Registration

Jump to: navigation, search

This algorithm allows you to register the individual 3D volumes within a 4D time series to a reference volume. The reference volume is either a particular one of the 3D volumes or an average of all of the 3D volumes.


The Automatic Time Series Registration algorithm is based on MCFLIRT (Motion Correction-FMRIB's Linear Image Registration Tool), a tool developed at the Oxford Centre for Functional Magnetic Resonance Imaging of the Brain at the John Radcliffe Hospital, University of Oxford.

To use this algorithm, first select a 4D time series volume requiring registration. Then select Algorithms > Registration > Time series optimized automatic registration in the MIPAV window. The Time Series Registration dialog box (Figure 1) opens.

Registering volumes

Note that the fields in the dialog box appear in two groups: Input Options, which apply to the 4D time series requiring internal registration, and Output Options, which apply to displays for the transformed 4D series. There are two choices for choosing a reference volume. You either choose a specific volume in the time series by selecting Register to reference volume (1 through the number of volumes in the time series) and typing the number of the volume in the box on the right, or you select Register to average volume, which averages all of the volumes in the reference volume. The algorithm rescales the reference volume so that the voxels are isotropic, that is, have equal x, y, and z dimensions.

If the reference volume exceeds a threshold of 75,000 voxels, the algorithm creates versions of the reference volume that are subsampled first by 2, then by 4, and, finally, by 8. Although three subsamplings are possible, only 2, 1, or 0 subsamplings may occur if the reference volume can be subsampled while it has greater than 75,000 voxels.

The algorithm performs the following cycle with different tolerances used at each level with first the subsampled-by-8 reference volume; then the subsampled-by-4 reference volume; then the subsampled-by-2 reference volume; and, finally, the original reference volume.

For each volume in the time series, the algorithm starts at the reference volume 1 and proceeds to the last volume in the time series. It then starts at the reference volume - 1 and proceeds to the first volume in the time series.

For each volume, the algorithm does the following:

  1. Isotropically rescales the current volume
  2. Subsamples the current volume to the same subsampling level as the reference volume
  3. Creates a cost function with the reference volume and the current volume and uses Powell's algorithm to optimize with the tolerances specific to the subsampling level
  4. Stores the answer as a list of matrices, which it uses for the starting point in the next level of subsampling

To perform the cycle with only unsubsampled images at the expense of speed, make sure to clear Subsample image for speed in the Time Series Registration dialog box.

To speed the registration, select Set final subsample at level 2 to cause the last set in the cycle using full-sized images to be skipped.

Choosing a cost function

The default cost function is normalized cross correlation. However, you can also select correlation ratio, least squares, and normalized mutual information as cost functions.

Normalized cross correlation

Normalized cross correlation is:


where N is the normalized cross correlation and var is the variance.



R = the reference image value - reference image minimum value
I = the input image value - input image minimum value
count = total number of values

For correlation ratio, the algorithm goes over all pixels forming numY, sumY, and sumY2:



iV = indexValue
int = integer part of a number
I = input image value
R = reference image value
minI = minimum input image value
minR = minimum reference image value

The algorithm next calculates the individual variances for each ISO-set weighting them by the number of pixels from the input image that contribute.

Summing from RegistrationTimeSeries11.jpg to RegistrationTimeSeries12.jpg:

The following should be the bth ISO-subset variance:


The algorithm then normalizes the weighting of numY[]:


Next, it calculates the total variance of input image and then normalizes by the following:


For least squares, the algorithm uses the following:



LS = least squares

valueR = reference image[i] - minimum reference image value

valueI = input image[i] - minimum input image value

count = the number of values over which the sum is performed

For normalized mutual information, the algorithm uses the following:



M = normalized mutual information
R = reference image values
I = input image values
q = locations



pjk = (Number of elements for which Valuej < R(q) < Valuej 1 and Valuek < I(q) < Valuek 1)/total number of elements
H(R) = -sum over j of (pjlog(p'j)) where pj = (Number of elements for which Valuej < R(q) <Valuej 1)/total number of elements
H(I) = -sum over k of (pklog(pk)) where pk = (Number of elements for which Valuek < I(q) < Valuek 1)/total number of elements

The normalized mutual information definitions require the specification of a partition of intensities: {Value0,Value1,...,ValueM}.

Completing the dialog box

Unless the algorithm is in the final cycle with full-sized images and you selected Finalize with normalized cross correlation sinc, the input image value is obtained with trilinear interpolation. In that case, windowed sinc interpolation is used to obtain the input image value in a normalized cross-correlation routine.

To show the resulting image, select Display transformed image.

By default, the interpolation used to calculate the transformed image from the array of transformation matrices is trilinear. However, you can select bspline 3rd order, bspline 4th order, cubic lagrangian, quintic lagrangian, heptic lagrangian, or windowed sinc.

If you select graph rotations and translations, MIPAV produces two graphs: the first graph has x, y, and z translations, and the second graph contains x, y, and z rotations.

Image types

The algorithm works on both 4D color and grayscale images.

Special notes



Refer to the following references for more information:

For more information on MCFLIRT, visit the MCFLIRT home page at The main paper is: Jenkinson, M., Bannister, P., Brady, M., and Smith, S., "Improved optimisation for the robust and accurate linear registration and motion correction of brain images," NeuroImage, 17(2): 825-841.

Jenkinson, Mark, and Smith, Stephen, "A global optimisation method for robust affine registration of brain images," Medical Image Analysis, 5(2): 143-156.

Applying the Time Series Optimized Automatic Registration algorithm

To run this algorithm, complete the following steps:

  1. Open an image.
  2. Perform, as an option, any other image processing on the image.
  3. Select Algorithms > Registration > Time Series optimized automatic registration. The Time Series Registration dialog box (Figure 1) opens.
  4. Complete the information in the dialog box.
  5. Click OK.
The algorithm begins to run, and a progress bar appears with the status. When the algorithm finishes running, the progress bar disappears, and the results appear in a new window.
If you selected Display transformed image, the transformed image appears in a new window. If you also selected Graph rotations and translations, a graph of rotations and a graph of translations appear.

Figure 1. The Time Series Registration dialog box

Degrees of freedom
Specifies the spatial model used to restrict the type of linear transformation being applied during registration. Select one of the following: rigid-6, global rescale-7, specific rescale-9, and affine-12.
Select interpolation if isotropic resampling is needed. Select one of the following: trilinear (default choice), bspline 3rd order, bspline 4th order, cubic lagrangian, quintic lagrangian, heptic lagrangian, and windowed sinc.
Cost function
Specifies a function that measures the deviation of output from input. Select one of the following: correlation ratio, least squares, normlized cross correlation, and normalized mutual information.
Finalize with normalized cross correlation sinc
Obtains the input image value for full-sized images by performing, as the last step of registration, a normalized cross correlation cost function, which uses windowed sinc interpolation. The default is not selected.
Subsample image for speed
Subsamples first by 8 times, then by 4 times, then 2 times, and, finally, by an unsampled image if the image is large enough. If not selected, all steps of the algorithm use full-size images. The default is selected.
Set final subsample at Level 2 (speeds registration)
Skips the last step in the algorithm that uses full-size images. The default is not selected.
Register to reference volume (1-number of volumes in times series)
Registers the volume to be registered, or adjusted volume, to the reference volume you specify. For example, typing the number 22 in the text box on the right indicates that the adjusted volume should be registered to volume 22 of the reference volume.
Register to average volume
Registers all volumes in the time series to the average of all of the volumes.
Display transformed image
Shows the resulting image of the registered volumes.
Calculates the output image from the array of transformation matrices and input image. You can select trilinear, bspline 3rd order, bspline 4th order, cubic lagrangian, quintic lagrangian, helptic lagrangian, or windowed sinc. The default choice is trilinear.
Graph rotations and translations
Produces two graphs: one graph includes the x, y, and z translations and the second graph contains x, y, and z rotations.
Display transformed image
Display transformed image If selected, the transformed image appears in a new window. By default, this option is selected.
Applies the algorithm according to the specifications in this dialog box.
Disregards any changes that you made in the dialog box and closes this dialog box.
Displays online help for this dialog box.