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

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(40 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>
  
= <small>v3.6.1</small> [[Image:Slicer3-6Announcement-v1.png‎|150px]] Slicer Registration Library Case #29: Intra-subject Brain DTI =
+
= <small>updated for '''v4.1'''</small> [[Image:Slicer4_RegLibLogo.png|150px]] <br> Slicer Registration Library Case #29: Intra-subject Brain DTI =
 
=== Input ===
 
=== Input ===
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
Line 13: Line 13:
 
|[[Image:RegLib_C29_thumb4.png|150px|lleft|this is the DTI tensor image, in the same orientation as the DTI Baseline]]
 
|[[Image:RegLib_C29_thumb4.png|150px|lleft|this is the DTI tensor image, in the same orientation as the DTI Baseline]]
 
|-
 
|-
|fixed image/target
+
|fixed image/target<br>T1 SPGR
 
|
 
|
|moving image 1
+
|moving image 1<br>T2
 
|
 
|
|moving image 2a
+
|moving image 2a<br>DTI baseline
|moving image 2b
+
|moving image 2b<br>DTI tensor
 
|}
 
|}
  
=== Modules ===
+
=== Slicer4 Modules used ===
*'''Slicer 3.6.1 recommended modules: [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit BrainsFit]'''
+
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/DiffusionTensorEstimation Diffusion Tensor Estimation module]
 +
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSFit General Registration (BRAINS) module]
 +
* [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/ResampleDTI Resample DTI Volume module]
  
 
===Objective / Background ===
 
===Objective / Background ===
 
This is a classic case of a multi-sequence MRI exam we wish to spatially align to the anatomical reference scan (T1-SPGR). The scan of interest is the DTI image to be aligned for surgical planning/reference.  
 
This is a classic case of a multi-sequence MRI exam we wish to spatially align to the anatomical reference scan (T1-SPGR). The scan of interest is the DTI image to be aligned for surgical planning/reference.  
 +
 +
=== Download ===
 +
*DATA
 +
**[[Media:RegLib_C29_Data.zip‎|'''Registration Library Case 29 '''<small> (Data & Solution Xforms, incl. DTI + DWI + resampled DTI, zip file 160 MB) </small>]]
 +
 +
*TUTORIALS (note the tutorials are for '''Slicer version 3.6'''; for [http://na-mic.org/Wiki/index.php/Projects:RegistrationLibrary:RegLib_C29#Procedures Slicer4 use the step-by-step instructions below]):
 +
**[[Media:RegLib_C29_DTI.ppt| Powerpoint Tutorial (.ppt PowerPoint file, 1.5 MB)]]
 +
**[[Media:RegLib_C29_DTI.pdf| Powerpoint Tutorial as PDF (PDF file 2.1 MB)]]
  
 
=== Keywords ===
 
=== Keywords ===
Line 37: Line 47:
  
 
===Registration Challenges===
 
===Registration Challenges===
*The DTI sequence (EPI) contains string distortions we seek to correct via non-rigid alignment
+
*The DWI sequence (EPI) contains strong distortions we seek to correct via non-rigid alignment
 +
*The DWI sequence also contains strong intensity inhomogeneity (coil bias)
 
*the DTI baseline is similar in contrast to a T2, albeit at much lower resolution
 
*the DTI baseline is similar in contrast to a T2, albeit at much lower resolution
 
*we have different amounts of voxel-anisotropy
 
*we have different amounts of voxel-anisotropy
 +
*a direct registration of the DTI_baseline to the SPGR will fail, hence a 2-step approach is required
  
 
===Key Strategies===
 
===Key Strategies===
*'''Slicer 3.6.1 recommended modules:  [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit BrainsFit]
+
*'''Slicer 4 recommended modules:  [https://www.slicer.org/wiki/Modules:BRAINSFit BrainsFit]
*we use an 2-step approach: 1) we first co-register the T2 with the SPGR T1.  2) we register the DTI baseline to the T2 (the T1 provides insufficient similarity), 3) combine this with the Affine1 transform obtained from registering the T2 to the T1. affine transform with 12 DOF (rather than a rigid one) to address distortion differences between the two protocols; 4) resample the DTI volume with the new transform
+
*to align the DTI with the T1 we need 2 registration steps: 1.align the T2 with the T1 and 2. align the DTI with the T2. The DTI baseline scan has contrast most similar to the T2 and hence is best registered against the T2. However the structural reference scan with highest resolution and tissue contrast is the T1.
 
