Skip to content

FMRIB's Non-linear Image Registration Tool (FNIRT)

Library: FSL | Docker Image: brainlife/fsl

Function

Non-linear registration using B-spline deformations for precise anatomical alignment to a template.

Modality: T1-weighted 3D NIfTI volume plus reference template. Requires initial affine from FLIRT.

Typical Use: High-accuracy normalization to MNI space for group analyses.

Key Parameters

--ref (reference), --aff (initial affine), --config (config file), --cout (coefficient output), --iout (warped output)

Key Points

Always run FLIRT first for initial alignment. Use --config=T1_2_MNI152_2mm for standard T1-to-MNI. Computationally intensive.

Inputs

Name Type Required Label Flag
input File Yes Input image to register --in=
reference File Yes Reference/target image --ref=
affine File No Affine transformation matrix from FLIRT --aff=
inwarp File No Initial non-linear warp (coefficients or field) --inwarp=
intin File No Initial intensity mapping from previous FNIRT run --intin=
config File No Configuration file with predefined settings --config=
refmask File No Reference space mask --refmask=
inmask File No Input image mask --inmask=
cout string No Output warp coefficients filename --cout=
iout string No Output warped image filename --iout=
fout string No Output displacement field filename --fout=
jout string No Output Jacobian map filename --jout=
refout string No Output intensity modulated reference filename --refout=
intout string No Output intensity transformation filename --intout=
logout string No Output log filename --logout=
warpres string No Warp resolution in mm (e.g., "10,10,10") --warpres=
splineorder int No B-spline order (2=quadratic, 3=cubic) --splineorder=
regmod enum No Regularization model --regmod=
intmod enum No Intensity normalization model --intmod=
intorder int No Order of polynomial intensity modulation --intorder=
subsamp string No Subsampling levels (e.g., "4,2,1,1") --subsamp=
miter string No Max iterations per level (e.g., "5,5,5,5") --miter=
infwhm string No Input smoothing FWHM per level (e.g., "8,4,2,2") --infwhm=
reffwhm string No Reference smoothing FWHM per level (e.g., "8,4,2,2") --reffwhm=
lambda_ string No Regularization weight per level --lambda=
ssqlambda int No Weight lambda by sum-of-squared differences (0 or 1) --ssqlambda=
jacrange string No Allowable Jacobian range (e.g., "0.01,100") --jacrange=
biasres string No Bias field spline resolution (e.g., "50,50,50") --biasres=
biaslambda double No Bias field regularization weight --biaslambda=
numprec enum No Numerical precision for Hessian calculation --numprec=
verbose boolean No Verbose output --verbose

Accepted Input Extensions

  • input: .nii, .nii.gz
  • reference: .nii, .nii.gz
  • affine: .mat
  • inwarp: .nii, .nii.gz
  • intin: .nii, .nii.gz
  • config: .cnf
  • refmask: .nii, .nii.gz
  • inmask: .nii, .nii.gz

Outputs

Name Type Glob Pattern
warp_coefficients File $(inputs.cout).nii.gz, $(inputs.cout).nii
warped_image File $(inputs.iout).nii.gz, $(inputs.iout).nii
displacement_field File $(inputs.fout).nii.gz, $(inputs.fout).nii
jacobian_map File $(inputs.jout).nii.gz, $(inputs.jout).nii
intensity_modulated_ref File $(inputs.refout).nii.gz, $(inputs.refout).nii
log File fnirt.log

Output Extensions

  • warp_coefficients: .nii, .nii.gz
  • warped_image: .nii, .nii.gz
  • displacement_field: .nii, .nii.gz
  • jacobian_map: .nii, .nii.gz
  • intensity_modulated_ref: .nii, .nii.gz

Docker Tags

Available versions: latest, 6.0.4-patched2, 6.0.4-patched, 6.0.4, 6.0.4-xenial, 5.0.11, 6.0.0, 6.0.1, 5.0.9

Categories

  • Structural MRI > FSL > Registration

Documentation

Official Documentation