Difference between revisions of "Slicer3:Registration"

From Slicer Wiki
Jump to: navigation, search
m (Text replacement - "https?:\/\/www.slicer.org\/slicerWiki\/index.php\/([^ ]+) " to "https://www.slicer.org/wiki/$1")
 
(36 intermediate revisions by 4 users not shown)
Line 5: Line 5:
 
This page is organized by methods. Alternatively the  [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseInventory '''Slicer Registration Case Library'''] is organized by data type, i.e. it provides example cases, complete with tutorials, for a variety of registration problems collected in the "real world". You may find a good starting point and helpful discussion in those examples. If you find something amiss, please let us know so we can amend (meier at bwh.harvard.edu).  
 
This page is organized by methods. Alternatively the  [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseInventory '''Slicer Registration Case Library'''] is organized by data type, i.e. it provides example cases, complete with tutorials, for a variety of registration problems collected in the "real world". You may find a good starting point and helpful discussion in those examples. If you find something amiss, please let us know so we can amend (meier at bwh.harvard.edu).  
 
|
 
|
|[[Image:SlicerRegistrationLibrary_Ad.png|left|400px|Slicer Registration Case Library: Call for Example Datasets]] <br>
+
|[[Image:SlicerRegistrationLibrary_Ad.png|left|400px|link=http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement|Slicer Registration Case Library: Call for Example Datasets]] <br>
 
[http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement '''Consider adding your case to the library:''']   
 
[http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement '''Consider adding your case to the library:''']   
 
We can (for 2010-2011) offer you direct consulting on your image registration problem: If we can add your (anonymized) case to the Library, we will try to register it for you, build a step-by-step tutorial and send you the registration strategy and solution parameters. [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement See here for details.]  
 
We can (for 2010-2011) offer you direct consulting on your image registration problem: If we can add your (anonymized) case to the Library, we will try to register it for you, build a step-by-step tutorial and send you the registration strategy and solution parameters. [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement See here for details.]  
 
|}
 
|}
  
= Speed vs. Precision =
+
= Find Registration Method by Category: looking for..... =
 