+
*we therefore use the following approach: 1) we first co-register the T2 with the SPGR T1.  2) we register the DTI baseline to the registered/resampled T23) resample the DTI volume with the new transform
 +
*the DTI-T2 registration includes non-rigid deformation to correct for the strong distortions from the EPI acquisition. Because of the nonrigid component a mask of the brain parenchyma helps greatly in obtaining a meaningful transform.
 +
*The DTI estimation provides an automated mask for the DTI_baseline scan, but we have no mask for the T2. We can either obtain one through separate segmentation or by sending the DTI_mask through an additional registration step. In this example we show the latter.
 +
*thus the full pipeline is this:
 +
:#Affine align T2-T1, incl. resampled T2 volume = T2r
 +
:#Affine+BSpline align of DTI_baseline to T2r (unmasked)
 +
:#Resample DTI_mask with above BSpline -> mask for the T2r
 +
:#repeat Affine+BSpline align of DTI_base to T2r, WITH masks
 +
:#resample DTI with result Affine+BSpline transform
 
=== Procedures ===
 
=== Procedures ===
*'''Phase I: LOAD DATA'''
+
*'''Phase I: Preprocessing: Build DWI mask + baseline'''
#download example dataset
+
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/DiffusionWeightedMasking ''Modules:Diffusion:DiffusionWeightedImages:DiffusionWeightedVolumeMasking'' ] module
#load into 3DSlicer 3.6.1 (Load Scene)
+
##''Input DWI Volume'': "DWI"
#To convert the DWI into a DTI: use the ''Converters / DICOM to NRRD Converter'' module
+
##''Output Baseline Volume'':  ''Create New Volume'', rename to "DWI_baseline"
*'''Phase II:REGISTER DTI TO T2'''
+
##''Output Threshold Mask'': ''Create New Volume'', rename to "DWI_mask"
#open Registration : ''BrainsFit'' module
+
##Leave other settings at default; click ''Apply''
##Registration Phases:  
+
*'''Phase II: Preprocessing: Convert DWI -> DTI'''
##set T2 as fixed and DTI_baseline as moving image
+
#open [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/DiffusionTensorEstimation "Diffusion Tensor Estimation" module] (menu: Diffusion:DiffusionWeightedImages: DiffusionTensorEstimation)
##select/check ''Include Rigid registration phase''
+
##''Input DWI Volume'': DWI_iso,
##select/check ''Include Affine registration phase''
+
##''Output DTI Volume'': create new, rename to "DTI_iso"
##select/check ''Include BSpline registration phase''
+
##''Output Baseline Volume'': create new, rename to "DWI_iso_baseline"
##select ''Initialize with CenterofHeadAlign''
+
#Click: Apply
##select ''Include Rigid registration phase''
+
*'''Phase III: register T2 to T1'''
##select  "Include Affine registration phase"
+
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSFit General Registration (BRAINS) module]
#Output Settings:  
+
##''Fixed Image Volume'': T1
##select a new transform "Slicer BSpline Transform"  
+
##''Moving Image Volume'': T2
##select a new volume "Output Image Volume''
+
##Output Settings:  
#Registration Parameters: increase ''Number Of Samples'' to 200,000
+
###''Slicer BSpline Transform": none
#Leave all other settings at default
+
###''Slicer Linear Transform'': create new transform, rename to "Xf1_T2-T1"
#click apply; runtime ca. 3 min.
+
###''Output Image Volume'': create new volume,  rename to "T2_Xf1"
*'''Phase III: Register T2 to SPGR'''
+
##''Registration Phases'': check boxes for ''Rigid'' and ''Affine''
#open Registration : ''BrainsFit'' module
+
##''Main Parameters'':
##Registration Phases:  
+
###''Number Of Samples'': 200,000
##select/check ''Include Rigid registration phase''
+
##Leave all other settings at default
##select/check ''Include Affine registration phase''
+
##click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz)
##select a new transform ''Output Transform''
+
*'''Phase IV: Register DTI (masked)'''
#Registration Parameters: increase ''Number Of Samples'' to 200,000
+
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSFit General Registration (BRAINS) module]
#Leave all other settings at default
+
##''Fixed Image Volume'': FLAIR_Xf1
#click apply; runtime ca. 1-2 min.
+
##''Moving Image Volume'': DWI_iso_baseline
*'''Phase IV: Merge transforms'''
+
##Output Settings:
#We now have an affine transform to align the T2 with the SPGR and an BSpline+Affine to align the DTIBaseline with the T2
+
###''Slicer BSpline Transform": create new transform, rename to "Xf2_DTI-T1"
#there are 2 alternatives:
+
###''Slicer Linear Transform'': none
##Resample the DTI twice consecutively with each transform
+
###''Output Image Volume'': create new volume,  rename to DWI_baseline_Xf2
##Combine the transforms and resample only once. This is the preferred approach since it reduces interpolation blurring. However this requires editing the transform file. The affine portion of the BSpline transform needs to be extracted, combined with the T2-SPGR affine and then reinserted; as described below:
+
##''Regstration Phases'': check boxes for ''Rigid'', ''Affine'' and ''BSpline''
###Select ''Save'', select the BSpline and the Affine transforms to be saved
+
##''Main Parameters'':
###in a Text Editor of your choice (outside Slicer), open the BSpline transform file and delete the BSpline portion ''Transform 0''. Then Save As.. ''''under a new name'''.
+
###''Number Of Samples'': 300,000
###Reload the newly edited transform into slicer, named e.g. as ''DTIBaseline_Affine0'' (via ''Add Data'')
+
###''B-Spline Grid Size'': 7,7,5
###Move it inside the other affine transform that aligns the T2 to the SPGR.
+
##''Mask Option'': select ''ROIAUTO'' button
###Select ''Harden Transforms'''
+
###''(ROIAUTO) Output fixed mask'': create new volume
###Save the newly "hardened/combined" transform to a file, e.g. named ''DTI2T1_AffineOnly.tfm''
+
###''(ROIAUTO) Output moving mask'': create new volume
###in a Text Editor of your choice (outside Slicer), open again the BSpline transform file and also the above ''DTI2T1_AffineOnly.tfm''
+
##Leave all other settings at default
###replace the affine portion in the BSpline file with the affine portion of ''DTI2T1_AffineOnly.tfm'' and save '''under a new name''',e.g. DTI2T1_combined.tfm
+
##click: Apply; runtime 1-2 min (MacPro QuadCore 2.4GHz)
###This is now the new transform that will resample the DTI directly to the SPGR (see phase V below)
 
 
*'''Phase V: Resample DTI'''
 
