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

From NAMIC Wiki
Jump to: navigation, search
(Created page with 'Back to ARRA main page <br> Back to Registration main page <br> [[Projects:RegistrationDocumentation:UseCaseInv…')
 
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(48 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"
|[[Image:RLib02_SPGR.png|150px|lleft|this is the fixed reference image. All images are aligned into this space]]  
+
|[[Image:RegLib_C29_thumb1.png|150px|lleft|this is the fixed reference image. All images are aligned into this space]]  
 
|[[Image:RegArrow_Affine.png|100px|lleft]]  
 
|[[Image:RegArrow_Affine.png|100px|lleft]]  
|[[Image:RLib02_FLAIR_150.png|150px|lleft|this is the moving image. The transform is calculated by matching this to the reference image]]
+
|[[Image:RegLib_C29_thumb2.png|150px|lleft|this is the T2 reference image, serves as target to the DTI baseline, but is itself aligned to the SPGR]]
 +
|[[Image:RegArrow_NonRigid.png|100px|lleft]]
 +
|[[Image:RegLib_C29_thumb3.png|150px|lleft|this is the DTI Baseline scan, to be registered with the T2]]
 +
|[[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
+
|moving image 1<br>T2
|-
+
|
|resampled labelmap<br>in reference space
+
|moving image 2a<br>DTI baseline
|[[Image:ResampleArrow_Affine.png|100px|lleft]]
+
|moving image 2b<br>DTI tensor
|[[Image:RLib02_FLAIR+LesionSeg_150.png|150px|lleft|this is a passive image to which the calculated transform is applied. It is a label-map in the same space as the moving FLAIR image]]
 
|-
 
|result
 
|resample
 
|segmentation labelmap
 
 
|}
 
|}
  
=== Modules ===
+
=== Slicer4 Modules used ===
*'''Slicer 3.6.1 recommended modules:  [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit BrainsFit], [http://www.slicer.org/slicerWiki/index.php/Modules:RegisterImagesMultiRes-Documentation-3.6 Robust Multiresolution Affine]'''
+
* [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 scenario occurs in many forms whenever we wish to align all the series from a single MRI exam/session into a common space. Alignment is necessary because the subject likely has moved in between series. As additional files we have a labelmap for the moving image we need to move along .
+
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 ===
MRI, brain, head, intra-subject, FLAIR, T1, defacing, masking, labelmap, segmentation
+
MRI, brain, head, intra-subject, DTI, T1, T2, non-rigid, tumor, surgical planning
  
 
===Input Data===
 
===Input Data===
*reference/fixed : T1 SPGR , 1x1x1 mm voxel size, 256 x 256 x 146, sagittal,
+
*reference/fixed : T1 SPGR , 0.5x0.5x1 mm voxel size, 512 x 512 x 176
*moving: T2 FLAIR 1.2x1.2x1.2 mm voxel size, sagittal
+
*moving 1: T2 0.5x0.5x1.5 mm voxel size, 512 x 512 x 92
*tag: segmentation labelmap obtained from above FLAIR, to be resampled with result transform
+
*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===
 
===Registration Challenges===
*the amount of misalignment is small. Subject did not leave the scanner in between the two acquisitions, but we have some head movement.
+
*The DWI sequence (EPI) contains strong distortions we seek to correct via non-rigid alignment
*we know the underlying structure/anatomy did not change, but the two distinct acquisition types may contain different amounts of distortion
+
*The DWI sequence also contains strong intensity inhomogeneity (coil bias)
*the T1 high-resolution had a "defacing" applied, i.e. part of the image containing facial features was removed to ensure anonymity. The FLAIR is lower resolution and contrast and did not need this. The sharp edges and missing information in part of the image may cause problems.
+
*the DTI baseline is similar in contrast to a T2, albeit at much lower resolution
*we have one or more label-maps attached to the moving image that we also want to align.
+
*we have different amounts of voxel-anisotropy
*the different series have different dimensions, voxel size and field of view. Hence the choice of which image to choose as the reference becomes important. The additional image data present in one image but not the other may distract the algorithm and require masking.
+
*a direct registration of the DTI_baseline to the SPGR will fail, hence a 2-step approach is required
*hi-resolution datasets may have defacing applied to one or both sets, and the defacing-masks may not be available
 
*the different series have different contrast. The T1 contains good contrast between white (WM) and gray matter (GM) , and pathology appears as hypointense. The FLAIR on the other hand shows barely any WM/GM contrast and the pathology appears very dominantly as hyperintense.
 
  
 
===Key Strategies===
 
===Key Strategies===
*'''Slicer 3.6 recommended modules:  [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit BrainsFit], [http://www.slicer.org/slicerWiki/index.php/Modules:RegisterImagesMultiRes-Documentation-3.6 Robust Multiresolution Affine]'''
+
*'''Slicer 4 recommended modules:  [https://www.slicer.org/wiki/Modules:BRAINSFit BrainsFit]
*we use an affine transform with 12 DOF (rather than a rigid one) to address distortion differences between the two protocols
+
*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 choose the SPGR as the anatomical reference. Unless there are overriding reasons, always use the highest resolution image as your fixed/reference, to avoid loosing data through the registration.
+
*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 defacing of the SPGR image introduces sharp edges that can distract the registration algorithm; we use a multi-resolution approach (initialization + 6 DOF for BrainsFit or the Robust Multires module) to avoid instability
+
*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.  
*because of the contrast differences and the defacing we use '''Mutual Information''' as the cost function (default for both recommended modules)
+
*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 ===
'''with  BrainsFit''' (ca. 3 min):
+
*'''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
+
##''Input DWI Volume'': "DWI"
#open Registration : ''BrainsFit'' module
+
##''Output Baseline Volume'':  ''Create New Volume'', rename to "DWI_baseline"
#Input Parameters: set SPGR as fixed and FLAIR as moving image
+
##''Output Threshold Mask'': ''Create New Volume'', rename to "DWI_mask"
#Registration Phases:  
+
##Leave other settings at default; click ''Apply''
##select ''Initialize with CenterofHeadAlign''
+
*'''Phase II: Preprocessing: Convert DWI -> DTI'''
##select ''Include Rigid registration phase''
+
#open [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/DiffusionTensorEstimation "Diffusion Tensor Estimation" module] (menu: Diffusion:DiffusionWeightedImages: DiffusionTensorEstimation)
##select  "Include Affine registration phase"
+
##''Input DWI Volume'': DWI_iso,
#Output Settings: select "New Linear Transform" under ''Output Transform''
+
##''Output DTI Volume'': create new, rename to "DTI_iso"
#accept all other defaults & click apply
+
##''Output Baseline Volume'': create new, rename to "DWI_iso_baseline"
#program will automatically move FLAIR image  under the result transform; also manually move the labelmap
+
#Click: Apply
#right click on either image and select ''Harden Transform'' to apply & resample
+
*'''Phase III: register T2 to T1'''
#save result images/scene
+
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSFit General Registration (BRAINS) module]
<br>
+
##''Fixed Image Volume'': T1
'''with MultiresolutionAffine''' (ca. 15 min):
+
##''Moving Image Volume'': T2
#download example dataset
+
##Output Settings:  
#load into 3DSlicer 3.6
+
###''Slicer BSpline Transform": none
#open Registration : ''RobustAffineMultiresolution'' module
+
###''Slicer Linear Transform'': create new transform, rename to "Xf1_T2-T1"
#set SPGR as fixed and FLAIR as moving image
+
###''Output Image Volume'': create new volume,  rename to "T2_Xf1"
#accept all defaults & click apply
+
##''Registration Phases'': check boxes for ''Rigid'' and ''Affine''
#go to ''Data'' module and move FLAIR and labelmap under the result transform
+
##''Main Parameters'':
#right click on either image and select ''Harden Transform'' to apply & resample
+
###''Number Of Samples'': 200,000
#save result images/scene
+
##Leave all other settings at default
 
+
##click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz)
for more details see the tutorial under Downloads
+
*'''Phase IV:  Register DTI (masked)'''
 +
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSFit General Registration (BRAINS) module]
 +
