From Slicer Wiki
Revision as of 21:55, 12 November 2015 by UpdateBot (talk | contribs) (Nightly -> 4.5)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Documentation < 4.5 < Modules < N4ITKBiasFieldCorrection

For the latest Slicer documentation, visit the read-the-docs.

Introduction and Acknowledgements

Title: N4ITK MRI Bias correction
Author(s)/Contributor(s): Nick Tustison (UPenn), Andrey Fedorov (SPL, BWH), Ron Kikinis (SPL, BWH)
Acknowledgements: The development of this module was partially supported by NIH grants R01 AA016748-01, R01 CA111288 and U01 CA151261 as well as by NA-MIC, NAC, NCIGT and the Slicer community.

Information on NA-MIC can be obtained from the NA-MIC website.
Contact: Andrey Fedorov, <email></email>


Module Description

Performs image bias correction using N4 algorithm. This module is based on the ITK filters contributed in the following publication: Tustison N, Gee J "N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction", The Insight Journal 2009 January-June,

Use Cases

This module is especially appropriate for these use cases:

  • Image acquisition is done with a surface coil, and you observe signal fall-off as you get further away from the coil (this is particularly the case at higher field strengths)
  • You observe smooth variation of the intensity over the tissue that should have intensity close to uniform
  • Your attempts to segment or register your data are not successful, and you are not sure what to do next

Examples of the module in use:

  • Correction of the signal inhomogeneity in prostate MRI obtained with endorectal coil at 3T field strength
Prostate erMRI
After bias correction
Before - After subtract image
Recovered bias field
  • Correction of the bias in vervet MRI. Acquisition parameters: 3T GE scanner, single-channel dedicated RF coil (Litzcage, Doty Scientific, Columbia, SC); 3D SPGR sequence (TI 600ms, TE 3.276ms, TR 15.28ms; flip angle 15 deg; matrix 256x256; FOV 12cm; in-plane resolution 0.47 mm; slice thickness 0.5 mm).
Slice of the input test volume with apparent bias field and label outlines
Output image visually contains less inhomogeneity
Before - After subtract image
Recovered bias field
  • Bias correction in brain MRI: It was shown that the result of bias correction in brain MRI is significantly improved when the bias estimation is limited to the brain region (see Boyes et al. in References). You might be able to achieve better results for your application if you provide a meaningful mask that corresponds to the structure of interest, or to a structure that should be homogeneous, as a parameter to this module.





  • IO: Input/output parameters
    • Input Image (inputImageName): Input image where you observe signal inhomegeneity
    • Mask Image (maskImageName): Binary mask that defines the structure of your interest. NOTE: This parameter is OPTIONAL. If the mask is not specified, the module will use internally Otsu thresholding to define this mask. Better processing results can often be obtained when a meaningful mask is defined.
    • Output Volume (outputImageName): Result of processing
    • Output bias field image (outputBiasFieldName): Recovered bias field (OPTIONAL)
  • N4 Parameters:
    • BSpline grid resolution (initialMeshResolution): Resolution of the initial bspline grid defined as a sequence of three numbers. The actual resolution will be defined by adding the bspline order (default is 3) to the resolution in each dimension specified here. For example, 1,1,1 will result in a 4x4x4 grid of control points. This parameter may need to be adjusted based on your input image. In the multi-resolution N4 framework, the resolution of the bspline grid at subsequent iterations will be doubled. The number of resolutions is implicitly defined by Number of iterations parameter (the size of this list is the number of resolutions)
    • Spline distance (splineDistance): An alternative means to define the spline grid, by setting the distance between the control points. This parameter is used only if the grid resolution is not specified.
    • Bias field Full Width at Half Maximum (bfFWHM): Bias field Full Width at Half Maximum. Zero implies use of the default value.
  • Advanced N4 Parameters: Advanced parameters of the algorithm
    • Number of iterations (numberOfIterations): Maximum number of iterations at each level of resolution. Larger values will increase execution time, but may lead to better results.
    • Convergence threshold (convergenceThreshold): Stopping criterion for the iterative bias estimation. Larger values will lead to smaller execution time.
    • BSpline order (bsplineOrder): Order of B-spline used in the approximation. Larger values will lead to longer execution times, may result in overfitting and poor result.
    • Shrink factor (shrinkFactor): Defines how much the image should be upsampled before estimating the inhomogeneity field. Increase if you want to reduce the execution time. 1 corresponds to the original resolution. Larger values will significantly reduce the computation time.
    • Weight Image (weightImageName): Weight Image
    • Wiener filter noise (wienerFilterNoise): Wiener filter noise. Zero implies use of the default value.
    • Number of histogram bins (nHistogramBins): Number of histogram bins. Zero implies use of the default value.

List of parameters generated transforming this XML file using this XSL file. To update the URL of the XML file, edit this page.


Selection of the mask used by the algorithm is a crucial consideration in using the N4 algorithm. Use of the mask is always recommended, if possible. The following is the communication from the author of the algorithm, Nick Tustison, on the advanced use of the mask:

A more sophisticated use of the mask option is described here

specifically the subsection tiled “Atropos six-tissue segmentation” (page 171)
and it concerns the situation where one is performing segmentation and 
using the segmentation results to improve your bias field and vice versa.  We 
use a “pure tissue” weight mask at each iteration (bias field estimation <—> 
segmentation) as one of the inputs to N4 to get improved results.  This pure 
tissue weight mask is described by Equation (1) on page 172.  The basic
idea is that you want to avoid using the pixels that have poor classification
in your bias field estimation (i.e. pixels on the gray/white matter interface).

Similar Modules



  • Tustison N, Gee J N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction, The Insight Journal 2009 January-June link
  • Tustison N, Avants B, Cook P, Gee J N4ITK: Improved N3 Bias Correction with Robust B-Spline Approximation, Proc. of ISBI'10, 2010
  • Tustison NJ, Avants BB, Cook PA, Zheng Y, Egan A, Yushkevich PA, Gee JC N4ITK: Improved N3 Bias Correction, IEEE Trans Med Imag, 2010 link
  • Boyes RG, Gunter JL, Frost C, Janke AL, Yeatman T, Hill DL, Bernstein MA, Thompson PM, Weiner MW, Schuff N, Alexander GE, Killiany RJ, DeCarli C, Jack CR, Fox NC (2008) Intensity non-uniformity correction using N3 on 3-T scanners with multichannel phased array coils. NeuroImage 39:1752-62 link.
  • Tustison, Nicholas J., Philip A. Cook, Arno Klein, Gang Song, Sandhitsu R. Das, Jeffrey T. Duda, Benjamin M. Kandel et al. "Large-scale evaluation of ANTs and FreeSurfer cortical thickness measurements." Neuroimage 99 (2014): 166-179.

Information for Developers