Skip to content

registration

Subworkflow to perform registration between a moving and a fixed image (e.g. T1 -> DWI). It requires as input at least a moving (ch_image) and a reference (ch_ref) image to properly perform registration.

Output transformations curated for images for use with the REGISTRATION_ANTSAPPLYTRANSFORMS module are available under the names forward_image_transform and backward_image_transform. The same lists are also available for tractograms (forward_tractogram_transform and backward_tractogram_transform). However, to use the REGISTRATION_TRACTOGRAM module, you have to use the backward_affine and backward_warp channels provided by this subworkflow.

Registration suites:
- EasyReg (ML): params.run_easyreg = true

module: REGISTRATION_EASYREG

Run freesurfer EasyReg any-to-any modality registration.

NOTE: Outputs a combined warp field only, no affine transformations are available. CANNOT BE LINKED WITH THE BUNDLE_SEG SUBWORKFLOW.

- Synthmorph (ML): params.run_synthmorph = true

module: REGISTRATION_SYNTHMORPH

Run SynthMorph any-to-any modality registration. By default, the algorithm is configured to run a chain of affin+deformable transformations, making it suitable for use with most modules and subworkflows like BUNDLE_SEG.

NOTE: the output affine transformation file is in .lta format and needs to be converted to .mat to be used with ANTs using the REGISTRATION_CONVERT module.

- ANTs (SyN+SyN Quick): params.run_easyreg = false && params.run_synthmorph = false

module: REGISTRATION_ANTS or REGISTRATION_ANATTODWI

Run ANTs registration using antsRegistrationSyN.sh (quick version also available).

NOTE : Transformation to DWI space is available. To trigger it, supply a metric file (ch_metric) in DWI space (e.g. FA map) in addition to the moving (ch_image) and reference (ch_ref) images.

Keywords : Registration, Transformation, DWI, Anatomical

Components : registration/anattodwi, registration/ants, registration/convert, registration/easyreg, registration/synthmorph


TypeDescriptionMandatoryPattern
ch_fixed_imagefileThe input channel containing the fixed image files. If performing registration to DWI space, this is the reference image (e.g. b0 image).

Structure: [ val(meta), path(fixed_image) ]
True*.\{nii,nii.gz\}
ch_moving_imagefileInput channel containing the moving image files. If performing registration to DWI space, this is the anatomical image to be registered.

Structure: [ val(meta), path(image) ]
True*.\{nii,nii.gz\}
ch_metricfileFOR USE WITH REGISTRATION TO DWI SPACE ONLY. The input channel containing the metric files, typically a FA map.

Structure: [ val(meta), path(metric) ]
False*.\{nii,nii.gz\}
ch_fixed_maskfileFOR USE WITH ANTS SYN REGISTRATION ONLY. The input channel containing the mask file in fixed image space.

Structure: [ val(meta), path(mask) ]
False*.\{nii,nii.gz\}
ch_segmentationfileFOR USE WITH SYNTHMORPH REGISTRATION ONLY. The input channel containing the SynthSeg v2 (non-robust) segmentation + parcellation in fixed image space (reference in Easyreg naming convention) image.
False*.\{nii,nii.gz\}
ch_moving_segmentationfileFOR USE WITH SYNTHMORPH REGISTRATION ONLY. The input channel containing the SynthSeg v2 (non-robust) segmentation + parcellation in moving image space (floating in Easyreg naming convention) image.
False*.\{nii,nii.gz\}

TypeDescriptionMandatoryPattern
image_warpedfileChannel containing images warped in fixed space.

Structure: [ val(meta), path(image) ]
True*.\{nii,nii.gz\}
reference_warpedfileONLY PROVIDED BY REGISTRATION_EASYREG. Channel containing the reference image warped in moving space.

Structure: [ val(meta), path(image) ]
False*.\{nii,nii.gz\}
forward_affinefileChannel containing the affine transformation matrix to fixed space.

Structure: [ val(meta), path(forward_affine) ]
False*__forward*.\{lta,mat\}
forward_warpfileChannel containing the deformation field to fixed space.

Structure: [ val(meta), path(forward_warp) ]
False*__forward*.\{nii,nii.gz\}
backward_warpfileChannel containing the deformation field to moving space.

Structure: [ val(meta), path(backward_warp) ]
False*__backward*.\{nii,nii.gz\}
backward_affinefileChannel containing the affine transformation matrix to moving space.

Structure: [ val(meta), path(backward_affine) ]
False*__backward*.\{lta,mat\}
forward_image_transformlistChannel containing the transformation tuples to warp images to fixed space, in the correct order for REGISTRATION_ANTSAPPLYTRANSFORMS.

Structure: [ val(meta), [ path(forward_warp), path(forward_affine) ] ].
True*__forward*.\{nii,nii.gz,mat,lta\}
backward_image_transformlistChannel containing the transformation tuples to warp images to moving space, in the correct order for REGISTRATION_ANTSAPPLYTRANSFORMS.

Structure: [ val(meta), [ path(backward_affine), path(backward_warp) ] ].
True*__backward*.\{nii,nii.gz,mat,lta\}
forward_tractogram_transformlistChannel containing the transformation tuples to warp tractograms to fixed space, in the correct order for REGISTRATION_TRANSFORMTRACTOGRAM.

Structure: [ val(meta), [ path(backward_warp), path(backward_affine) ] ].
True*__backward*.\{nii,nii.gz,mat,lta\}
backward_tractogram_transformlistChannel containing the transformation tuples to warp tractograms to moving space, in the correct order for REGISTRATION_TRANSFORMTRACTOGRAM.

Structure: [ val(meta), [ path(forward_warp), path(forward_affine) ] ].
True*__forward*.\{nii,nii.gz,mat,lta\}
segmentationfileONLY PROVIDED BY REGISTRATION_SYNTHMORPH. Channel containing the SynthSeg v2 (non-robust) segmentation + parcellation in moving space (floating in Easyreg naming convention).

Structure: [ val(meta), path(segmentation) ]
False*.\{nii,nii.gz\}
reference_segmentationfileONLY PROVIDED BY REGISTRATION_SYNTHMORPH. Channel containing the SynthSeg v2 (non-robust) segmentation + parcellation in fixed space (reference in Easyreg naming convention).

Structure: [ val(meta), path(reference_segmentation) ]
False*.\{nii,nii.gz\}
mqcfileChannel containing the MultiQC report data for the registration.

Structure: [ path(mqc) ]
False*mqc.*
versionsfileFile containing software versions used.

Structure: [ path(versions.yml) ]
Trueversions.yml


Last updated : 2026-02-12