Difference between revisions of "Slicer3:LinearRegistrationUseCases"
From Slicer Wiki
m (moved Slicer3:Registration to Slicer3:LinearRegistrationUseCases: Make room for a top-level page to point to all the registration modules) |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 52: | Line 52: | ||
+ | |||
+ | * 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 | ||
+ | |||
+ | {| | ||
+ | |- | ||
+ | | [[Image:RegisterImages-T2-fa-registration-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]] | ||
+ | | [[Image:RegisterImages-T2-fa-registration-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]] | ||
+ | |- | ||
+ | |} | ||
---- | ---- | ||
Line 97: | Line 114: | ||
Line: 1036 | Line: 1036 | ||
Description: itk::ERROR: MattesMutualInformationImageToImageMetric(0x198d470): Too many samples map outside moving image buffer: 2481 / 10000 | 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 | ERROR: In /Users/pieper/slicer3/latest/Slicer3/Modules/CommandLineModule/vtkCommandLineModuleLogic.cxx, line 1326 | ||
vtkCommandLineModuleLogic (0x1d265ac0): Affine registration completed with errors | vtkCommandLineModuleLogic (0x1d265ac0): Affine registration completed with errors | ||
</pre> | </pre> | ||
+ | |||
+ | * 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 | ||
+ | |||
+ | {| | ||
+ | |- | ||
+ | | [[Image:RegisterImages-Debrecen-affine-setup-2008-07-30.png|thumb|250px|Setup using RegisterImages as of 2008-07-30]] | ||
+ | | [[Image:RegisterImages-Debrecen-affine-results-2008-07-30.png|thumb|250px|Results using RegisterImages as of 2008-07-30]] | ||
+ | |- | ||
+ | |} |
Latest revision as of 15:10, 14 January 2010
Home < Slicer3:LinearRegistrationUseCasesSlicer 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
- Input Volumes
- 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
T1 to Average Gradient Affine Registration
- Input Volumes
- Provided by András Jakab, University of Debrecen Medical School and Health Science Center
- Manual Volume
- AVG gradient
- 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