Projects:RegistrationLibrary:RegLib C03 v3

From NAMIC Wiki
Jump to: navigation, search
Home < Projects:RegistrationLibrary:RegLib C03 v3

Back to ARRA main page
Back to Registration main page
Back to Registration Use-case Inventory

v3.6.3 Slicer cvers banner.png Slicer Registration Library Case #3: Diffusion Weighted Image Volume: align with structural reference MRI

Note that this is the Slicer v.3.6 version. For an updated Slicer 4.1 version of this case see here


this is the fixed T2 reference image. All images are aligned into this space lleft this is the DTI Baseline scan, to be registered with the T2 this is the DTI tensor image, in the same orientation as the DTI Baseline
fixed image/target
moving image 2a
DTI baseline
moving image 2b
DTI tensor


Objective / Background

While this example shares a typical objective of DTI processing, it covers additional issues of a strong initial rotation and strong voxel-anisotropy for the raw DWI image acquired. Goal is to align the DTI image with the structural reference T2 scan that provides accuracte anatomical reference.


MRI, brain, head, intra-subject, DTI, DWI


Input Data

  • reference/fixed : T2w axial, 0.4mm resolution in plane, 3mm slices
  • moving: Baseline image of acquired DTI volume, corresponds to T2w MRI , 0.9375 x 0.9375 x 1.4 mm voxel size, oblique
  • Tensor data of DTI volume, oblique, same orientation as Baseline image. The result Xform will be applied to this volume. The original DWI has 26 directions, the extracted DTI volume has 9 scalars, i.e. 256 x 256 x 36 x 9

Overall Strategy

  1. Resample T2 reference to isotropic voxel size
  2. Manually reorient DWI into orientation of T2
  3. Resample DWI into new space and into isotropic voxel size
  4. Convert DWI -> DTI, incl. mask & baseline extraction
  5. Register DTI_baseline to T2 (affine+nonrigid) w/o masking
  6. Resample DTI_mask with above transform to build mask for T2
  7. Repeat registration above, this time incl. masks and with higher BSpline grid size
  8. Resample DTI with above transform

Procedures Part I : Preprocessing

  • Note: if not interested in the preprocessing steps, download only the main dataset and skip phase I-III.
  • Phase I: resample T2 to isotropic voxel size
    1. original T2 has 0.5 x 0.5 x 3 mm voxel size, which we resample to 1.2 x 1.2 x 1.2 mm (you may set 1x1x1 if you have sufficient RAM)
    2. open Filtering / Resample Scalar Volume module
    3. Spacing: enter 1,1,1
    4. Interpolation: check hamming
    5. Input Volume: select T2raw, Output Volume: create new, rename to "T2"
    6. click: Apply
  • Phase II: Manually align DWI_raw to T2
  1. open Data module
  2. in MRML tree, select the "Scene" node, then right click & select "Insert Transform Node"
  3. click on MRML Node Inspector and rename Xform node to "Xf0_DWI_init"
  4. drag DWI_raw into the "Xf0_DWI_init" node
  5. go to "Transforms" module
  6. select T2 as background and DWI_raw as foreground, set fading slider halfway
  7. manually adjust transform to align the two volumes, particularly LR rotation and IS translation
  8. Save
  9. go to Filtering / Resample Scalar/Vector/DWI module
  10. Input Volume: "DWI_raw", Reference Volume: "T2", Output Volume: "create new Diffusion Weighted Volume", rename to "DWI_Xf0"
  11. Transform Node: select "Xf0_DWI_Init"
  12. Click: Apply
  13. this will correct both the initial misalignment and the anisotropy
  14. save new DWI_Xf0 to disk
  15. depending on RAM of your machine, consider deleting the original DWI_raw node
  • Phase III: DWI -> DTI
  1. open "Diffusion Tensor Estimation" module
  2. Input DWI Volume: DWI_Xf0, Output DTI Volume: create new, rename to "DTI"
  3. Output Baseline: create new, rename to "DTI_base"
  4. Otsu Threshold Mask: create new, rename to "DTI_mask"
  5. Estimation Parameters: reduce Otsu Omega Threshold" to 0.3
  6. check boxes for Remove Islands and Apply Mask
  7. Click: Apply

