Slicer3:Registration

From NAMIC Wiki
Revision as of 12:39, 10 April 2008 by Pieper (talk | contribs)
Jump to: navigation, search
Home < Slicer3:Registration

Slicer 3 includes linear and nonlinear registration tools built as command line modules. On this page we are working to collect a variety of example data sets which test the boundary cases in order to optimize the registration performance and accuracy.


See also additional use cases collected for nonlinear registration optimization.




T2 to FA Affine Registration

Results using slicer2
Results using slicer3 as of 2008-04-07


  • Reference 'Gold Standard'
    • Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)
    • Result transform:
   0.998582 0.0548244 0.00874164 1.86596 
   -0.051956 0.957673 0.0339914 -12.8223 
   -0.00506141 -0.00847398 0.994165 16.2862 
   0 0 0 1 


  • Software
    • Slicer3 svn trunk 2008-04-07
  • Parameters
    • Defaults
  • Method
    • Use T2 as fixed, FA as moving
    • Create new output transform and output volume (no input transform)
    • In data module drag FA volume under the newly calculated transform
    • In Transform Module select the output transform and click Invert
  • Results 2008-04-07
    • Output volume appears to be all 0
    • Output transform looks correct, see image to the right.
0.924175 0.0524361 0.0617505 -0.457981 
0.0453017 0.99089 0.0283234 -8.79902 
-0.0525653 -0.0657896 1.11031 18.5389 
-0 0 -0 1




T1 to Average Gradient Affine Registration

Results using slicer2
Results using slicer3 as of 2008-04-10


  • Reference 'Gold Standard'
    • Slicer2 calculation using Mattes MI Affine (also uses ITK implementation)
    • Result transform:
   0.950655 0.024335 0.0259082 0.857786 
   0.0086567 0.8889 -0.379321 -6.77365 
   -0.0395529 0.39257 0.835359 14.664 
   0 0 0 1 


  • Software
    • Slicer3 svn trunk 2008-04-10
  • Parameters
    • Defaults
  • Method
    • Use T1 as fixed, Gradient as moving
  • Results 2008-04-10
    • Cannot run due to sampling issue
itk::ExceptionObject (0x1990140)
Location: "void itk::MattesMutualInformationImageToImageMetric<TFixedImage, TMovingImage>::GetValueAndDerivative(const typename itk::ImageToImageMetric<TFixedImage, TMovingImage>::ParametersType&, typename itk::ImageToImageMetric<TFixedImage, TMovingImage>::MeasureType&, typename itk::ImageToImageMetric<TFixedImage, TMovingImage>::DerivativeType&) const [with TFixedImage = itk::OrientedImage<short int, 3u>, TMovingImage = itk::OrientedImage<short int, 3u>]" 
File: /Users/pieper/slicer3/latest/Slicer3-lib/Insight/Code/Algorithms/itkMattesMutualInformationImageToImageMetric.txx
Line: 1036
Description: itk::ERROR: MattesMutualInformationImageToImageMetric(0x198d470): Too many samples map outside moving image buffer: 2481 / 10000





ERROR: In /Users/pieper/slicer3/latest/Slicer3/Modules/CommandLineModule/vtkCommandLineModuleLogic.cxx, line 1326
vtkCommandLineModuleLogic (0x1d265ac0): Affine registration completed with errors