Difference between revisions of "Documentation:Nightly:Registration:RegistrationLibrary:RegLib C10"
(Created page with 'Back to Registration Library <br> = Slicer Registration Library Case #10: group atlas to structural MRI = == Input == …') |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
= Slicer Registration Library Case #10: group atlas to structural MRI = | = Slicer Registration Library Case #10: group atlas to structural MRI = | ||
== Input == | == Input == | ||
+ | {| style="color:#bbbbbb; " cellpadding="10" cellspacing="0" border="0" | ||
+ | |[[Image:RegLib_C10_Thumb1.png|150px|left|this is the fixed reference image. All images are aligned into this space]] | ||
+ | |[[Image:RegArrow_NonRigid.png|100px|left]] | ||
+ | |[[Image:RegLib_C10_Thumb2.png|150px|left|this is the moving target image, to be aligned with the reference image on the left]] | ||
+ | |- | ||
+ | |fixed image/target<br>T1 | ||
+ | | | ||
+ | |moving image<br>group atlas | ||
+ | |} | ||
==Description == | ==Description == | ||
− | This | + | This is an example of inter-subject registration; we seek to align a group atlas image with a structural reference T1. |
− | '''Approach''': we first compute | + | '''Approach''': we first compute an affine alignment of the atlas to the T1. We then proceed to nonrigid registrations of higher and higher DOF, stopping at the DOF where deformations become unreasonable. We can constrain the deformation by either explicit limits on the absolute deformation amount or via a mask. Constraints become increasingly critical as DOF increases. |
== Modules used == | == Modules used == | ||
*[[Documentation/Nightly/Modules/BRAINSFit| ''General Registration (BRAINS)'']] | *[[Documentation/Nightly/Modules/BRAINSFit| ''General Registration (BRAINS)'']] | ||
− | |||
− | |||
== Download (from NAMIC MIDAS) == | == Download (from NAMIC MIDAS) == | ||
<small>''Why 2 sets of files? The "input data" mrb includes only the unregistered data to try the method yourself from start to finish. The full dataset includes intermediate files and results (transforms, resampled images etc.). If you use the full dataset we recommend to choose different names for the images/results you create yourself to distinguish the old data from the new one you generated yourself. ''</small> | <small>''Why 2 sets of files? The "input data" mrb includes only the unregistered data to try the method yourself from start to finish. The full dataset includes intermediate files and results (transforms, resampled images etc.). If you use the full dataset we recommend to choose different names for the images/results you create yourself to distinguish the old data from the new one you generated yourself. ''</small> | ||
− | *[http://slicer.kitware.com/midas3/download/?items= | + | *[http://slicer.kitware.com/midas3/download/?items=116868 '''RegLib_C10.mrb''': input data only, use this to run the tutorial from the start <small>(Slicer mrb file. 12 MB). </small>] |
− | *[http://slicer.kitware.com/midas3/download/?items= | + | *[http://slicer.kitware.com/midas3/download/?items=116867 '''RegLib_C10_full.mrb''': includes raw data + all solutions and intermediate files, use to browse/verify <small>(Slicer mrb file. 50 MB). </small>] |
== Keywords == | == Keywords == | ||
− | MRI, | + | MRI, atlas, brain, head, inter-subject |
== Video Screencasts == | == Video Screencasts == | ||
− | #[[Media: | + | #[[Media:RegLib_C10_Affine+BSpline.mov|Movie/screencast showing rigid + BSpline registration]] |
− | |||
− | |||
== Procedure == | == Procedure == | ||
− | #''' | + | #'''Affine Registration''': register atlas to T1 |
##open the [[Documentation/Nightly/Modules/BRAINSFit|''General Registration (BRAINS)'' module]] | ##open the [[Documentation/Nightly/Modules/BRAINSFit|''General Registration (BRAINS)'' module]] | ||
− | ##''Fixed Image Volume'': | + | ##''Fixed Image Volume'': T1ref |
− | ##''Moving Image Volume'': | + | ##''Moving Image Volume'': Atlas |
##Output Settings: | ##Output Settings: | ||
###''Slicer BSpline Transform": none | ###''Slicer BSpline Transform": none | ||
− | ###''Slicer Linear Transform'': create & rename new transform: | + | ###''Slicer Linear Transform'': create & rename new transform: Xf1_Affine.tfm |
###''Output Image Volume'': none | ###''Output Image Volume'': none | ||
− | ##''Registration Phases'': check box for ' | + | ##''Registration Phases'': check box for "Rigid"', "Rigid+Scale" and "Affine" |
##''Main Parameters'' | ##''Main Parameters'' | ||
###'''Number of Samples''': 200,000 | ###'''Number of Samples''': 200,000 | ||
##click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz) | ##click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz) | ||
#'''Nonrigid BSpline Registration''' | #'''Nonrigid BSpline Registration''' | ||
− | ##''Fixed Image Volume'': | + | ##open the [[Documentation/Nightly/Modules/BRAINSFit|''General Registration (BRAINS)'' module]] |
− | ##''Moving Image Volume'': | + | ##''Fixed Image Volume'': T1ref |
+ | ##''Moving Image Volume'': Atlas | ||
###''Slicer BSpline Transform": create & rename new transform: Xf2_BSpline.tfm | ###''Slicer BSpline Transform": create & rename new transform: Xf2_BSpline.tfm | ||
##''Slicer Linear Transform'': none | ##''Slicer Linear Transform'': none | ||
− | ###''Output Image Volume'': create & rename new: | + | ###''Output Image Volume'': create & rename new: Atlas_Xf2 |
− | ##''Initialization Transform'':select " | + | ##''Initialization Transform'':select "Xf1_Affine" created above |
##''Initialization Transform Mode'': off | ##''Initialization Transform Mode'': off | ||
##''Registration Phases'': uncheck boxe for ''Rigid'' and instead check ''BSpline'' | ##''Registration Phases'': uncheck boxe for ''Rigid'' and instead check ''BSpline'' | ||
− | ##''Main Parameters'': '''Number of Samples''': | + | ##''Main Parameters'': '''Number of Samples''': 300,000 |
− | ##'' | + | ##''BSpline Grid Size'':5,5,3 |
+ | ##click: Apply | ||
+ | #'''Increasing DOF''' | ||
+ | ##repeat the above with a larger BSpline grid: | ||
+ | ###''Slicer BSpline Transform": create & rename new transform: Xf3_BSpline2.tfm | ||
+ | ###''Output Image Volume'': create & rename new: Atlas_Xf3 | ||
+ | ##''Initialization Transform'':select "Xf1_Affine" created above | ||
+ | ##''Initialization Transform Mode'': off | ||
+ | ##''Main Parameters'': '''Number of Samples''': 400,000 | ||
+ | ##''BSpline Grid Size'':7,7,5 | ||
##click: Apply | ##click: Apply | ||
− | + | #''further increase DOF'': you can continue exploring how far the direct approach (from Affine direct to high DOF BSpline) remains stable, by increasing the BSpline grid size until results become too distorted. Alternatively you can use the lower DOF result (e.g. Atlas_Xf2) as input to the next higher DOF transform. This enables a stable progression to higher DOF, but it also includes multiple resampling and accompanied data loss from interpolation blurring. | |
− | |||
− | # | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Registration Results== | ==Registration Results== | ||
{|cellpadding="10" cellspacing="0" border="0" | {|cellpadding="10" cellspacing="0" border="0" | ||
− | |[[Image: | + | |[[Image:RegLib_C10_unregistered.png|300px]] unregistered (click to enlarge) |
+ | |- | ||
+ | |[[Image:RegLib_C10_registered1_Affine.png|300px]] after affine registration (click to enlarge)<br> | ||
+ | |[[Image:RegLib_C10_registered2_Affine.gif|300px]] after affine registration (click to enlarge) | ||
|- | |- | ||
− | |[[Image: | + | |[[Image:RegLib_C10_registered3_BSpline.gif|300px]] after nonrigid BSpline (5x5x3) registration (click to enlarge) |
|- | |- | ||
− | |[[Image: | + | |[[Image:RegLib_C10_registered4_BSpline2.gif|300px]] after nonrigid BSpline (7x7x5) registration (click to enlarge) |
|} | |} | ||
=== Acknowledgments === | === Acknowledgments === |
Latest revision as of 18:51, 4 September 2013
Home < Documentation:Nightly:Registration:RegistrationLibrary:RegLib C10Contents
Slicer Registration Library Case #10: group atlas to structural MRI
Input
fixed image/target T1 |
moving image group atlas |
Description
This is an example of inter-subject registration; we seek to align a group atlas image with a structural reference T1. Approach: we first compute an affine alignment of the atlas to the T1. We then proceed to nonrigid registrations of higher and higher DOF, stopping at the DOF where deformations become unreasonable. We can constrain the deformation by either explicit limits on the absolute deformation amount or via a mask. Constraints become increasingly critical as DOF increases.
Modules used
Download (from NAMIC MIDAS)
Why 2 sets of files? The "input data" mrb includes only the unregistered data to try the method yourself from start to finish. The full dataset includes intermediate files and results (transforms, resampled images etc.). If you use the full dataset we recommend to choose different names for the images/results you create yourself to distinguish the old data from the new one you generated yourself.
- RegLib_C10.mrb: input data only, use this to run the tutorial from the start (Slicer mrb file. 12 MB).
- RegLib_C10_full.mrb: includes raw data + all solutions and intermediate files, use to browse/verify (Slicer mrb file. 50 MB).
Keywords
MRI, atlas, brain, head, inter-subject
Video Screencasts
Procedure
- Affine Registration: register atlas to T1
- open the General Registration (BRAINS) module
- Fixed Image Volume: T1ref
- Moving Image Volume: Atlas
- Output Settings:
- Slicer BSpline Transform": none
- Slicer Linear Transform: create & rename new transform: Xf1_Affine.tfm
- Output Image Volume: none
- Registration Phases: check box for "Rigid"', "Rigid+Scale" and "Affine"
- Main Parameters
- Number of Samples: 200,000
- click: Apply; runtime < 10 sec (MacPro QuadCore 2.4GHz)
- Nonrigid BSpline Registration
- open the General Registration (BRAINS) module
- Fixed Image Volume: T1ref
- Moving Image Volume: Atlas
- Slicer BSpline Transform": create & rename new transform: Xf2_BSpline.tfm
- Slicer Linear Transform: none
- Output Image Volume: create & rename new: Atlas_Xf2
- Initialization Transform:select "Xf1_Affine" created above
- Initialization Transform Mode: off
- Registration Phases: uncheck boxe for Rigid and instead check BSpline
- Main Parameters: Number of Samples: 300,000
- BSpline Grid Size:5,5,3
- click: Apply
- Increasing DOF
- repeat the above with a larger BSpline grid:
- Slicer BSpline Transform": create & rename new transform: Xf3_BSpline2.tfm
- Output Image Volume: create & rename new: Atlas_Xf3
- Initialization Transform:select "Xf1_Affine" created above
- Initialization Transform Mode: off
- Main Parameters: Number of Samples: 400,000
- BSpline Grid Size:7,7,5
- click: Apply
- repeat the above with a larger BSpline grid:
- further increase DOF: you can continue exploring how far the direct approach (from Affine direct to high DOF BSpline) remains stable, by increasing the BSpline grid size until results become too distorted. Alternatively you can use the lower DOF result (e.g. Atlas_Xf2) as input to the next higher DOF transform. This enables a stable progression to higher DOF, but it also includes multiple resampling and accompanied data loss from interpolation blurring.