Module: 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. Three modes are available:

  1. if a metric file is supplied (ch_metric), the subworkflow will use the REGISTER_ANATTODWI module calling AntsRegistration, with the metric as additional target.
  2. if NO metric file is supplied, the subworkflow will use the REGISTRATION_ANTS module calling antsRegistrationSyN.sh or antsRegistrationSyNQuick.sh.
  3. alternatively, if an alternative model parameter is activated, the subworkflow will use the specified module This subworkflow outputs transformation files that can be used with the ANTSAPPLYTRANSFORMS module to warp any new image. Simply provide your moving image, reference image, and transformations files to the module to register a new image in the current space. Similar steps can be used to register bundles/tractograms using the BUNDLEREGISTRATION module.

Inputs

TypeDescriptionPattern
ch_imagefileThe input channel containing the moving image files. Typically your anatomical image to be registered to dwi space. Structure: [ val(meta), path(image) ]*.{nii,nii.gz}
ch_reffileThe input channel containing the fixed image files. Typically a reference image from the dwi space (e.g. b0 image, etc.). Structure: [ val(meta), path(ref) ]*.{nii,nii.gz}
ch_metricfileThe input channel containing the metric files. Supplying this channel will make the subworkflow use the module REGISTER_ANATTODWI calling AntsRegistration using the moving, reference and metric image. For a T1 -> DWI registration, this is typically a FA map. Structure: [ val(meta), path(metric) ]*.{nii,nii.gz}
ch_maskfileThe input channel containing the mask files. Supplying this channel only affect the subworkflow if the ch_metric is NOT supplied. This channel is only being used if the module called is REGISTRATION_ANTS, see the description section above for more details. Structure: [ val(meta), path(mask) ]*.{nii,nii.gz}
ch_segmentationfileThe input channel containing the the SynthSeg v2 (non-robust) segmentation + parcellation of the moving (floating in Easyreg naming convention) image. If it does not exist, Easyreg will create it. If it already exists (e.g., from a previous EasyReg run), then EasyReg will read it from disk (which is faster than segmenting).*.{nii,nii.gz}
ch_ref_segmentationfileThe input channel containing the SynthSeg v2 (non-robust) segmentation + parcellation of the fixed (reference in Easyreg naming convention) image. If it does not exist, Easyreg will create it. If it already exists (e.g., from a previous EasyReg run), then EasyReg will read it from disk (which is faster than segmenting).*.{nii,nii.gz}

Outputs

TypeDescriptionPattern
image_warpedfileChannel containing warped moving images. Typically, this would be the warped T1 in DWI space. Structure: [ val(meta), path(image) ]*.{nii,nii.gz}
transfo_imagefileChannel containing the image transformation files. This channel contains the necessary transformation files (warp and affine) to perform the anatomical -> dwi space registration. Those files could be used in the future to bring anatomical labels into DWI space for connectomics. Structure: [ val(meta), [ path(warp), <path(affine)> ] ]*.{nii,nii.gz,mat}
transfo_trkfileChannel containing the tractogram transformation files. This channel contains the necessary transformation files (inverseAffine, inverseWarp) to perform the dwi -> anatomical space registration. Those files could be used to register tractograms or bundle in the subject’s anatomical space. Structure: [ val(meta), [ <path(inverseAffine)>, path(inverseWarp) ]*.{nii,nii.gz,mat}
ref_warpedfileChannel containing warped reference image. Typically, this would be the warped DWI in T1 space. Structure: [ val(meta), path(ref) ]*.{nii,nii.gz}
out_segmentationfileChannel containing the file with the SynthSeg v2 (non-robust) segmentation + parcellation of the moving (floating in Easyreg naming convention) image.*.{nii,nii.gz}
out_ref_segmentationfileChannel containing the file with the SynthSeg v2 (non-robust) segmentation + parcellation of the fixed (reference in Easyreg naming convention) image.*.{nii,nii.gz}
versionsfileFile containing software versions used. Structure: [ path(versions.yml) ]versions.yml

Components

registration/anattodwi
registration/ants
registration/easyreg
registration/synthregistration

Keywords

Registration
Transformation
DWI
Anatomical

Authors

@gagnonanthony