{| cellpadding="2" cellspacing="2" width="550"
 
{| cellpadding="2" cellspacing="2" width="550"
|align="center" |[[Image:Registration_Speed_icon.png|135px|link=Registration:Speed]]
+
|align="center" |[[Image:Registration_Speed_icon.png|135px|link=Registration:Categories#Speed]]
|align="center" |[[Image:Registration_Precision_icon.png|135px |link=Registration:Precision]]
+
|align="center" |[[Image:Registration_Precision_icon.png|135px |link=Registration:Categories#Precision]]
 +
|align="center" |[[Image:Registration_HLogo_DOF.png|135px |link=Registration:Categories#DOF]]
 +
|align="center" |[[Image:Registration_HLogo_Datatype.png|135px |link=Registration:Categories#Datatype]]
 +
|align="center" |[[Image:Registration_HLogo_Brain.png|135px |link=Registration:Categories#Brain]]
 +
|align="center" |[[Image:Registration_HLogo_MethodChooser.png|135px |link=http://labelpage.halle.us/static/reg/index.html]]
 
|-
 
|-
| See [[Registration:Speed|here]] if registration '''speed''' is mission-critical.
+
| See [[Registration:Categories#Speed |here]] if registration '''speed''' is mission-critical.
| See [[Registration:Speed|here]]  if '''precision''' is more important than speed.
+
| See [[Registration:Categories#Precision|here]]  if precision/robustness is more important than speed.
 +
| See [[Registration:Categories#DOF |here]]  to choose by degree of freedom of motion.
 +
| See [[Registration:Categories#Datatype|here]]  to choose by datatype (image, surface, points).
 +
| See [[Registration:Categories#Brain|here]]  for Brain-specific registration modules.
 +
|see  [http://labelpage.halle.us/static/reg/index.html here] for an '''interactive method selection tool'''
 
|}
 
|}
  
 
= Default Registration Modules=
 
= Default Registration Modules=
  
{| cellpadding="2" cellspacing="2"  
+
{| cellpadding="6" cellspacing="2"  
|align="center" |[[Image:Registration_Rigid+Affine_icon.png| 135px |link=Modules:RegisterImages-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Rigid+Affine_icon.png| 135px |link= Modules:RegisterImages-Documentation-3.6]]
|align="center" |[[Image:Registration_Manual_icon.png| 135px |link=Modules:Transforms-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Manual_icon.png| 135px |link=Modules:Transforms-Documentation-3.6]]
|align="center" |[[Image:Registration_NonRigid_icon.png| 135px |link=Modules:DeformableB-SplineRegistration-Documentation-3.4]]
+
|align="center" |[[Image:Registration_NonRigid_icon.png| 135px |link=Modules:DeformableB-SplineRegistration-Documentation-3.6]]
 
|-
 
|-
|The [[Modules:RegisterImages-Documentation-3.4|'''Register Images''']] Module performs automated image registration, rigid to affine, based on image intensity similarities. It allows to focus the registration on a region of interest
+
|The [[Modules:RegisterImages-Documentation-3.6|'''Expert Automated Registration''']] Module performs automated image registration, with custom combinations of rigid to affine to nonrigid, based on image intensity similarities. It allows to focus the registration on a region of interest via a label mask.
|Manual/interactive alignment can be done via the [[Modules:Transforms-Documentation-3.4|'''Transforms''' ]] module, e.g. for initial alignment. See [[Slicer3.4:Training#Slicer_3.4_Tutorials| Tutorial and Example Dataset on Manual Registration (PowerPoint)]]
+
|Manual/interactive alignment can be done via the [[Modules:Transforms-Documentation-3.6|'''Transforms''' ]] module, e.g. for initial alignment. See [[Slicer3.4:Training#Slicer_3.4_Tutorials| here for a tutorial and example dataset on Manual Registration]]
|The [[Modules:DeformableB-SplineRegistration-Documentation-3.4|'''Deformable B-Spline Registration''']] Module performs non-rigid automated image registration.
+
|The [[Modules:DeformableB-SplineRegistration-Documentation-3.6|'''Fast Nonrigid BSpline Registration''']] Module performs non-rigid automated image registration.
 
|}
 
|}
  
 
= Alternative  Registration Modules =
 
= Alternative  Registration Modules =
  
{| cellpadding="2" cellspacing="2"  
+
{| cellpadding="6" cellspacing="2"  
|align="center" |[[Image:Registration_Rigid_icon.png| 135px |link=Modules:LinearRegistration-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Rigid_icon.png| 135px |link=Modules:RigidRegistration-Documentation-3.6]]
|align="center" |[[Image:Registration_Affine_icon.png| 135px |link=Modules:AffineRegistration-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Affine_icon.png| 135px |link=Modules:AffineRegistration-Documentation-3.6]]
 
|align="center" |[[Image:Registration_Multires_icon.png| 135px |link=Modules:RegisterImagesMultiRes-Documentation-3.6]]
 
|align="center" |[[Image:Registration_Multires_icon.png| 135px |link=Modules:RegisterImagesMultiRes-Documentation-3.6]]
 
|-
 
|-
|The [[Modules:LinearRegistration-Documentation-3.4|'''Linear Registration''']] Module performs automated rigid registration. This is being replaced by the [[Modules:RegisterImages-Documentation-3.4|Register Images]] Module that performs the same function.
+
|The [[Modules:RigidRegistration-Documentation-3.6 |'''Fast Rigid Registration''']] Module performs fast automated rigid registration (i.e. 6 DOF) using a mutual information criterion.  
|The [[Modules:AffineRegistration-Documentation-3.4|'''Affine Registration''']] Module performs automated affine registration. This is being replaced by the [[Modules:RegisterImages-Documentation-3.4|Register Images]] Module that performs the same function.
+
|The [[Modules:AffineRegistration-Documentation-3.6|'''Fast Affine Registration''']] Module performs fast automated affine registration (i.e. 12 DOF, includes scaling and shearing) using a mutual information criterion.
|The [[Modules:RegisterImagesMultiRes-Documentation-3.6|'''Multires Registration''']] module performs robust  automated affine image registration employing a multi-resolution scheme.
+
|The [[Modules:RegisterImagesMultiRes-Documentation-3.6|'''Robust Multiresolution Affine Registration''']] module performs robust  automated affine image registration employing a multi-resolution scheme.
 
|}
 
|}
  
 
= Modules for Special Case Registration =
 
= Modules for Special Case Registration =
  
{| cellpadding="2" cellspacing="2"  
+
{| cellpadding="6" cellspacing="2"  
|align="center" |[[Image:Registration_ACPC_icon.png|135px|link=Modules:RealignVolume-Documentation-3.4]]
+
|align="center" |[[Image:Registration_ACPC_icon.png|135px|link=Modules:ACPCTransform-Documentation-3.6]]
|align="center" |[[Image:Registration_Fiducial_icon.png|135px|link=Modules:FiducialRegistration]]
+
|align="center" |[[Image:Registration_Fiducial_icon.png|135px|link=Modules:TransformFromFiducials-Documentation-3.6]]
|align="center" |[[Image:Registration_Surface_icon.png|135px|link=Modules:PythonSurfaceICPRegistration-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Surface_icon.png|135px|link=Modules:PythonSurfaceICPRegistration-Documentation-3.6]]
 
|-
 
|-
|The [[Modules:RealignVolume-Documentation-3.4|'''ACPC Transform''']] Module is used to orient '''brain''' images along predefined anatomical landmarks: (manually defined)  fiducials for the inter-hemispheral midline, anterior- and posterior commissure are used to align an image such that these landmarks become vertical and horizontal, respectively.
+
|The [[Modules:ACPCTransform-Documentation-3.6|'''ACPC Transform''']] Module is used to orient '''brain''' images along predefined anatomical landmarks: (manually defined)  fiducials for the inter-hemispheral midline, anterior- and posterior commissure are used to align an image such that these landmarks become vertical and horizontal, respectively.
|The [[Modules:FiducialRegistration |'''Fiducial Alignment''']] Module can align images based on pairs of manually selected fiducial points (rigid and affine). Two sets of fiducials (fiducial lists) are required, forming matching pairs to be aligned. See ''Fiducials'' module below.
+
|The [[Modules:TransformFromFiducials-Documentation-3.6|'''Fiducial Registration''']] Module can align images based on pairs of manually selected fiducial points (rigid and affine). Two sets of fiducials (fiducial lists) are required, forming matching pairs to be aligned. See ''Fiducials'' module below.
|The [[Modules:PythonSurfaceICPRegistration-Documentation-3.4|'''ICP Surface Registration''' ]] Module performs automated registration of surfaces (not images). This is useful if image data directly is unreliable, but surfaces can be produced from segmentations that provide good information about desired alignment.
+
|The [[Modules:PythonSurfaceICPRegistration-Documentation-3.6|'''Surface Registration''' ]] Module performs automated registration of surfaces (not images). This is useful if image data directly is unreliable, but surfaces can be produced from segmentations that provide good information about desired alignment.
 
|-
 
|-
|align="center" |[[Image:Registration_Demons_icon.png|135px|link=Modules:DemonsRegistration-Documentation-3.5]]
+
|align="center" |[[Image:Registration_BRAINSdemonwarp.png|135px|link= Modules:BRAINSDemonWarp]]
|align="center" |[[Image:Registration_HAMMER_icon.png|135px|link=http://na-mic.org/Wiki/index.php/2010_Winter_Project_Week_HAMMER ]]
+
|align="center" |[[Image:Registration_BRAINSfit.png|135px|link= Modules:BRAINSFit ]]
 +
|align="center" |[[Image:Plastimatch_icon.png|135px|link=Modules:Plastimatch]]
 +
|-
 +
|The [[Modules:BRAINSDemonWarp|'''BRAINSDemonWarp''' ]] Module performs automated registration of brain MRI based on an optic flow mechanism. Deformations here are significantly more "fluid" (i.e. have more DOF and are less constrained) than for the nonrigid BSpline method.
 +
|The [[Modules:BRAINSFit| '''BRAINSfit''']] Module performs rigid to affine to nonrigid alignment of '''brain''' images with many options such as masking support, automated masking and multi-run pipelines.
 +
|The [[Modules:Plastimatch|'''Plastimatch''']] Module performs automated registration of images from rigid to affine to non-rigid. As a unique feature it provides non-rigid deformation from fiducials, which can be used to "edit/repair" a registration.
 +
|-
 +
|align="center" |[[Image:Registration_HAMMER_icon.png|135px|link= Modules:HammerRegistration ]]
 +
|
 
|
 
|
 
|-
 
|-
|The [[Modules:DemonsRegistration-Documentation-3.5|'''Demons Non-rigid Registration''' ]] Module performs automated registration of images based on an optic flow mechanism. Deformations here are significantly more "fluid" (i.e. have more DOF and are less constrained) than for the BSpline method.
+
|The [[Modules:HammerRegistration| '''HAMMER''']] Module performs elastic (non-rigid) alignment of '''brain''' images of different individuals based on tissue class segmentation and intensity (experimental stage).
|The [http://na-mic.org/Wiki/index.php/2010_Winter_Project_Week_HAMMER '''HAMMER'''] Module performs elastic (non-rigid) alignment of '''brain''' images of different individuals based on tissue class segmentation and intensity (experimental stage).
 
 
|
 
|
 
|}
 
|}
  
 
= Auxilary Modules for Registration =
 
= Auxilary Modules for Registration =
 
+
{| cellpadding="6" cellspacing="2"  
{| cellpadding="2" cellspacing="2"  
+
|align="center" |[[Image:Resampling_DecisionMatrix.png| 100px |link=Registration:Resampling]]
|align="center" |[[Image:Registration_ROI_icon.png|135px|link=Modules:ROIModule-Documentation-3.4]]
+
|align="center" |[[Image:Registration_ROI_icon.png|100px|link=Modules:ROIModule-Documentation-3.6]]
|align="center" |[[Image:SubvolumeExraction_icon.png‎|135px|link=Modules:ExtractSubvolumeROI-Documentation-3.5]]
+
|align="center" |[[Image:SubvolumeExraction_icon.png‎| 100px |link=Modules:CropVolume-Documentation-3.6]]
|align="center" |[[Image:Registration_Fiducials.png|135px|link=Modules:Fiducials-Documentation-3.4]]
 
 
|-
 
|-
|The [[Modules:ROIModule-Documentation-3.4|ROI Volume]] can be used to define a local box region to be considered exclusively for automated registration. Registration modules that do not support ROIs directly, use the ExtractSubvolumeROI module on the right.
+
|See the [[Registration:Resampling|'''Resampling''']] portal for an overview of available resampling methods, including tools to resample in place (e.g. change resolution or voxel anisotropy etc.)
|The [[Modules:ExtractSubvolumeROI-Documentation-3.5|ROISubvolume Extraction]] module can be used to extract a box region as a new volume and thus focus registration on a region of interest. Use this if registration of entire FOV fails due to too much "distracting" image content.
+
|The [[Modules:ROIModule-Documentation-3.6|'''ROI module''']] can be used to define a local box region to be considered exclusively for automated registration. Registration modules that do not support ROIs directly, use the [[Modules:CropVolume-Documentation-3.6|CropVolume]] module.
|The [[Modules:Fiducials-Documentation-3.4|Fiducials Module]] is used to place fiducial pairs that can be used to run Fiducial-based registration (e.g. AC-PC alignment or FiducialRegistration above) or to evaluate registration quality.
+
|The [[Modules:CropVolume-Documentation-3.6|'''Crop Volume''']] module can be used to extract a box region as a new volume and thus focus registration on a region of interest. Use this if registration of entire FOV fails due to too much "distracting" image content.
 
|-
 
|-
|align="center" |[[Image:Registration_DataModule.png| 135px |link=Modules:Data-Documentation-3.4]]
+
|align="center" |[[Image:Registration_DataModule.png| 100px |link=Modules:Data-Documentation-3.6]]
|align="center" |[[Image:Registration_EDitor_icon.png| 135px |link=Modules:Editor-Documentation-3.4]]
+
|align="center" |[[Image:Registration_EDitor_icon.png| 100px |link=Modules:Editor-Documentation-3.6]]
|align="center" |[[Image:SkullStripping_icon.png| 135px |link=http://www.na-mic.org/Wiki/index.php/2009_Summer_Project_Week_Skull_Stripping|Skull Stripping]]
+
|align="center" |[[Image:SkullStripping_icon.png| 100px |link=Modules:SkullStripperModule]]
 
|
 
|
 
|-
 
|-
|The [[Modules:Data-Documentation-3.4|Data Module]] is used to apply transforms on the fly to one or more volumes, to resample and concatenate transforms. Interaction is by drag & drop of nodes in the tree and via a right-mouse click context menu, e.g.  to apply  a transform.
+
|The [[Modules:Data-Documentation-3.6|'''Data Module''']] is used to apply transforms on the fly to one or more volumes, to resample and concatenate transforms. Interaction is by drag & drop of nodes in the tree and via a right-mouse click context menu, e.g.  to apply  a transform.
|The [[Modules:Editor-Documentation-3.4|Interactive Editor]] can be used to create or edit ROI regions that can be used as mask input to the automated registration. It contains interactive thresholding and other segmentation methods, and various forms of morphological processing.
+
|The [[Modules:Editor-Documentation-3.6|'''Interactive Editor''']] can be used to create or edit ROI regions that can be used as mask input to the automated registration. It contains interactive thresholding and other segmentation methods, and various forms of morphological processing.
|The [http://www.na-mic.org/Wiki/index.php/2009_Summer_Project_Week_Skull_Stripping|Skull Stripping] Extension Module automatically builds a mask of the brain from an input MRI image (T1w is best). This is an extension module and needs to be installed via the Extension manager.
+
|The [[Modules:SkullStripperModule|'''Skull Stripping''']] Extension Module automatically builds a mask of the brain from an input MRI image (T1w is best). This is an extension module and needs to be installed via the Extension manager.
 
|-
 
|-
|align="center" |[[Image:Registration_OtsuThreshold_icon.png| 135px |link=Modules:OtsuThreshold-Documentation-3.4]]
+
|align="center" |[[Image:Registration_OtsuThreshold_icon.png| 100px |link=Modules:OtsuThreshold-Documentation-3.6]]
|align="center" |[[Image:MaskImage_Module_icon.png| 135px |link=Modules:MaskImage-Documentation-3.5]]
+
|align="center" |[[Image:MaskImage_Module_icon.png| 100px |link=Modules:MaskImage-Documentation-3.6]]
|align="center" |[[Image:Registration_DTIresample_icon.png| 135px |link=Modules:ResampleDTIVolume-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Fiducials.png| 100px |link=Modules:Fiducials-Documentation-3.6]]
 
|
 
|
 
|-
 
|-
|The [[Modules:OtsuThreshold-Documentation-3.4|Otsu's Segmentation Module]] can also be used to automatically generate a registration ROI/mask by  identifying your main image object from the background. For more controlled mask building use the threshold and editing functions in the Interactive Editor.
+
|The [[Modules:OtsuThreshold-Documentation-3.6|'''Otsu's Segmentation''' module]] can also be used to automatically generate a registration ROI/mask by  identifying your main image object from the background. For more controlled mask building use the threshold and editing functions in the Interactive Editor.
|The [[Modules:MaskImage-Documentation-3.5|Mask Image Module]] can be used to apply a mask and create a new volume with all unwanted structure removed. Use this approach if your registration method of choice does not (yet) support direct masking as part of the input parameters.
+
|The [[Modules:MaskImage-Documentation-3.6|'''Mask Image''' module]] can be used to apply a mask and create a new volume with all unwanted structure removed. Use this approach if your registration method of choice does not (yet) support direct masking as part of the input parameters.
|The [[Modules:ResampleDTIVolume-Documentation-3.4|DTI Resample]] Module is used to apply a given transform to the DTI tensor data. '''Do not''' resample vector or tensor data with routines meant for scalar data. A special resampling algorithm is required to properly align such multi-dimensional data.
+
|The [[Modules:Fiducials-Documentation-3.6|'''Fiducials Module''']] is used to place fiducial pairs that can be used to run Fiducial-based registration (e.g. AC-PC alignment or FiducialRegistration above) or to evaluate registration quality.
 
|-
 
|-
|align="center" |[[Image:Registration_Resample_icon.png| 135px |link=Modules:ResampleVolume-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Resample_icon.png| 100px |link=Modules:ResampleVolume-Documentation-3.6]]
|align="center" |[[Image:Registration_Resample_icon.png| 135px |link=Modules:ResampleVolume2-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Resample_icon.png| 100px |link=Modules:ResampleScalarVectorDWIVolume-Documentation-3.6]]
|align="center" |[[Image:Registration_Subtraction_icon.png| 135px |link=Modules:SubtractImages-Documentation-3.4]]
+
|align="center" |[[Image:Registration_Subtraction_icon.png| 100px |link=Modules:SubtractImages-Documentation-3.6]]
 
|
 
|
 
|-
 
|-
|The [[Modules:ResampleVolume-Documentation-3.4|Resample Volume]] Module can be used to apply a given transform to a volume, with specific interpolation settings (linear, nearest neighbor and five flavors of sinc).  
+
|The [[Modules:ResampleVolume-Documentation-3.6|'''Resample Volume''']] Module can be used to apply a given transform to a volume, with specific interpolation settings (linear, nearest neighbor and five flavors of sinc).  
|The [[Modules:ResampleVolume2-Documentation-3.4|Resample Volume2]] Module (Francois Budin)  implements image and vector-image resampling through the use of ITK Transforms (rigid, affine, BSpline).  
+
|The [[Modules:ResampleScalarVectorDWIVolume-Documentation-3.6|'''Resample Scalar/Vector/DWI Volume''']] Module (Francois Budin)  implements image and vector-image resampling through the use of ITK Transforms (rigid, affine, BSpline). Note: DTI volumes are handled by a separate module (see below).
|The [[Modules:SubtractImages-Documentation-3.4|Subtract Images]] Module can be used to evaluate registration quality, particularly of intra-subject intra-modality cases.  
+
|The [[Modules:SubtractImages-Documentation-3.6|'''Subtract Images''']] Module can be used to evaluate registration quality, particularly of intra-subject intra-modality cases.  
 
|-
 
|-
|align="center" |[[Image:Registration_CheckerBoard_icon.png| 135px |link=http://www.slicer.org/slicerWiki/index.php/Modules:CheckerboardFilter-Documentation-3.4 Checkerboard Filter]]
+
|align="center" |[[Image:Registration_CheckerBoard_icon.png| 100px |link=https://www.slicer.org/wiki/Modules:CheckerboardFilter-Documentation-3.6]]|align="center" |[[Image:Registration_ModelXform_icon.png| 100px |link=Modules:ModelTransform-Documentation-3.6]]
|
+
|align="center" |[[Image:Registration_DTIresample_icon.png| 100px |link=Modules:ResampleDTIVolume-Documentation-3.6]]
|
 
 
|-
 
|-
|The [http://www.slicer.org/slicerWiki/index.php/Modules:CheckerboardFilter-Documentation-3.4 Checkerboard Filter] can be used to evaluate registration quality. It generates an alternating pattern showing elements of both images. Useful to check non-rigid registration by evaluating the continuity of edges and other high-contrast features.
+
|The [[Modules:CheckerboardFilter-Documentation-3.6|'''Checkerboard Filter''']] can be used to evaluate registration quality. It generates an alternating pattern showing elements of both images. Useful to check non-rigid registration by evaluating the continuity of edges and other high-contrast features.
|
+
|The [[Modules:ModelTransform-Documentation-3.6|'''Model Transform''']] module moves surface models according to an input transform
|
+
|The [[Modules:ResampleDTIVolume-Documentation-3.6|'''DTI Resample''']] Module is used to apply a given transform to the DTI tensor data. '''Do not''' resample vector or tensor data with routines meant for scalar data. A special resampling algorithm is required to properly align such multi-dimensional data.
 
|}
 
|}
  
Line 114: Line 127:
 
|The [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseInventory '''Slicer Registration Case Library'''] contains a (growing) collection of registration example cases to download and try yourself, complete with step-by step tutorial, image data, parameter presets, solutions and discussion of the particular challenges and strategies. These are all real-life cases contributed by fellow researchers; they span a wide spectrum of anatomy and image modality, and consequently also present a wide range of registration solutions, from automated rigid brain alignment to surface-based knee registration. We hope you will find a case similar to yours in this library that will provide an educated starting point. If you cannot find a similar case, take advantage of our [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement Call for Example Datasets] to add your case to the library.
 
|The [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseInventory '''Slicer Registration Case Library'''] contains a (growing) collection of registration example cases to download and try yourself, complete with step-by step tutorial, image data, parameter presets, solutions and discussion of the particular challenges and strategies. These are all real-life cases contributed by fellow researchers; they span a wide spectrum of anatomy and image modality, and consequently also present a wide range of registration solutions, from automated rigid brain alignment to surface-based knee registration. We hope you will find a case similar to yours in this library that will provide an educated starting point. If you cannot find a similar case, take advantage of our [http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseAdvertisement Call for Example Datasets] to add your case to the library.
 
|
 
|
|[[Image:RegLib_Banner.png|left|300px|The Slicer Registration Case Library]] <br>
+
|[[Image:RegLib_Banner.png|left|300px|link=http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation:UseCaseInventory|The Slicer Registration Case Library]] <br>
 
|}
 
|}
  
= Registration Work in Progress =
+
= Further Registration Links & Work in Progress =
 +
*[[Slicer-3-6-FAQ|'''Registration FAQ''']]
 
*[http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation Registration Enhancement: Documentation & User Support]
 
*[http://na-mic.org/Wiki/index.php/Projects:RegistrationDocumentation Registration Enhancement: Documentation & User Support]
 
*[http://na-mic.org/Wiki/index.php/Projects:RegistrationImprovement Registration Enhancement: New Algorithms & GUI Revisions]
 
*[http://na-mic.org/Wiki/index.php/Projects:RegistrationImprovement Registration Enhancement: New Algorithms & GUI Revisions]
 
*[[Slicer3:RegistrationLinks|Links to old/obsolete Registration pages (Slicer & NA-MIC)]]
 
*[[Slicer3:RegistrationLinks|Links to old/obsolete Registration pages (Slicer & NA-MIC)]]
 +
*[[Registration:Resampling]]

Latest revision as of 14:52, 27 November 2019

Home < Slicer3:Registration

Registration in 3D Slicer

An extensive set of tools is available within 3D Slicer to support your registration or image fusion task. The right module will depend on your input data and the underlying question asked. Below is an overview of the main and auxilary modules related to image registration. The spectrum ranges from fully automated to fiducial to fully interactive manual alignment, and from rigid to fully elastic image warping. Most modules are generic and can handle any image content, but a few are designed specifically for brain images. They have a brain contour in the icon.

There are also many auxilary/support modules that perform important functions you may need to successfully complete your registration, such as the ROI or Interactive Editor modules to obtain masks, or the Resample modules to properly apply your result transform to the image.
This page is organized by methods. Alternatively the Slicer Registration Case Library is organized by data type, i.e. it provides example cases, complete with tutorials, for a variety of registration problems collected in the "real world". You may find a good starting point and helpful discussion in those examples. If you find something amiss, please let us know so we can amend (meier at bwh.harvard.edu).

Slicer Registration Case Library: Call for Example Datasets

Consider adding your case to the library: We can (for 2010-2011) offer you direct consulting on your image registration problem: If we can add your (anonymized) case to the Library, we will try to register it for you, build a step-by-step tutorial and send you the registration strategy and solution parameters. See here for details.

Find Registration Method by Category: looking for.....

Registration Speed icon.png Registration Precision icon.png Registration HLogo DOF.png Registration HLogo Datatype.png Registration HLogo Brain.png Registration HLogo MethodChooser.png
See here if registration speed is mission-critical. See here if precision/robustness is more important than speed. See here to choose by degree of freedom of motion. See here to choose by datatype (image, surface, points). See here for Brain-specific registration modules. see here for an interactive method selection tool

Default Registration Modules

Registration Rigid+Affine icon.png Registration Manual icon.png Registration NonRigid icon.png
The Expert Automated Registration Module performs automated image registration, with custom combinations of rigid to affine to nonrigid, based on image intensity similarities. It allows to focus the registration on a region of interest via a label mask. Manual/interactive alignment can be done via the Transforms module, e.g. for initial alignment. See here for a tutorial and example dataset on Manual Registration The Fast Nonrigid BSpline Registration Module performs non-rigid automated image registration.

Alternative Registration Modules

Registration Rigid icon.png Registration Affine icon.png Registration Multires icon.png
The Fast Rigid Registration Module performs fast automated rigid registration (i.e. 6 DOF) using a mutual information criterion. The Fast Affine Registration Module performs fast automated affine registration (i.e. 12 DOF, includes scaling and shearing) using a mutual information criterion. The Robust Multiresolution Affine Registration module performs robust automated affine image registration employing a multi-resolution scheme.

Modules for Special Case Registration

Registration ACPC icon.png Registration Fiducial icon.png Registration Surface icon.png
The ACPC Transform Module is used to orient brain images along predefined anatomical landmarks: (manually defined) fiducials for the inter-hemispheral midline, anterior- and posterior commissure are used to align an image such that these landmarks become vertical and horizontal, respectively. The Fiducial Registration Module can align images based on pairs of manually selected fiducial points (rigid and affine). Two sets of fiducials (fiducial lists) are required, forming matching pairs to be aligned. See Fiducials module below. The Surface Registration Module performs automated registration of surfaces (not images). This is useful if image data directly is unreliable, but surfaces can be produced from segmentations that provide good information about desired alignment.
Registration BRAINSdemonwarp.png Registration BRAINSfit.png Plastimatch icon.png
The BRAINSDemonWarp Module performs automated registration of brain MRI based on an optic flow mechanism. Deformations here are significantly more "fluid" (i.e. have more DOF and are less constrained) than for the nonrigid BSpline method. The BRAINSfit Module performs rigid to affine to nonrigid alignment of brain images with many options such as masking support, automated masking and multi-run pipelines. The Plastimatch Module performs automated registration of images from rigid to affine to non-rigid. As a unique feature it provides non-rigid deformation from fiducials, which can be used to "edit/repair" a registration.
Registration HAMMER icon.png
The HAMMER Module performs elastic (non-rigid) alignment of brain images of different individuals based on tissue class segmentation and intensity (experimental stage).

Auxilary Modules for Registration

Resampling DecisionMatrix.png Registration ROI icon.png SubvolumeExraction icon.png
See the Resampling portal for an overview of available resampling methods, including tools to resample in place (e.g. change resolution or voxel anisotropy etc.) The ROI module can be used to define a local box region to be considered exclusively for automated registration. Registration modules that do not support ROIs directly, use the CropVolume module. The Crop Volume module can be used to extract a box region as a new volume and thus focus registration on a region of interest. Use this if registration of entire FOV fails due to too much "distracting" image content.
Registration DataModule.png Registration EDitor icon.png SkullStripping icon.png
The Data Module is used to apply transforms on the fly to one or more volumes, to resample and concatenate transforms. Interaction is by drag & drop of nodes in the tree and via a right-mouse click context menu, e.g. to apply a transform. The Interactive Editor can be used to create or edit ROI regions that can be used as mask input to the automated registration. It contains interactive thresholding and other segmentation methods, and various forms of morphological processing. The Skull Stripping Extension Module automatically builds a mask of the brain from an input MRI image (T1w is best). This is an extension module and needs to be installed via the Extension manager.
Registration OtsuThreshold icon.png MaskImage Module icon.png Registration Fiducials.png
The Otsu's Segmentation module can also be used to automatically generate a registration ROI/mask by identifying your main image object from the background. For more controlled mask building use the threshold and editing functions in the Interactive Editor. The Mask Image module can be used to apply a mask and create a new volume with all unwanted structure removed. Use this approach if your registration method of choice does not (yet) support direct masking as part of the input parameters. The Fiducials Module is used to place fiducial pairs that can be used to run Fiducial-based registration (e.g. AC-PC alignment or FiducialRegistration above) or to evaluate registration quality.
Registration Resample icon.png Registration Resample icon.png Registration Subtraction icon.png
The Resample Volume Module can be used to apply a given transform to a volume, with specific interpolation settings (linear, nearest neighbor and five flavors of sinc). The Resample Scalar/Vector/DWI Volume Module (Francois Budin) implements image and vector-image resampling through the use of ITK Transforms (rigid, affine, BSpline). Note: DTI volumes are handled by a separate module (see below). The Subtract Images Module can be used to evaluate registration quality, particularly of intra-subject intra-modality cases.
Registration CheckerBoard icon.png|align="center" |Registration ModelXform icon.png Registration DTIresample icon.png
The Checkerboard Filter can be used to evaluate registration quality. It generates an alternating pattern showing elements of both images. Useful to check non-rigid registration by evaluating the continuity of edges and other high-contrast features. The Model Transform module moves surface models according to an input transform The DTI Resample Module is used to apply a given transform to the DTI tensor data. Do not resample vector or tensor data with routines meant for scalar data. A special resampling algorithm is required to properly align such multi-dimensional data.

Registration Examples / Use-Cases

The Slicer Registration Case Library contains a (growing) collection of registration example cases to download and try yourself, complete with step-by step tutorial, image data, parameter presets, solutions and discussion of the particular challenges and strategies. These are all real-life cases contributed by fellow researchers; they span a wide spectrum of anatomy and image modality, and consequently also present a wide range of registration solutions, from automated rigid brain alignment to surface-based knee registration. We hope you will find a case similar to yours in this library that will provide an educated starting point. If you cannot find a similar case, take advantage of our Call for Example Datasets to add your case to the library.
The Slicer Registration Case Library

Further Registration Links & Work in Progress