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

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(27 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 #10: Co-registration of probabilistic tissue atlas for subsequent EM segmentation ==
+
== <small>v3.6.1</small> [[Image:Slicer3-6Announcement-v1.png‎|150px]] Slicer Registration Library Case #10: Co-registration of probabilistic tissue atlas for subsequent EM segmentation ==
 
+
=== Input ===
{| style="color:#bbbbbb; background-color:#333333;" cellpadding="10" cellspacing="0" border="0"
+
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
|[[Image:RegLib_C10_EMAtlas1.png|150px|lleft|this is the fixed reference image. All images are aligned into this space]]  
+
|[[Image:RegLib_C10_EMAtlas1.png|150px|lleft|this is the fixed T1 reference image.]]  
|[[Image:Arrow_left_gray.jpg|100px|lleft]]  
+
|[[Image:RegArrow_NonRigid.png|100px|lleft]]  
|[[Image:RegLib_C10_EMAtlas2.png|150px|lleft|this is the moving image. The transform is calculated by matching this to the reference image]]
+
|[[Image:RegLib_C10_EMAtlas2.png|150px|left|this is the probabilistic tissue atlas, to be registered to the T1]]
|align="left"|LEGEND<br><small><small>
 
[[Image:Button_red_fixed.jpg|20px|lleft]]  this indicates the reference image that is fixed and does not move. All other images are aligned into this space and resolution<br>
 
[[Image:Button_green_moving.jpg|20px|lleft]] this indicates the moving image that determines the registration transform.  <br>
 
[</small></small>
 
 
|-
 
|-
|[[Image:Button_red_fixed.jpg|40px|lleft]]  Target Brain
+
|Target Brain  
 
|
 
|
|[[Image:Button_green_moving.jpg|40px|lleft]] Tissue Atlas
+
|Probabilistic Atlas  
|-
 
|0.46 x 0.46 x 3.0 mm axial <br> 512 x 512 x 46<br>RAS
 
|
 
|1.0 x 1.0 x 3.3 mm <br> axial oblique<br> 256 x 256 x 36 <br>RAS
 
 
|}
 
|}
 +
 +
=== Modules ===
 +
*'''Slicer 3.6.1 recommended modules:  [https://www.slicer.org/wiki/Modules:BRAINSFit BrainsFit]'''
 +
 +
==Slicer Registration Library Exampe #10: Co-registration of probabilistic tissue atlas for subsequent EM segmentation ==
  
 
===Objective / Background ===
 
===Objective / Background ===
Line 29: Line 26:
  
 
===Input Data===
 
===Input Data===
*[[Image:Button_red_fixed_white.jpg|20px]]reference/fixed : T1w axial, 1mm resolution in plane, 3mm slices
+
*fixed : T1w axial, 0.9375 x 0.9375 x 1.5 mm axial, 256 x 256 x 124
*[[Image:Button_green_moving_white.jpg|20px]] moving: Probabilistic Tissue atlas,  
+
*moving: Probabilistic Tissue atlas, 0.9375 x 0.9375 x 1.5 mm axial, 256 x 256 x 124
x 36 x 9
+
 
 +
=== Methods ===
 +
*'''Version 1: BRAINSfit w/o masking'''
 +
#open BRAINSfit module
 +
##fixed image: fixed;  moving image: moving
 +
##Registration phases: check: Rigid, ScaleVersor3D, Affine, BSpline
 +
##Output: under ''Slicer BSpline Transform'', select "create new" and rename to "Xf3_BFit_unmasked"
 +
##Output: under ''Output Image Volume'', select "create new" and rename to "moving_Xf3"
 +
##Output Image Pixel Type: check box for "short"
 +
##Registration Parameters: increase ''Number of Samples'' to 200,000
 +
##Number of Grid Subdivisions: 5,5,5
 +
##leave rest at defaults
 +
##click: ''Apply''
 +
*'''Version 2: Expert Automated + Fast BSpline Modules incl. masking'''
 +
#build brain mask for the fixed image only:
 +
##open '''Skull Stripping''' module.
 +
##Settings:  100 iterations, 20 subdivisions.
 +
##Ouput: create new volum, rename to  "fixed_mask"
 +
##Click: ''Apply''
 +
##manually edit brain mask with '''Editor''' module. required manual fix at frontal and occipital lobe
 +
#open ''Expert Automated Registration'' module
 +
##Settings: Fixed Image: fixed, moving image: moving
 +
##Save Transform: ''Xf1_Affine_wmsk''
 +
##Initialization: Centers of Mass, Registration: PipelineAffine
 +
##Expected offset: 10 ,  Expected Rotation: 0.2
 +
##Expected Scale: 0.1 ,  Expected Skew: 0.05
 +
##Fixed Image Mask:  "fixed_mask"
 +
##Affine Max Iteration: 80  ,  Affine Sampling Ratio: 0.05
 +
#(alternatively automated Affine Registration:  '''Register Images Multires''' also produces good results
 +
# run '''Fast Deformable B-spline Registration''' module. Settings:
 +
##Iterations: 20 , Grid Size: 9  
 +
##fixed image: fixed;  moving image: moving
 +
##Histogram Bins: 50,  Spatial Samples: 50000
 +
## initial transform:  "Xf1_Affine_wmsk"
 +
##Output Transform: Xf2_BSpline1
 +
##Output Volume: create new, rename to "moving_Xf2"
  
 
=== Registration Results===
 
=== Registration Results===
{| style="color:#bbbbbb; background-color:#333333;" cellpadding="10" cellspacing="0" border="0"
+
[[Image:RegLib_C10_unreg_AnimGif.gif|300px|unregistered]] unregistered 
|[[Image:RegLib_C10_unreg_AnimGif.gif|200px|left|unregistered]] [[Image:RegLib_C10_BSpline_AnimGif.gif|200px|left|after BSpline non-rigid registration]]  
+
[[Image:RegLib_C10_BSpline_AnimGif.gif|300px|after BSpline non-rigid registration]] afterAffine+ fast BSpline non-rigid registration<br><br>
|}
+
[[Image:RegLib_C10_BFit_AGif.gif‎|400px|after BRAINSfit affine+ non-rigid registration]] after BRAINSfit affine+ non-rigid registration<br>
  
 
===Download ===
 
===Download ===
*'''[[Media:RegLib_C10_MRI_AtlasSegmentation.zip‎|download entire package <small> (Data,Tutorial, Solution, zip file xx MB) </small>]]'''  
+
*Data
 +
**'''[[Media:RegLib_C10_Data.zip‎‎|RegLig_C10_Data <small> (Data,Presets, Solutions, zip file 17 MB) </small>]]'''  
 
*Presets
 
*Presets
*Tutorial only
+
**'''[[Media:RegLib_C10_Presets_BFit.mrml|download registration parameter presets only<small> (Slicer MRML file, 4 kB) </small>]]'''
*Image Data only
+
**'''[[Media:RegLib_C10_RegPresets_v3.5.mrml|download registration parameter presets for Slicer 3.5<small> (Slicer MRML file, 4 kB) </small>]]'''
<!--
+
**[[Projects:RegistrationDocumentation:ParameterPresetsTutorial|Link to User Guide: How to Load/Save Registration Parameter Presets]]
**[[Media:RegPreset_RegUC-001.txt|download registration parameter presets file  <small> (MRML file, import as scene) </small>]]
+
*Documentation
**[[Media:RegLib_C01_Data_TumorGrowth.zip|download image dataset only  <small>(NRRD, 10.7 MB, filename: RegLib_C01_Data_TumorGrowth.zip) </small>]]  
+
**'''[[Media:RegLib_C10_Tutorial.ppt‎‎|download step-by-step tutorial <small> (PowerPoint, 3 MB) </small>]]'''
**[[Media:RegLib_Case_01_NRRD_TumorGrowth.zip|download image dataset only  <small>(NRRD, 10.7 MB, filename: RegLib_Case_01_NRRD_TumorGrowth.zip) </small> ]]  
+
**'''[[Media:RegLib_C10_Tutorial.pdf|download step-by-step tutorial <small> (PDF, 5 MB) </small>]]'''
**[[Media:RegLib_C01_DataNIFTI_TumorGrowth.zip|download image dataset in NIFTI format <small>(NIFTI / nii, 10.7 MB, filename: RegLib_C01_DataNIFTI_TumorGrowth.zip) </small> ]]
 
**[[Media:RegXForm_RegUC-001.tfm.txt|result transform file <small>(ITK .tfm file, load into slicer and apply to the target volume)</small>]]
 
**Tutorials (step-by -step walk through):
 
***[[Media:RegLib_C01_VideoTutorial_TumorGrowth.mov|download/play video tutorial <small>(quicktime, 15.9 MB, filename: RegLib_C01_VideoTutorial_TumorGrowth.mov) </small>]]
 
***[[Media:RegLib_C01_PPTTutorial_TumorGrowth.ppt.zip‎|download power point tutorial <small>(zip file, 2.8 MB, filename: RegLib_C01_PPTTutorial_TumorGrowth.ppt.zip) </small>]]
 
***[[Media:RegInstr_RegUC-001.txt‎|download step-by step text instructions <small>(rtf text file) </small>]]
 
*'''[[Media:RegLib_C01_TumorGrowth_MultiresSolution_Dec09.zip‎|Multiresolution testresult package  <small> (Data,Xform, Solution, zip file 16.5 MB) </small>]]'''
 
*'''[http://www.insight-journal.org/midas/item/bitstream/2332 Download package from MIDAS server<small> (Data,Xform) </small>]'''
 
 
 
comment
 
-->
 
  
 
=== Discussion: Registration Challenges ===
 
=== Discussion: Registration Challenges ===
*Because the atlas represents a map of a particular tissue class probability, its contrast differs significantly from the target image.
+
*Because the atlas represents a probabilistic image (i.e. contains blurring from combining multiple subjects), its contrast differs significantly from the target image.
*The two images may have strong differences in  voxel sizes and voxel anisotropy. If the orientation of the highest resolution is not the same in both images, finding a good match can be difficult.
+
*The atlas has rotational misalignment that can cause difficulty for automated affine registration.
 
*The two images represent different anatomies, a non-rigid registration is required
 
*The two images represent different anatomies, a non-rigid registration is required
  
 
=== Discussion: Key Strategies ===
 
=== Discussion: Key Strategies ===
 
*Because of the strong differences in image contrast, Mutual Information is recommended as the most robust metric.
 
*Because of the strong differences in image contrast, Mutual Information is recommended as the most robust metric.
*masking (skull stripping) is highly recommended to obtain good results.  
+
*masking (skull stripping) is recommended to obtain good results for the initial affine alignment. For the 2nd stage BSpline use the full image (i.e. do NOT use the masked version) unless high-quality masks are available for '''both''' fixed & moving image. Using the crude mask created for the initial alignment for the BSpline will likely destabilize.  
*because speed is not that critical, we increase the sampling rate from the default 2% to 15%.
+
*because speed is not that critical, increase the default sampling rate for both affine and BSpline registration
 
*we also expect larger differences in scale & distortion than with regular structural scans: so we significantly  (2x-3x) increase the expected values for scale and skew from the defaults.  
 
*we also expect larger differences in scale & distortion than with regular structural scans: so we significantly  (2x-3x) increase the expected values for scale and skew from the defaults.  
 
*a good affine alignment is important before proceeding to non-rigid alignment to further correct for distortions.
 
*a good affine alignment is important before proceeding to non-rigid alignment to further correct for distortions.
  
 
=== Acknowledgments ===
 
=== Acknowledgments ===
 +
*dataset provided by Killian Pohl, Ph.D.

Latest revision as of 17:25, 10 July 2017

Home < Projects:RegistrationLibrary:RegLib C10

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

v3.6.1 Slicer3-6Announcement-v1.png Slicer Registration Library Case #10: Co-registration of probabilistic tissue atlas for subsequent EM segmentation

Input

this is the fixed T1 reference image. lleft
this is the probabilistic tissue atlas, to be registered to the T1
Target Brain Probabilistic Atlas

Modules

Slicer Registration Library Exampe #10: Co-registration of probabilistic tissue atlas for subsequent EM segmentation

Objective / Background

This is an example of sparse atlas co-registration. Not all atlases have an associated reference image that can be used for registration. Because the atlas represents a map of a particular tissue class probability, its contrast differs significantly from the target image.

Keywords

MRI, brain, head, inter-subject, probabilistic atlas, atlas-based segmentation

Input Data

  • fixed : T1w axial, 0.9375 x 0.9375 x 1.5 mm axial, 256 x 256 x 124
  • moving: Probabilistic Tissue atlas, 0.9375 x 0.9375 x 1.5 mm axial, 256 x 256 x 124

Methods

  • Version 1: BRAINSfit w/o masking
  1. open BRAINSfit module
    1. fixed image: fixed; moving image: moving
    2. Registration phases: check: Rigid, ScaleVersor3D, Affine, BSpline
    3. Output: under Slicer BSpline Transform, select "create new" and rename to "Xf3_BFit_unmasked"
    4. Output: under Output Image Volume, select "create new" and rename to "moving_Xf3"
    5. Output Image Pixel Type: check box for "short"
    6. Registration Parameters: increase Number of Samples to 200,000
    7. Number of Grid Subdivisions: 5,5,5
    8. leave rest at defaults
    9. click: Apply
  • Version 2: Expert Automated + Fast BSpline Modules incl. masking
  1. build brain mask for the fixed image only:
    1. open Skull Stripping module.
    2. Settings: 100 iterations, 20 subdivisions.
    3. Ouput: create new volum, rename to "fixed_mask"
    4. Click: Apply
    5. manually edit brain mask with Editor module. required manual fix at frontal and occipital lobe
  2. open Expert Automated Registration module
    1. Settings: Fixed Image: fixed, moving image: moving
    2. Save Transform: Xf1_Affine_wmsk
    3. Initialization: Centers of Mass, Registration: PipelineAffine
    4. Expected offset: 10 , Expected Rotation: 0.2
    5. Expected Scale: 0.1 , Expected Skew: 0.05
    6. Fixed Image Mask: "fixed_mask"
    7. Affine Max Iteration: 80 , Affine Sampling Ratio: 0.05
  3. (alternatively automated Affine Registration: Register Images Multires also produces good results
  4. run Fast Deformable B-spline Registration module. Settings:
    1. Iterations: 20 , Grid Size: 9
    2. fixed image: fixed; moving image: moving
    3. Histogram Bins: 50, Spatial Samples: 50000
    4. initial transform: "Xf1_Affine_wmsk"
    5. Output Transform: Xf2_BSpline1
    6. Output Volume: create new, rename to "moving_Xf2"

Registration Results

unregistered unregistered after BSpline non-rigid registration afterAffine+ fast BSpline non-rigid registration

after BRAINSfit affine+ non-rigid registration after BRAINSfit affine+ non-rigid registration

Download

Discussion: Registration Challenges

  • Because the atlas represents a probabilistic image (i.e. contains blurring from combining multiple subjects), its contrast differs significantly from the target image.
  • The atlas has rotational misalignment that can cause difficulty for automated affine registration.
  • The two images represent different anatomies, a non-rigid registration is required

Discussion: Key Strategies

  • Because of the strong differences in image contrast, Mutual Information is recommended as the most robust metric.
  • masking (skull stripping) is recommended to obtain good results for the initial affine alignment. For the 2nd stage BSpline use the full image (i.e. do NOT use the masked version) unless high-quality masks are available for both fixed & moving image. Using the crude mask created for the initial alignment for the BSpline will likely destabilize.
  • because speed is not that critical, increase the default sampling rate for both affine and BSpline registration
  • we also expect larger differences in scale & distortion than with regular structural scans: so we significantly (2x-3x) increase the expected values for scale and skew from the defaults.
  • a good affine alignment is important before proceeding to non-rigid alignment to further correct for distortions.

Acknowledgments

  • dataset provided by Killian Pohl, Ph.D.