*'''Phase V: Resample DTI'''
#Load the combined transform (''Add Data'')
+
#Open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/ResampleDTI ''Resample DTI Volume'' module(under ''All Modules'' menu; note this is distinct from the ResampleScalarVectorDWIVolume used above)
#Open the ''Resample DTI Volume'' module (found under: All Modules)
+
##''Input Volume'': DTI
##Input Volume: select DTI
+
##''Output Volume'': create new DTI Volume, rename to ''DTI_Xf2''
##Output Volume: select ''New DTI Volume'', rename to ''DTI_reg2T1''
+
##''Reference Volume'': T2_Xf1
##Reference Volume: select ''SPGR''
+
##''Transform Node'': select "Xf2_DTI-T1'' created above
##Transform Parameters: select merged transform ''DTI2T1_combined.tfm''
+
##check box: ''displacement''
##check box: ''output-to-input''
+
#leave all other settings at defaults
##Leave all other settings at defaults
+
#Click Apply; runtime ~ 3 min.
##Click Apply; runtime ca. 3-4 min.
+
#set T1 or FLAIR as background and the new  ''DTI_Xf2'' volume as foreground
#Go to the ''Volumes'' module, select the newly produced ''DTI_reg2T1'' volume
+
#Move fade slider to see DTI overlay onto the structural image
#under the ''Display'' tab, select ''Color Orientation'' from the ''Scalar Mode'' menu
 
