Difference between revisions of "Projects:RegistrationLibrary:RegLib C03"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(41 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
[[Projects:RegistrationDocumentation:UseCaseInventory|Back to Registration Use-case Inventory]] <br>
 
[[Projects:RegistrationDocumentation:UseCaseInventory|Back to Registration Use-case Inventory]] <br>
  
==Slicer Registration Library Exampe #3: Diffusion Weighted Image Volume: align with structural reference MRI==
+
== <small>updated for '''v4.1'''</small> [[Image:Slicer4_RegLibLogo.png|150px]] <br>Slicer Registration Library Case #3: Diffusion Weighted Image Volume: align with structural reference MRI==
 
=== Input ===
 
=== Input ===
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
Line 17: Line 17:
 
|}
 
|}
  
=== Modules ===
+
===Objective / Background ===
*'''Slicer 3.6.1 recommended modules:  [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit BrainsFit]'''
+
Goal is to align the DTI image with the structural reference T2 scan that provides accuracte anatomical reference.  
  
 +
=== Slicer 4.1 Modules Used ===
 +
*[https://www.slicer.org/wiki/Documentation/4.1/Modules/BRAINSFit BrainsFit]
 +
*[https://www.slicer.org/wiki/Documentation/4.1/Modules/ResampleDTIVolume Resample DTI Volume]
 +
*[https://www.slicer.org/wiki/Documentation/4.1/Modules/DiffusionTensorEstimation Diffusion Tensor Estimation]
  
===Objective / Background ===
+
=== Alternate Versions ===
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.
+
*this example covers the most basic form of directly registering a DTI + baseline to a T2. There is another (more advanced) version that show how to address additional issues of a strong initial rotation and strong voxel-anisotropy for the raw DWI image acquired. [[Projects:RegistrationLibrary:RegLib_C03B|You will find the advanced version here]].
 
+
*[[Projects:RegistrationLibrary:RegLib_C03_v3|for the Slicer 3.6.3 version of this case see here]]
=== Keywords ===
 
MRI, brain, head, intra-subject, DTI, DWI
 
  
 
===Download ===
 
===Download ===
[[Image:under-construction_icon.jpg|right|100px|this case is still under active development. Comments and priority requests welcome to the slicer-users mailing list]]
+
*Image Data:
*'''[[Media:RegLib_03_DTIExample_full.zip‎|download entire package <small> (Data,Presets, Solution, zip file 24 MB) </small>]]'''
+
**[[Media:RegLib_C03_Data.zip‎|'''RegLib_C03_Data''': main registration package: register DTI <small> (Data, Transforms, solutions, zip file 115 MB) </small>]]
*Presets
 
*Tutorial only
 
*Image Data only
 
 
 
[[Projects:RegistrationDocumentation:ParameterPresetsTutorial|Link to User Guide: How to Load/Save Registration Parameter Presets]]
 
 
 
===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
 
  
=== Procedures ===
+
=== Procedure ===
*'''Overall Strategy / Pipeline'''
+
This assumes you have the following: 1) a T2 reference image, 2) a DTI baseline image and  3) the DTI volume (both obtained from the  [https://www.slicer.org/wiki/Documentation/4.1/Modules/DiffusionTensorEstimation Diffusion Tensor Estimation module]).
:#Resample T2 reference to isotropic voxel size
+
*Image Data:
:#Manually reorient DWI into orientation of T2
+
*'''Overview''':
:#Resample DWI into new space and into isotropic voxel size
+
::#Using  [https://www.slicer.org/wiki/Documentation/4.1/Modules/BRAINSFit General Registraion (BRAINS)]''', register DTI_baseline to T2 (affine+nonrigid) w/o masking
:#Convert DWI -> DTI, incl. mask & baseline extraction
+
:#Resample the DTI with above transform with the  [https://www.slicer.org/wiki/Documentation/4.1/Modules/ResampleDTIVolume Resample DTI Volume] module
:#Register DTI_baseline to T2 (affine+nonrigid) w/o masking
+
#open  [https://www.slicer.org/wiki/Modules:BRAINSFit Registration : ''General Registration (BRAINS)''] module
:#Resample DTI_mask with above transform to build mask for T2
+
##''Input Images'': fixed = T2 , moving = DTI_base
:#Repeat registration above, this time incl. masks and with higher BSpline grid size
+
##''Output Settings'':
:#Resample DTI with above transform
+
###''Slicer BSpline Transform'' (create new transform, rename to: "Xf1_DTbase-T2_BSpline")
*'''Note:''' if not interested in the preprocessing steps, download only the main dataset and skip phase I-III.
+
###''Slicer Linear Transform'' none
*'''Phase I: resample T2 to isotropic voxel size'''
+
###''Output Image Volume'' (create new volume, rename to: "DTIbaseline_Xf1"
##original T2 has 0.5 x 0.5 x 3 mm voxel size, which we resample to 1 x 1 x 1 mm
+
##''Registration Phases'':  select/check ''Rigid'' , ''Rigid+Scale'', ''Affine'', ''BSpline''
##open ''Filtering / Resample Scalar Volume'' module
+
##''Main Parameters'':  
##Spacing: enter 1,1,1
+
###increase ''Number Of Samples'' to 200,000
##Interpolation: check ''hamming''
+
###set  ''B-Spline Grid Size'' to 5,5,5
##Input Volume: select T2raw, Output Volume: create new, rename to "T2"
 
##click: Apply
 
*'''Phase II: Manually align DWI_raw to T2'''
 
#open ''Data'' module
 
#in MRML tree, select the "Scene" node, then right click & select "Insert Transform Node"
 
#click on ''MRML Node Inspector'' and rename Xform node to "Xf0_DWI_init"
 
#drag DWI_raw into the "Xf0_DWI_init" node
 
#go to "Transforms" module
 
#select T2 as background and DWI_raw as foreground, set fading slider halfway
 
#manually adjust transform to align the two volumes, particularly  LR rotation and IS translation
 
#Save
 
#go to ''Filtering / Resample Scalar/Vector/DWI'' module
 
#Input Volume: "DWI_raw", Reference Volume: "T2", Output Volume: "create new Diffusion Weighted Volume", rename to "DWI_Xf0"
 
#Transform Node: select "Xf0_DWI_Init"
 
#Click: Apply
 
#this will correct both the initial misalignment and the anisotropy
 
#save new DWI_Xf0 to disk
 
#depending on RAM of your machine, consider deleting the original DWI_raw node
 
*'''Phase III:  DWI -> DTI'''
 
#open "Diffusion Tensor Estimation" module
 
#Input DWI Volume: DWI_Xf0, Output DTI Volume: create new, rename to "DTI"
 
#Output Baseline: create new, rename to "DTI_base"
 
#Otsu Threshold Mask: create new, rename to "DTI_mask"
 
#Estimation Parameters: reduce ''Otsu Omega Threshold" to 0.3
 
#check boxes for ''Remove Islands'' and ''Apply Mask''
 
#Click: Apply
 
*'''Phase IVRegister DTI (unmasked)'''
 
#open Registration : ''BrainsFit'' module (presets: Xf1_DTI-T2_unmasked)
 
##Registration Phases:
 
##set T2 as fixed and DTI_base as moving image
 
###select/check ''Initialize GeometryCenter Align''
 
###select/check ''Include Rigid registration phase''
 
###select/check ''Include ScaleVersor3D registration phase''
 
###select/check ''Include Affine registration phase''
 
###select/check ''Include BSpline registration phase''
 
##Output Settings:  
 
###select a new transform "Slicer BSpline Transform", rename to "Xf1_DTI-T2_unmasked"
 
###select a new volume "Output Image Volume'', rename to "DT_base_Xf1"
 
##Registration Parameters: increase ''Number Of Samples'' to 200,000
 
##Registration Parameters: set  ''Number Of Grid Subdivisions'' to 5,5,3
 
 
##Leave all other settings at default
 
##Leave all other settings at default
##click: Apply; runtime < 1 min.
+
##click: ''Apply''; runtime < 1 min.
*'''Phase V: Resample DTI_mask''' (presets: DTI_mask_Xf1)
+
#Resample DTI
**we use the above Xform to produce a mask for the T2.
+
#Open the [https://www.slicer.org/wiki/Documentation/4.1/Modules/ResampleDTIVolume Resample DTI Volume] module (found under: All Modules)
#Open ''Resample Scalar/Vector/DWI Volume'' module
 
##Input Volume: DTI_mask; Output volume: create new volume, rename to "DTI_mask_Xf1"
 
##Transform Node:  "Xf1_DTI-T2_unmasked"
 
##select/check: ''output-to-input''
 
##Interpolation Type: select: '''nn'''
 
##click: Apply
 
##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'''
 
#open Registration : ''BrainsFit'' module (presets: Xf2_DTI-T2_masked)
 
##set T2_Xf1 as fixed and DTI_baseline as moving image
 
###select/check ''Include Rigid registration phase''
 
###select/check ''Include ScaleVersor3D registration phase''
 
###select/check ''Include Affine registration phase''
 
###select/check ''Include BSpline registration phase''
 
##Output BSpline Transform: create new , rename to "Xf2_DTI-T2_masked"
 
##Output Volume: create new, rename to "DTI_base_Xf2"
 
##Registration Parameters: increase ''Number Of Samples'' to 200,000
 
##Registration Parameters: set  ''Number Of Grid Subdivisions'' to 7,7,5
 
##Control of Mask Processing
 
###select/check: ''ROI'' (rightmost box)
 
###Input Fixed Mask: select "DTI_mask_Xf1"
 
###Input Moving Mask: select "DTI_mask"
 
##Leave all other settings at default
 
##click: Apply; runtime < 1 min.
 
*'''Phase VII: Resample DTI'''
 
#Load the combined transform (''Add Data'')
 
#Open the ''Resample DTI Volume'' module (found under: All Modules)
 
 
##Input Volume: select DTI
 
##Input Volume: select DTI
##Output Volume: select ''New DTI Volume'', rename to ''DTI_Xf2''
+
##Output Volume: select ''create new Diffusion Tensor Volume'',and rename it to ''DTI_Xf1''
 
##Reference Volume: select ''T2''
 
##Reference Volume: select ''T2''
##Transform Parameters: select transform "Xf2_DTI-T2_masked''
+
##Transform Parameters: select transform node "Xf1_DTI-T2_BSpline", for  ''Deformation Field'': none ; '''check the ''displacement'' checkbox'''
##check box: ''output-to-input''
 
 
##Leave all other settings at defaults
 
##Leave all other settings at defaults
 
##Click Apply; runtime ~ 2 min.
 
##Click Apply; runtime ~ 2 min.
#Go to the ''Volumes'' module, select the newly produced ''DTI_Xf2'' volume
+
#set ''T2'' as background and new  ''DTI_Xf1'' volume as foreground
#under the ''Display'' tab, select ''Color Orientation'' from the ''Scalar Mode'' menu
+
#fade between back- and foreground to see DTI overlay onto the T2 image. Note that you can also fade via holding the OPTION+CMD keys (mac) + dragging left mouse.
#set ''T1'' as background and new  ''DTI_Xf2'' volume as foreground
 
#Set fade slider to see DTI overlay onto the T2 image
 
 
 
for more details see the tutorial(s) under Downloads above
 
  
=== Registration Results===
+
=== Registration Results (click to enlarge) ===
 
{| style="color:#bbbbbb; background-color:#333333;" cellpadding="10" cellspacing="0" border="0"
 
{| style="color:#bbbbbb; background-color:#333333;" cellpadding="10" cellspacing="0" border="0"
|[[Image:RegLib_C03_AGif_registered.gif|400px|left]]  
+
|[[Image:RegLib_C03_baseline_unregistered.gif|400px|left]]
 +
|[[Image:RegLib_C03_baseline_registered.gif|400px|left]]
 +
|[[Image:RegLib_C03_DTI_registered.gif|400px|left]]  
 
|-
 
|-
 +
|baseline & T2 before registration
 
|baseline to T2 after affine+nonrigid alignment
 
|baseline to T2 after affine+nonrigid alignment
 +
|DTI and T2 before & after registration
 
|}
 
|}
  
 
+
=== Keywords ===
 +
MRI, brain, head, intra-subject, DTI, DWI
  
 
=== Discussion: Key Strategies ===
 
=== 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.
+
*the strong EPI-based distortions of the DTI image make nonrigid registration necessary
*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.
+
*initial alignment & overlap is sufficient so that no "initialization" methods are necessary and registration can succeed without.
*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.
+
*contrast & initial pose are similar enough for registration to succeed without any masking. However the DTI estimation procedure '''does''' provide an optional mask that is usually very helpful in registering cases with more "distracting" image content.   [[Projects:RegistrationLibrary:RegLib_C03_2| For an example see the extended version of this case here.]]
 +
*the DTI in this example is isotropic and hence can be resampled directly. If the DTI contains strong anisotropy of ratios 1:3 or greater, reorienting the DTI can lead to strong artifacts (e.g. in axial direction appear as blue cast in the color orientation view). In that case it is necessary to resample the DWI in the original orientation to an isotropic size before reorienting. It may also be advisable to first reorient the DWI and perform the DTI estimation afterwards.
  
 
=== Acknowledgments ===
 
=== Acknowledgments ===

Latest revision as of 17:29, 10 July 2017

Home < Projects:RegistrationLibrary:RegLib C03

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

updated for v4.1 Slicer4 RegLibLogo.png
Slicer Registration Library Case #3: Diffusion Weighted Image Volume: align with structural reference MRI

Input

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
T2
moving image 2a
DTI baseline
moving image 2b
DTI tensor

Objective / Background

Goal is to align the DTI image with the structural reference T2 scan that provides accuracte anatomical reference.

Slicer 4.1 Modules Used

Alternate Versions

Download

Procedure

This assumes you have the following: 1) a T2 reference image, 2) a DTI baseline image and 3) the DTI volume (both obtained from the Diffusion Tensor Estimation module).

  • Image Data:
  • Overview:
  1. Using General Registraion (BRAINS), register DTI_baseline to T2 (affine+nonrigid) w/o masking
  1. Resample the DTI with above transform with the Resample DTI Volume module
  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.
  2. Resample DTI
  3. Open the Resample DTI Volume module (found under: All Modules)
    1. Input Volume: select DTI
    2. Output Volume: select create new Diffusion Tensor Volume,and rename it to DTI_Xf1
    3. Reference Volume: select T2
    4. Transform Parameters: select transform node "Xf1_DTI-T2_BSpline", for Deformation Field: none ; check the displacement checkbox
    5. Leave all other settings at defaults
    6. Click Apply; runtime ~ 2 min.
  4. set T2 as background and new DTI_Xf1 volume as foreground
  5. fade between back- and foreground to see DTI overlay onto the T2 image. Note that you can also fade via holding the OPTION+CMD keys (mac) + dragging left mouse.

Registration Results (click to enlarge)

RegLib C03 baseline unregistered.gif
RegLib C03 baseline registered.gif
RegLib C03 DTI registered.gif
baseline & T2 before registration baseline to T2 after affine+nonrigid alignment DTI and T2 before & after registration

Keywords

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

Discussion: Key Strategies

  • the strong EPI-based distortions of the DTI image make nonrigid registration necessary
  • initial alignment & overlap is sufficient so that no "initialization" methods are necessary and registration can succeed without.
  • contrast & initial pose are similar enough for registration to succeed without any masking. However the DTI estimation procedure does provide an optional mask that is usually very helpful in registering cases with more "distracting" image content. For an example see the extended version of this case here.
  • the DTI in this example is isotropic and hence can be resampled directly. If the DTI contains strong anisotropy of ratios 1:3 or greater, reorienting the DTI can lead to strong artifacts (e.g. in axial direction appear as blue cast in the color orientation view). In that case it is necessary to resample the DWI in the original orientation to an isotropic size before reorienting. It may also be advisable to first reorient the DWI and perform the DTI estimation afterwards.

Acknowledgments