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

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(11 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.3</small> [[Image:Slicer_cvers_banner.png|70px|This case is complete and up to date for version 3.6.3]]  Slicer Registration Library Case #20:  Intra-subject whole-body PET-CT =
+
= <small>updated for '''v4.1'''</small> [[Image:Slicer4_RegLibLogo.png|150px]] <br> Slicer Registration Library Case #20:  Intra-subject whole-body PET-CT =
 
=== Input ===
 
=== Input ===
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
 
{| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0"
Line 18: Line 18:
  
 
=== Modules ===
 
=== Modules ===
*'''Slicer 3.6.3''' recommended modules: [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit '''BrainsFit'''],
+
*'''Slicer 3.6.3''' recommended modules: [https://www.slicer.org/wiki/Modules:BRAINSFit '''BrainsFit'''],
  
 
===Objective / Background ===
 
===Objective / Background ===
Line 30: Line 30:
  
 
===Download ===
 
===Download ===
*Data
+
*Data:
**[[Media:RegLib_C20_Data.zip‎‎|'''RegLib C20 example data set; incl Presets and solutions <small> (zip file 116 MB) </small>]]
+
**[[Media:RegLib_C20_Data.zip‎‎|'''RegLib C20 example data set; incl. solutions <small> (zip file 86 MB) </small>]]
**[[Media:RegLib_C20_Presets.mrml‎ |'''Registration Presets'''<small> (.mrml files 16kB) </small>]]
+
*ScreenCast movies
**[[Projects:RegistrationDocumentation:ParameterPresetsTutorial|Link to User Guide: How to Load/Save Registration Parameter Presets]]
+
**[[Media:RegLib_C20_LoadingData.mov‎‎|loading the dataset & setting up the display <small> (quicktime movie .mov 6MB) </small>]]
 
+
**[[Media:RegLib_C20_Registration.mov‎‎|launching registration CT-CT<small> (quicktime movie .mov 9MB) </small>]]
=== Registration Results===
+
**[[Media:RegLib_C20_Resampling.mov‎‎|resampling PET<small> (quicktime movie .mov 9MB) </small>]]
[[Image:RegLib_C20_Rigid.gif|300px|rigid]]rigid<br>
 
[[Image:RegLib_C20_Affine.gif|300px|affine alignment]]affine alignment<br>
 
[[Image:RegLib_C20_BSpline1.gif‎|300px|BSpline registration of full volumes. 9 x 9 x 5 grid]]BSpline registration of full volumes. 9 x 9 x 5 grid<br>
 
[[Image:RegLib_C20_BSpline1_PET.gif‎‎| 300px|PET overlay ; BSpline registration of full volumes. 9 x 9 x 5 grid]]PET overlay ; BSpline registration of full volumes. 9 x 9 x 5 grid<br>
 
[[Image:RegLib_C20_BSpline2.gif‎|300px|BSpline registration of full volumes. 11 x 11 x 7 grid]]BSpline registration of full volumes. 11 x 11 x 7 grid<br>
 
[[Image:RegLib_C20_BSpline2_PET.gif‎‎| 300px|PET overlay ; BSpline registration of full volumes. 11 x 11 x 7 grid]]PET overlay ; BSpline registration of full volumes. 11 x 11 x 7 grid <br>
 
 
 
  
 
=== Procedures===
 
=== Procedures===
*'''Phase 1''': rigid alignment
+
*'''Phase 1''': Load & Display
#Go to the [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit '''BRAINSfit'''] module
+
#drag & drop (or load via File menu): CT_1, CT_2, PET_1, PET_2
##select Presets "Xf1_Rigid" or "Xf2_Affine" or set the parameters as given below:
+
##in the load Dialog, select ''Show Options'' and for each volume, select ''Center''.
##fixed image: "CT_1", moving image: "CT_2"
+
##click OK
##''Initialize with previous transform'': select "Off"
+
#go to [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/Volumes Volumes] module
##''Initialize Transform Mode'': check box for ''use MomentsAlign''
+
##''Active Volume'': PET_1
##check ''Include Rigid registration Phase'' box.  
+
##in the ''Display'' tab, click on the '''PET''' icon for window & level preset
##Output: under ''Slicer Linear Transform'', select new and rename to "Xf1_Rigid" or similar
+
##ditto for PET_2
##Registration Parameters: set "Number of Samples" to 200,000 at least
+
#place CT_1 in background and PET_1 in foreground an pan between. You should see them aligned.
 +
*'''Phase 2''': Co-register CT
 +
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSFit General Registration (BRAINS) module]
 +
##''Fixed Image Volume'': CT_1
 +
##''Moving Image Volume'': CT_2
 +
##Output Settings:
 +
###''Slicer BSpline Transform": create new & rename: "Xf2_CT21"
 +
###''Slicer Linear Transform'': none
 +
###''Output Image Volume'': create new & rename: "CT_2_Xf2"
 +
##''Regstration Phases'': check boxes for ''Rigid'',  "Rigid+Scale" , ''Affine'' and "BSpline"
 +
##''Main Parameters'':
 +
###''Number Of Samples'': 400,000
 +
###''B-Spline Grid Size'': 11,11,7
 +
##Leave all other settings at default
 +
##click: Apply; runtime ~ 5 min  (MacPro QuadCore 2.4GHz) for faster performance, reduce sample points to 200,000
 +
*'''Phase 3''': Resample PET
 +
#open the [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/BRAINSResample BRAINSResample] module (Registration menu)
 +
##''Image To Warp'': PET_2
 +
##''Reference Image'': PET_1
 +
##''Output Image'': create new & rename: "PET_2_Xf2"
 +
##''Warping Parameters''
 +
###''Warp By Transform'': Xf2_CT21'' created in Phase 2 above
 
##leave rest at defaults
 
##leave rest at defaults
##Click Apply
+
##''Apply''
#return to the  [http://www.slicer.org/slicerWiki/index.php/Modules:Data-Documentation-3.6 Data module] and drag the CT_2 inside/outside the different registration transforms to compare the alignment
+
#go to [http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.1/Modules/Volumes Volumes] module
*'''Phase 2''': affine alignment
+
##''Active Volume'': PET_2_Xf2
#Go to the [http://www.slicer.org/slicerWiki/index.php/Modules:BRAINSFit '''BRAINSfit'''] module
+
##in the ''Display'' tab, click on the '''PET''' icon for window & level preset
##same as Phase 1 above, except:
+
 
##''Initialize with previous transform'': select "Xf1_Rigid" from phase 1 above
+
=== Registration Results===
##''Initialize Transform Mode'': check box for ''Off''
+
[[Image:RegLib_C20_unregistered.gif|300px|rigid]]rigid<br>
##Output: under ''Slicer Linear Transform'', select new and rename to "Xf2_Affine" or similar
+
[[Image:RegLib_C20_BSpline.gif‎|300px|BSpline registration of full volumes. 11 x 11 x 7 grid]]BSpline registration of full volumes. 11 x 11 x 7 grid<br>
*'''Phase 3''': BSpline alignment
+
[[Image:RegLib_C20_BSplinePET.gif‎‎| 300px|PET overlay ; BSpline registration of full volumes. 11 x 11 x 7 grid]]PET overlay ; BSpline registration of full volumes. 11 x 11 x 7 grid [[Image:RegLib_C20_DeformGrid.png‎‎| 300px| grid overlay showing BSpline deformation ]] grid overlay showing BSpline deformation <br>
##same as Phase 2 above, except:
 
##''Initialize with previous transform'': select "Xf2_Affine" from phase 2 above
 
##Output: under ''Slicer BSpline Transform'', select new and rename to "Xf3_BSpline" or similar
 
##Output Image Volume: select new and rename to "CT_2_Xf3" or similar
 
##Registration Parameters: set "Number of Samples" to 250,000 at least
 
##Number of Grid Subdivisions: 9,9,5  or 11,11,7
 
##Click Apply
 
#return to the  [http://www.slicer.org/slicerWiki/index.php/Modules:Data-Documentation-3.6 Data module] and drag the CT_2 inside/outside the different registration transforms to compare the alignment
 
#to obtain a resampled volume: move CT_2 inside Xform of choice and then right-click on the volume and select ''Harden Transforms''. Save MRI under new name.
 
*'''Phase 4''': Resample PET
 
#Go to the [http://www.slicer.org/slicerWiki/index.php/Modules:ResampleScalarVectorDWIVolume-Documentation-3.6 '''ResampleScalarVectorDWIVolume'''] module
 
##''Input Volume'': PET_2  ; ''Reference Volume'': PET_1 ; ''Output Volume'':  create new, rename to "PET_2_Xf3"
 
##''Transform Node'': select  "Xf3_BSpline" created in phase 3 above
 
##''Transform Order'': check box for "output-to-input"
 
##Click Apply
 
  
 
<!--
 
<!--

Latest revision as of 17:39, 10 July 2017

Home < Projects:RegistrationLibrary:RegLib C20

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 #20: Intra-subject whole-body PET-CT

Input

this is the fixed PET/CT 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

Versions

For the Slicer 3.6 version of this case see here

Modules

Objective / Background

Change assessment.

Keywords

PET-CT, whole-body, change assessment

Input Data

  • reference/fixed : baseline CT: 0.98 x 0.98 x 5 mm , 512 x 512 x 149; PET: 4.1 x 4.1 x 5 mm , 168 x 168 x 149
  • moving: CT: 0.98 x 0.98 x 5 mm , 512 x 512 x 149; PET: 4.1 x 4.1 x 5 mm , 168 x 168 x 149

Download

Procedures

  • Phase 1: Load & Display
  1. drag & drop (or load via File menu): CT_1, CT_2, PET_1, PET_2
    1. in the load Dialog, select Show Options and for each volume, select Center.
    2. click OK
  2. go to Volumes module
    1. Active Volume: PET_1
    2. in the Display tab, click on the PET icon for window & level preset
    3. ditto for PET_2
  3. place CT_1 in background and PET_1 in foreground an pan between. You should see them aligned.
  • Phase 2: Co-register CT
  1. open the General Registration (BRAINS) module
    1. Fixed Image Volume: CT_1
    2. Moving Image Volume: CT_2
    3. Output Settings:
      1. Slicer BSpline Transform": create new & rename: "Xf2_CT21"
      2. Slicer Linear Transform: none
      3. Output Image Volume: create new & rename: "CT_2_Xf2"
    4. Regstration Phases: check boxes for Rigid, "Rigid+Scale" , Affine and "BSpline"
    5. Main Parameters:
      1. Number Of Samples: 400,000
      2. B-Spline Grid Size: 11,11,7
    6. Leave all other settings at default
    7. click: Apply; runtime ~ 5 min (MacPro QuadCore 2.4GHz) for faster performance, reduce sample points to 200,000
  • Phase 3: Resample PET
  1. open the BRAINSResample module (Registration menu)
    1. Image To Warp: PET_2
    2. Reference Image: PET_1
    3. Output Image: create new & rename: "PET_2_Xf2"
    4. Warping Parameters
      1. Warp By Transform: Xf2_CT21 created in Phase 2 above
    5. leave rest at defaults
    6. Apply
  2. go to Volumes module
    1. Active Volume: PET_2_Xf2
    2. in the Display tab, click on the PET icon for window & level preset

Registration Results

rigidrigid
BSpline registration of full volumes. 11 x 11 x 7 gridBSpline registration of full volumes. 11 x 11 x 7 grid
PET overlay ; BSpline registration of full volumes. 11 x 11 x 7 gridPET overlay ; BSpline registration of full volumes. 11 x 11 x 7 grid grid overlay showing BSpline deformation grid overlay showing BSpline deformation


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.
  • because of the large FOV we have strong non-rigid deformations from differences in patient/limb positions etc.
  • images are large volumes (>100 MB total)
  • 2 images pairs have to be aligned, i.e. the calculated transform must be applied to the second (PET) image.

Discussion: Key Strategies

  • to calculate the transform, we use the images with the most accurate geometric representation and the smallest expected change, i.e. we align the follow-up CT to the baseline CT and then apply the transforms to the PET image.
  • because of the non-rigid differences due to posture and breathing we will need to apply a 2-step registration with an affine alignment followed by a BSpline.