#set ''SPGR'' as background and new  ''DTI_reg2T1'' volume as foreground
 
#Set fade slider to see DTI overlay onto the SPGR image
 
 
 
for more details see the tutorial(s) under Downloads
 
  
 
=== Registration Results===
 
=== Registration Results===
[[Image:RegLib_C29_AGif_full.gif|500px|Registered DTI superimposed on SPGR and T2]] unregistered <br>
+
[[Image:RegLib_C29_registered.gif|500px|Registered DTI superimposed on SPGR and T2]] registered (cycles show T1 and T2 and color DTI overlay)<br>
 
<br>
 
<br>
 
=== Download ===
 
*DATA:[[Media:RegLib_C29_DATA.zip‎|'''Registration Library Case 29 (MRI) '' <small> (Data & Solution Xforms, zip file 18 MB) </small>]]
 
*PRESETS:
 
*TUTORIALS:
 
**[[Media:RegLib_C29_ScreenCast.mov| Screencast movie (Quicktime, MB)]]
 

Latest revision as of 17:40, 10 July 2017

Home < Projects:RegistrationLibrary:RegLib C29

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 #29: Intra-subject Brain DTI

Input

this is the fixed reference image. All images are aligned into this space lleft this is the T2 reference image, serves as target to the DTI baseline, but is itself aligned to the SPGR 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
T1 SPGR
moving image 1
T2
moving image 2a
DTI baseline
moving image 2b
DTI tensor

Slicer4 Modules used

Objective / Background

This is a classic case of a multi-sequence MRI exam we wish to spatially align to the anatomical reference scan (T1-SPGR). The scan of interest is the DTI image to be aligned for surgical planning/reference.

Download

Keywords

MRI, brain, head, intra-subject, DTI, T1, T2, non-rigid, tumor, surgical planning

Input Data

  • reference/fixed : T1 SPGR , 0.5x0.5x1 mm voxel size, 512 x 512 x 176
  • moving 1: T2 0.5x0.5x1.5 mm voxel size, 512 x 512 x 92
  • moving 2a: DTI baseline: 1 x 1 x 3 mm, 256 x 256 x 41
  • moving 2b: 1 x 1 x 3 mm, 256 x 256 x 41 x 9 (tensor), original: DWI 256 x 256 x 41 x 32 directions

Registration Challenges

  • The DWI sequence (EPI) contains strong distortions we seek to correct via non-rigid alignment
  • The DWI sequence also contains strong intensity inhomogeneity (coil bias)
  • the DTI baseline is similar in contrast to a T2, albeit at much lower resolution
  • we have different amounts of voxel-anisotropy
  • a direct registration of the DTI_baseline to the SPGR will fail, hence a 2-step approach is required

Key Strategies

  • Slicer 4 recommended modules: BrainsFit
  • to align the DTI with the T1 we need 2 registration steps: 1.align the T2 with the T1 and 2. align the DTI with the T2. The DTI baseline scan has contrast most similar to the T2 and hence is best registered against the T2. However the structural reference scan with highest resolution and tissue contrast is the T1.
  • we therefore use the following approach: 1) we first co-register the T2 with the SPGR T1. 2) we register the DTI baseline to the registered/resampled T2; 3) resample the DTI volume with the new transform
  • the DTI-T2 registration includes non-rigid deformation to correct for the strong distortions from the EPI acquisition. Because of the nonrigid component a mask of the brain parenchyma helps greatly in obtaining a meaningful transform.
  • The DTI estimation provides an automated mask for the DTI_baseline scan, but we have no mask for the T2. We can either obtain one through separate segmentation or by sending the DTI_mask through an additional registration step. In this example we show the latter.
  • thus the full pipeline is this:
  1. Affine align T2-T1, incl. resampled T2 volume = T2r
  2. Affine+BSpline align of DTI_baseline to T2r (unmasked)
  3. Resample DTI_mask with above BSpline -> mask for the T2r
  4. repeat Affine+BSpline align of DTI_base to T2r, WITH masks
  5. resample DTI with result Affine+BSpline transform

Procedures

  • Phase I: Preprocessing: Build DWI mask + baseline
  1. open the Modules:Diffusion:DiffusionWeightedImages:DiffusionWeightedVolumeMasking module
    1. Input DWI Volume: "DWI"
    2. Output Baseline Volume: Create New Volume, rename to "DWI_baseline"
    3. Output Threshold Mask: Create New Volume, rename to "DWI_mask"
    4. Leave other settings at default; click Apply
  • Phase II: Preprocessing: Convert DWI -> DTI
  1. open "Diffusion Tensor Estimation" module (menu: Diffusion:DiffusionWeightedImages: DiffusionTensorEstimation)
    1. Input DWI Volume: DWI_iso,
    2. Output DTI Volume: create new, rename to "DTI_iso"
    3. Output Baseline Volume: create new, rename to "DWI_iso_baseline"
  2. Click: Apply
  • Phase III: register T2 to T1
  1. open the General Registration (BRAINS) module
    1. Fixed Image Volume: T1
    2. Moving Image Volume: T2
    3. Output Settings:
      1. Slicer BSpline Transform": none
      2. Slicer Linear Transform: create new transform, rename to "Xf1_T2-T1"
      3. Output Image Volume: create new volume, rename to "T2_Xf1"
    4. Registration Phases: check boxes for Rigid and Affine
    5. Main Parameters:
      1. Number Of Samples: 200,000
    6. Leave all other settings at default
    7. click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz)
  • Phase IV: Register DTI (masked)
  1. open the General Registration (BRAINS) module
    1. Fixed Image Volume: FLAIR_Xf1
    2. Moving Image Volume: DWI_iso_baseline
    3. Output Settings:
      1. Slicer BSpline Transform": create new transform, rename to "Xf2_DTI-T1"
      2. Slicer Linear Transform: none
      3. Output Image Volume: create new volume, rename to DWI_baseline_Xf2
    4. Regstration Phases: check boxes for Rigid, Affine and BSpline
    5. Main Parameters:
      1. Number Of Samples: 300,000
      2. B-Spline Grid Size: 7,7,5
    6. Mask Option: select ROIAUTO button
      1. (ROIAUTO) Output fixed mask: create new volume
      2. (ROIAUTO) Output moving mask: create new volume
    7. Leave all other settings at default
    8. click: Apply; runtime 1-2 min (MacPro QuadCore 2.4GHz)
  • Phase V: Resample DTI
  1. Open the Resample DTI Volume module (under All Modules menu; note this is distinct from the ResampleScalarVectorDWIVolume used above)
    1. Input Volume: DTI
    2. Output Volume: create new DTI Volume, rename to DTI_Xf2
    3. Reference Volume: T2_Xf1
    4. Transform Node: select "Xf2_DTI-T1 created above
    5. check box: displacement
  2. leave all other settings at defaults
  3. Click Apply; runtime ~ 3 min.
  4. set T1 or FLAIR as background and the new DTI_Xf2 volume as foreground
  5. Move fade slider to see DTI overlay onto the structural image

Registration Results

Registered DTI superimposed on SPGR and T2 registered (cycles show T1 and T2 and color DTI overlay)