##''Fixed Image Volume'': FLAIR_Xf1
 +
##''Moving Image Volume'': DWI_iso_baseline
 +
##Output Settings:
 +
###''Slicer BSpline Transform": create new transform, rename to "Xf2_DTI-T1"
 +
###''Slicer Linear Transform'': none
 +
###''Output Image Volume'': create new volume,  rename to DWI_baseline_Xf2
 +
##''Regstration Phases'': check boxes for ''Rigid'',  ''Affine'' and ''BSpline''
 +
##''Main Parameters'':
 +
###''Number Of Samples'': 300,000
 +
###''B-Spline Grid Size'': 7,7,5
 +
##''Mask Option'': select ''ROIAUTO'' button
 +
###''(ROIAUTO) Output fixed mask'': create new volume
 +
###''(ROIAUTO) Output moving mask'': create new volume
 +
##Leave all other settings at default
 +
##click: Apply; runtime 1-2 min (MacPro QuadCore 2.4GHz)
 +
*'''Phase V: Resample DTI'''
 +
#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)
 +
##''Input Volume'': DTI
 +
##''Output Volume'': create new DTI Volume, rename to ''DTI_Xf2''
 +
##''Reference Volume'': T2_Xf1
 +
##''Transform Node'': select "Xf2_DTI-T1'' created above
 +
##check box: ''displacement''
 +
#leave all other settings at defaults
 +
#Click Apply; runtime ~ 3 min.
 +
#set T1 or FLAIR as background and the new  ''DTI_Xf2'' volume as foreground
 +
#Move fade slider to see DTI overlay onto the structural image
  
 
=== Registration Results===
 
=== Registration Results===
[[Image:RegLib_C02_Unreg_AnimGif.gif|500px|Unregistered Data + segmentation labelmap]] 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>
[[Image:RegLib_C02_Result_AnimGif.gif|500px|Robust Multiresolution Registration Result: FLAIR + segmentation aligned with SPGR]] : registered w. Multiresolution affine <br>
 
[[Image:RegLib_C02_AGif_BrainsFit.gif‎|500px|BrainsFit Result: FLAIR aligned with SPGR]]: registered w. BrainsFit <br>
 
 
<br>
 
<br>
'''Conclusion:''' Both Multiresolution and BrainsFit modules produce good registrations without the need for additional initialization or masking. The BrainsFit solution is the faster of the two (3 minutes vs. 15 minutes).
 
 
=== Download ===
 
*DATA:[[Media:RegLib_C02_DATA.zip‎|'''Registration Library Case 02: MSBrain intra-subject multi-contrast''' <small> (Data & Solution Xforms, zip file 18 MB) </small>]]
 
*PRESETS: both recommended modules run with default settings. No presets required.
 
*TUTORIALS:
 
**[[Media:RegLib_C02_ScreenCast.mov| Screencast movie (Quicktime, 16MB)]]
 

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)