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

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/")
 
(7 intermediate revisions by one other user not shown)
Line 6: Line 6:
 
=== Input ===
 
=== Input ===
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
|[[Image:RegLib_C37_Thumb1.png|200px|lleft|this is the fixed reference image. All images are aligned into this space]]  
+
|[[Image:RegLib_C37_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_NonRigid.png|100px|lleft]]  
|[[Image:RegLib_C37_Thumb1|200px|lleft|this is the moving image. The transform is calculated by matching this to the reference image]]
+
|[[Image:RegLib_C37_Thumb2.png|150px|lleft|this is the moving image. The transform is calculated by matching this to the reference image]]
 
|-
 
|-
 
|fixed image/target
 
|fixed image/target
Line 17: Line 17:
 
=== Modules ===
 
=== Modules ===
 
'''Slicer 3.6.1''' recommended modules:   
 
'''Slicer 3.6.1''' recommended modules:   
*[http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit BrainsFit]
+
*[https://www.slicer.org/wiki/Modules:BRAINSFit BrainsFit]
*[http://www.slicer.org/slicerWiki/index.php/Modules:SkullStripperModule Skull-Stripper Module]
+
*[https://www.slicer.org/wiki/Modules:SkullStripperModule Skull-Stripper Module]
  
 
===Objective / Background ===
 
===Objective / Background ===
Line 28: Line 28:
 
*reference/fixed : T1 SPGR , 1x1x1 mm voxel size, 256x256x176 ,sagittal
 
*reference/fixed : T1 SPGR , 1x1x1 mm voxel size, 256x256x176 ,sagittal
 
*moving: T1 SPGR , 1x1x1 mm voxel size, 256x256x176 ,sagittal
 
*moving: T1 SPGR , 1x1x1 mm voxel size, 256x256x176 ,sagittal
 +
 +
=== Overall Strategy ===
 +
:#run rigid/affine registration (BRAINSfit) with "CenterOfHeadAlign" initialization
 +
:#run 7x7x7 nonrigid regista=ration (BRAINSfit BSpline) using the above affine as input
 +
:#alternative: run skull stripper module on both images to generate masks for the nonrigid registration
 +
 +
=== Procedures ===
 +
*'''Phase I:  Register Rigid/Affine'''
 +
#open Registration : ''BrainsFit'' module (presets: BRAINSfit_Xf1 or _Xf2
 +
##Registration Phases:
 +
###select/check ''Include Affine registration phase''
 +
###for affine also select/check ''Include Scale Versor 3D'' and  ''Include Affine'' registration phase''
 +
##Registration Parameters: increase ''Number Of Samples'' to 200,000
 +
###select a new transform "Linear Transform", rename to "Xf1_affine"
 +
##Leave all other settings at default
 +
*'''Phase II:  [optional]: generate skull mask
 +
#open ''Skull Stripper for Structural MRI'' Module (Extension module)
 +
#increase ''Iterations" to 200 and ''Subdivisions'' to 12
 +
#both results will have to be edited manually using the Editor module.
 +
*'''Phase III:  Register BSpline'''
 +
#open Registration : ''BrainsFit'' module (presets: BRAINSfit_Xf3 or _Xf4
 +
##select a new volume "Output Image Volume'', rename to "DTI_base_Xf1"
 +
##Registration Parameters: increase ''Number Of Samples'' to 200,000
 +
##Registration Parameters: set  ''Number Of Grid Subdivisions'' to 7x7x7
 +
##Leave all other settings at default
 +
##if using masks, set the ''Mask Processing Mode'' to "ROI" and select the two labelmaps generated in phase II as Input Masks
  
 
=== Registration Results===
 
=== Registration Results===
 
{| 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_C37_.gif|400px|center|Fast Affine registration result]]   
+
|[[Image:RegLib_C37_unreg.png|400px|center|unregistered]]   
|[[Image:RegLib01_GifAnim_reg.gif|200px|center|after orientation]]  
+
|original unregistered
|[[Image:RegLib01_ColorAnim.gif|200px|center|before/after registration, indiv. images in red/cyan, match in gray]]  
+
|-
 +
|[[Image:RegLib_C37_Xf1.gif|400px|center|rigid]]
 +
|[[Image:RegLib_C37_Xf2.gif|400px|center|affine]]
 
|-
 
|-
|''Fast Affine'' registration result
+
|rigid registered
|''ExpertAutomatedRegistration'' registration result
+
|affine registered
|before/after registration with ''ExpertAutomatedRegistration'' module
+
|-
 +
|[[Image:RegLib_C37_Xf3.gif|400px|center|BSpline (7x7x7) unmasked]] 
 +
|[[Image:RegLib_C37_Xf4.gif|400px|center|BSpline (7x7x7) masked]] 
 +
|-
 +
|nonrigid registered (7x7x7 BSpline unmasked)
 +
|nonrigid registered (7x7x7 BSpline '''masked''')
 
|}
 
|}
  
 
===Download ===
 
===Download ===
*Slicer 3.6.1 packages:
+
*Data
**'''[[Media:RegLib_C01_DATA.zip‎|Image Data + solutions package  <small> (Data, Solution, zip file qqMB) </small>]]'''
+
**[[Media:RegLib_C37_Data.zip‎ |'''RegLib_C37_Data''' , image data, resets & solution transforms <small> (NRRD files, zip file 41 MB) </small>]]'''  
**'''[[Media:RegLib_C01_ScreenCast.mov|ScreenCast video <small> (Quicktime movie 14MB) </small>]]'''
+
*Presets
*Slicer 3.4 packages:
+
**[[Media:RegLib_C37_Presets.mrml‎|'''RegLib_C37_Presets''' Presets for BRAINSFIT registration <small> (.mrml file 12 kB) </small>]]'''
**[[Media:RegLib_Case_01_TumorGrowth.zip‎|download entire package  <small> (Data,Presets,Tutorial, Solution, zip file 33.7 MB) </small>]]
+
**[[Projects:RegistrationDocumentation:ParameterPresetsTutorial|Link to User Guide: How to Load/Save Registration Parameter Presets]]
**[[Media:RegLib_Case_01_TumorGrowth.zip‎|download entire package  <small> (Data,Presets,Tutorial, Solution, zip file 33.7 MB) </small>]]
 
**[[Media:RegPreset_RegUC-001.txt|download registration parameter presets file  <small> (MRML file, import as scene) </small>]]
 
**[[Media:RegLib_C01_Data_TumorGrowth.zip|download image dataset only  <small>(NRRD, 10.7 MB, filename: RegLib_C01_Data_TumorGrowth.zip) </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_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_PPTTutorial_TumorGrowth.ppt.zip‎|download power point tutorial <small>(zip file, 2.8 MB, filename: RegLib_C01_PPTTutorial_TumorGrowth.ppt.zip) </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>]
 
  
[[Projects:RegistrationDocumentation:ParameterPresetsTutorial|Link to User Guide: How to Load/Save Registration Parameter Presets]]
 
  
 
<!--
 
<!--
 
comment
 
comment
 
-->
 
-->
 
=== Discussion: Registration Challenges ===
 
*accuracy is the critical criterion here. We need the registration error (residual misalignment) to be smaller than the change we want to measure/detect. Agreement on what constitutes good alignment can therefore vary greatly.
 
*the two images have strong differences in coil inhomogeneity. This affects less the registration quality but hampers evaluation. Most of the difference does not become apparent until after registration in direct juxtaposition. Bias field correction beforehand is recommended.
 
*we have slightly different voxel sizes
 
*if the pathology change is substantial it might affect the registration.
 
 
=== Discussion: Key Strategies ===
 
*the two images have identical contrast, hence we consider "sharper" cost functions, such as NormCorr or MeanSqrd
 
*general practice is to register the follow-up to the baseline. However here the follow-up has slightly higher resolution. From an image quality/data perspective it would be better to use the highest resolution image as your fixed/reference. But here follow the most common convention, i.e. fixed image is the baseline.
 
*because we seek to assess/quantify regional size change, we must use a rigid (6DOF) scheme, i.e. we must exclude scaling.
 
*if the pathology change is soo large that it might affect the registration, we should mask it out. The simplest way to do this is to build a box ROI from the ROItool and feed it as input to the registration. Remember that masking does not mean that masked areas aren't matched, they just do not contribute to the cost function driving the registration, but move along passively.  Next more involved level would be to outline the tumor. If a segmentation is available, you can use that.
 
*these two images are not too far apart initially, so we reduce the default of expected translational misalignment
 
*because accuracy is more important than speed here, we increase the sampling rate from the default 2% to 15%.
 
*we also expect minimal differences in scale & distortion: so we can either set the expected values to 0 or run a rigid registration
 
*we test the result in areas with good anatomical detail and contrast, far away from the pathology. With rigid body motion a local measure of registration accuracy is representative and can give us a valid limit of detectable change.
 

Latest revision as of 18:07, 10 July 2017

Home < Projects:RegistrationLibrary:RegLib C37

Back to ARRA main page
Back to Registration main page
Back to Registration Case Library

v3.6.1 Slicer3-6Announcement-v1.png Slicer Registration Library Case #37:
Intra-subject Brain MRI: T1 Tumor Growth / Resection Assessment

Input

this is the fixed reference image. All images are aligned into this space lleft this is the moving image. The transform is calculated by matching this to the reference image
fixed image/target moving image

Modules

Slicer 3.6.1 recommended modules:

Objective / Background

This is a typical case of change assessment.

Keywords

MRI, brain, head, intra-subject, T1, tumor, change assessment

Input Data

  • reference/fixed : T1 SPGR , 1x1x1 mm voxel size, 256x256x176 ,sagittal
  • moving: T1 SPGR , 1x1x1 mm voxel size, 256x256x176 ,sagittal

Overall Strategy

  1. run rigid/affine registration (BRAINSfit) with "CenterOfHeadAlign" initialization
  2. run 7x7x7 nonrigid regista=ration (BRAINSfit BSpline) using the above affine as input
  3. alternative: run skull stripper module on both images to generate masks for the nonrigid registration

Procedures

  • Phase I: Register Rigid/Affine
  1. open Registration : BrainsFit module (presets: BRAINSfit_Xf1 or _Xf2
    1. Registration Phases:
      1. select/check Include Affine registration phase
      2. for affine also select/check Include Scale Versor 3D and Include Affine registration phase
    2. Registration Parameters: increase Number Of Samples to 200,000
      1. select a new transform "Linear Transform", rename to "Xf1_affine"
    3. Leave all other settings at default
  • Phase II: [optional]: generate skull mask
  1. open Skull Stripper for Structural MRI Module (Extension module)
  2. increase Iterations" to 200 and Subdivisions to 12
  3. both results will have to be edited manually using the Editor module.
  • Phase III: Register BSpline
  1. open Registration : BrainsFit module (presets: BRAINSfit_Xf3 or _Xf4
    1. select a new volume "Output Image Volume, rename to "DTI_base_Xf1"
    2. Registration Parameters: increase Number Of Samples to 200,000
    3. Registration Parameters: set Number Of Grid Subdivisions to 7x7x7
    4. Leave all other settings at default
    5. if using masks, set the Mask Processing Mode to "ROI" and select the two labelmaps generated in phase II as Input Masks

Registration Results

unregistered
original unregistered
rigid
affine
rigid registered affine registered
BSpline (7x7x7) unmasked
BSpline (7x7x7) masked
nonrigid registered (7x7x7 BSpline unmasked) nonrigid registered (7x7x7 BSpline masked)

Download