Procedures Part II : Registration

  • Phase IV: Register DTI (unmasked)
  1. open Registration : General Registration (BRAINS) module
    1. Input Images: fixed = T2 , moving = DTI_base
    2. Output Settings:
      1. Slicer BSpline Transform (create new transform, rename to: "Xf1_DTbase-T2_BSpline")
      2. Slicer Linear Transform none
      3. Output Image Volume (create new volume, rename to: "DTIbaseline_Xf1"
    3. Registration Phases: select/check Rigid , Rigid+Scale, Affine, BSpline
    4. Main Parameters:
      1. increase Number Of Samples to 200,000
      2. set B-Spline Grid Size to 5,5,5
    5. Leave all other settings at default
    6. click: Apply; runtime < 1 min.
  • Phase V: Resample DTI_mask (presets: DTI_mask_Xf1)
    • we use the above Xform to produce a mask for the T2.
  1. Open Filtering / Resample Scalar/Vector/DWI module
    1. Input Volume: DTI_mask; Output volume: create new volume, rename to "DTI_mask_Xf1"
    2. Transform Node: "Xf1_DTI-T2_unmasked"
    3. select/check: output-to-input
    4. Interpolation Type: select: nn
    5. click: Apply
    6. Go to Volumes module, select the new "DTI_mask_Xf1", in the Info tab, check the Labelmap box
  • Phase VI:REGISTER DTI TO T2 with masking
  1. open Registration : BrainsFit module (presets: Xf2_DTI-T2_masked)
    1. set T2_Xf1 as fixed and DTI_baseline as moving image
      1. select/check Include Rigid registration phase
      2. select/check Include ScaleVersor3D registration phase
      3. select/check Include Affine registration phase
      4. select/check Include BSpline registration phase
    2. Output BSpline Transform: create new , rename to "Xf2_DTI-T2_masked"
    3. Output Volume: create new, rename to "DTI_base_Xf2"
    4. Registration Parameters: increase Number Of Samples to 200,000
    5. Registration Parameters: set Number Of Grid Subdivisions to 7,7,5
    6. Control of Mask Processing
      1. select/check: ROI (rightmost box)
      2. Input Fixed Mask: select "DTI_mask_Xf1"
      3. Input Moving Mask: select "DTI_mask"
    7. Leave all other settings at default
    8. click: Apply; runtime < 1 min.
  • Phase VII: Resample DTI
  1. Load the combined transform (Add Data)
  2. Open the Resample DTI Volume module (found under: All Modules)
    1. Input Volume: select DTI
    2. Output Volume: select New DTI Volume, rename to DTI_Xf2
    3. Reference Volume: select T2
    4. Transform Parameters: select transform "Xf2_DTI-T2_masked
    5. check box: output-to-input
    6. Leave all other settings at defaults
    7. Click Apply; runtime ~ 2 min.
  3. Go to the Volumes module, select the newly produced DTI_Xf2 volume
  4. under the Display tab, select Color Orientation from the Scalar Mode menu
  5. set T1 as background and new DTI_Xf2 volume as foreground
  6. Set fade slider to see DTI overlay onto the T2 image

for more details see the tutorial(s) under Downloads above

Registration Results

RegLib C03 AGif registered.gif
baseline to T2 after affine+nonrigid alignment

Discussion: Key Strategies

  • the two images have identical contrast, hence we could consider "sharper" cost functions, such as NormCorr or MeanSqrd. But because of the strong distortions and lower resolution of the moving image, Mutual Information is recommended as the most robust metric.
  • often anatomical labels are available from the reference scan. It would be less work to align the anatomical reference with the DTI, since that would circumvent having to resample the complex tensor data into a new orientation. However the strong distortions are better addressed by registering the other direction, i.e. move the DTI into the anatomical reference space.
  • in this example the initial alignment of the two scans is very poor. The strongly oblique orientation of the DWI makes an initial manual alignment step necessary. This step should occur before converting to the DTI to avoid interpolation artifacts.