SlideServe
Menu
Préférences
© SlideServe · v2026

Advanced Image Registration Helper Classes in ITK for Efficient Slicer Integration

razi avatar
14 diapositives · 262 Views · Sep 13, 2014

Enhance image registration speed and simplicity with our ITK Image Registration Helper classes. This robust toolkit facilitates Slicer modules for both single and batch processing, addressing the complexities of ITK image registration. Featuring multi-threaded capabilities and streamlined handling of oriented images, the library supports various transforms (VersorRigid3D, Affine, BSplines) and metrics (MattesMI, NormalizedCorrelation). Easily load parameters and perform registration optimizations without extensive expertise. Explore current features and future enhancements for improved performance.

Advanced Image Registration Helper Classes in ITK for Efficient Slicer Integration - slide 1
01 / 14Advanced Image Registration Helper Classes in ITK for Efficient Slicer Integration
1 / 17

Télécharger la présentation

Advanced Image Registration Helper Classes in ITK for Efficient Slicer Integration
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Registration Helper Classes Stephen Aylward Matt Turek Luis Ibanez

  2. Goals • Increase the speed of image registration in ITK • Provide Slicer modules for image registration • Provide Slicer modules for batch image registration • Reduce the effort and expertise required for ITK image registration

  3. Outline • ITK Image Registration Helper class • Features • Slicer Modules • Status and Future Work

  4. Image Registration Helper Class • Multi-threaded • Implicitly handles oriented images • Options (via enumerations): • Transforms • VersorRigid3D, Affine, BSplines • Metrics • MattesMI, NormalizedCorrelation, MeanSquaredError • Interpolators • Linear, BSpline, Windowed Sinc • Optimizers • Gradient • FRPR for Rigid/Affine and LBFSGB for BSpline • Multi-resolution • 3-levels, Gradient at each level • Evolutionary • OnePlusOne followed-by Gradient • Initialization • Centers of Images, Centers of Mass, Second Moments

  5. Image Registration Helper Class • Examples of member functions • LoadParameters( std::string filename ) • “T1-T2-BrainRegistration.prm”, “CT-CT-LiverRegistration.prm”, “MyProjectsRegistration.prm” • Simplifies batch processing • SetExpectedOffsetMagnitude( double expectedOffset ) • Used to calculate scales for rigid/affine optimization • SetBSplineControlPointPixelSpacing( double controlPointSpacing ) • Used to calculate number of control points for BSplines • Update( void ) • Load transform and resample moving image • Initial registration • Rigid registration • Affine registration • BSpline registration

  6. Image Registration Helper Class • Default behavior of Update() • Initial • Centers of mass • Rigid • Versor3D + MattesMI + LinearInterpolation + SamplingRatio=0.05 + EvolutionaryOptimization + MaxIterations=100 + … • Affine • Affine + MattesMI + LinearInterpolation + SamplingRatio=0.10 + Gradient + MaxIterations=100 + … • BSpline • BSpline + MattesMI + BSplineInterpolation + SamplingRatio=0.2 + Gradient + MaxIterations=50 + ControlPointPixelSpacing=20

  7. Usage #include “itkImageToImageRegistrationHelper.h” Int main(int argc, char *argv[]) { typedef itk::OrientedImage< short, 3> ImageType typedef itk::ImageToImageRegistrationHelper< ImageType > RegType; RegType::Pointer reg = RegType::New(); reg->LoadFixedImage( argv[1] ); reg->LoadMovingImage( argv[2] ); reg->LoadParameters( argv[3] ); reg->SetRigidOptimizationMethodEnum( RegType::MULTIRESOLUTION_OPTIMIZATION ); reg->Update(); reg->SaveImage( argv[4], reg->GetFinalMovingImage() ); }

  8. Internal Class Hierarchy itkProcessObject itkImageToImageRegistrationMethod itkOptimizedImageToImageRegistrationMethod itkInitialImageToImageRegistrationMethod itkRigidImageToImageRegistrationMethod itkAffineImageToImageRegistrationMethod = Derives from itkBSplineImageToImageRegistrationMethod

  9. Multi-threaded

  10. New Slicer Modules • Status: • Requires CVS ITK • CMake enable: • ITK_USE_REVIEW • ITK_USE_OPTIMIZED_REGISTRATION_METHODS • Bug in Optimized Linear Interpolation • Parameter tweaking • Testing modules: oriented images, etc. • RegisterImages • BatchRegisterImages

  11. NAMIC DTI Atlas Registration Atlas = FixedImage = Red Channel = ICBM DTI Atlas: ICBM_T2.nhdr Subject = MovingImage = Green Channel = 01009-t2w.nrrd

  12. More Information • IJ article on multi-threaded registration • Article on modifications to ITK pending • Matt Turek et al. • Thanks Matt Turek and Luis Ibanez!!!

  13. Future Work • Fix linear interpolation • Testing and tweaking • Oriented images • Manage memory requirements • itkOptimization.h: typedef Array< double > ParametersType; • Speed • BSplines: • Only process control points that contain samples