Slicer3:LinearRegistrationUseCases

From Slicer Wiki
Revision as of 15:10, 14 January 2010 by Gcasey (talk | contribs) (moved Slicer3:Registration to Slicer3:LinearRegistrationUseCases: Make room for a top-level page to point to all the registration modules)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Slicer3:LinearRegistrationUseCases

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


  • Results 2008-07-30
    • Using RegisterImages module
    • Using Default parameters, see below (left)
    • Output volume looks correct, see below (right)
    • Output transform looks correct
1.0094 -0.0573823 -0.000750058 
0.0351927 1.06887 0.0810613 
0.00242838 -0.0205891 0.991571 
3.20002 -15.8546 -16.3295
Setup using RegisterImages as of 2008-07-30
Results using RegisterImages as of 2008-07-30


T1 to Average Gradient Affine Registration

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


  • Input Volumes
  • 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
  • Results 2008-07-30
    • Using RegisterImages module
    • DO NOT USE DEFAULT PARAMETERS
      • One additional option must be set
      • The difficulty is that fixed image is much larger than the moving image. As a result, too many random samples chosen from the fixed image will fall outside of the moving image, even when they are registered. ITK (correctly or incorrectly, its arguable) throw an exception when this happens.
      • To resolve this, the RegisterImages module has the option to limit the fixed image samples to the initial volume of overlap between the fixed and moving image. This volume of overlap is computed only once, after the initial (center of mass, image centers, landmarks, or none) registration.
      • In the tab, "Advanced registration options" select "Sample from Overlap"
      • See below (left)
    • Output volume looks correct, see below (right)
    • Output transform looks correct
0.984504 0.00242558 0.0181733
0.00837315 0.921599 -0.432808
-0.0215383 0.400563 0.942328
-0.727524 -0.771725 -14.9462
Setup using RegisterImages as of 2008-07-30
Results using RegisterImages as of 2008-07-30