go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiMetricMultiResolutionRegistration.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __elxMultiMetricMultiResolutionRegistration_H__
16 #define __elxMultiMetricMultiResolutionRegistration_H__
17 
19 
20 #include "elxIncludes.h"
21 
22 namespace elastix
23 {
24 
93 template <class TElastix>
95  : public
97  typename RegistrationBase<TElastix>::FixedImageType,
98  typename RegistrationBase<TElastix>::MovingImageType >,
99  public RegistrationBase<TElastix>
100 {
101 public:
102 
105 
112 
114  typedef itk::SmartPointer<Self> Pointer;
115  typedef itk::SmartPointer<const Self> ConstPointer;
116 
118  itkNewMacro( Self );
119 
123 
128  elxClassNameMacro( "MultiMetricMultiResolutionRegistration" );
129 
136 
140 
144 
148 
152 
156 
160 
164 
169 
173 
183 
185  itkStaticConstMacro( FixedImageDimension, unsigned int, Superclass2::FixedImageDimension );
187  itkStaticConstMacro( MovingImageDimension, unsigned int, Superclass2::MovingImageDimension );
188 
195  virtual void BeforeRegistration( void );
196 
201  virtual void BeforeEachResolution( void );
202 
206  virtual void AfterEachIteration( void );
207 
208 protected:
209 
214 
216  typedef tmr::Timer TimerType;
219 
230 
232  void UpdateFixedMasks( unsigned int level );
233  void UpdateMovingMasks( unsigned int level );
234 
236  virtual void SetComponents( void );
237 
239 
240 private:
241 
243  MultiMetricMultiResolutionRegistration( const Self& ); // purposely not implemented
245  void operator=( const Self& ); // purposely not implemented
246 
247 }; // end class MultiMetricMultiResolutionRegistration
248 
249 
250 } // end namespace elastix
251 
252 #ifndef ITK_MANUAL_INSTANTIATION
253 #include "elxMultiMetricMultiResolutionRegistration.hxx"
254 #endif
255 
256 #endif // end #ifndef __elxMultiMetricMultiResolutionRegistration_H__
ElastixType::FixedMaskType FixedMaskImageType
Superclass::RegistrationType RegistrationType
Base class for multi-resolution image registration methods.
ElastixType::MaskPixelType MaskPixelType
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:72
A registration framework based on the itk::MultiMetricMultiResolutionImageRegistrationMethod.
Implementation of an image mask as spatial object.
FixedMaskImageType::Pointer FixedMaskImagePointer
Superclass2::MovingMaskSpatialObjectPointer MovingMaskSpatialObjectPointer
itkStaticConstMacro(FixedImageDimension, unsigned int, Superclass2::FixedImageDimension)
MovingMaskImageType::Pointer MovingMaskImagePointer
Superclass::ConfigurationType ConfigurationType
This class is the elastix base class for all Registration schemes.
A class to time the different parts of the registration.
Definition: elxTimer.h:66
Superclass::ConfigurationPointer ConfigurationPointer
ElastixType::FixedImageType FixedImageType
Superclass2::FixedMaskSpatialObjectPointer FixedMaskSpatialObjectPointer
ElastixType::MovingImageType MovingImageType
elxClassNameMacro("MultiMetricMultiResolutionRegistration")
Superclass::RegistrationPointer RegistrationPointer
FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
Superclass::ElastixType ElastixType
std::vector< bool > UseMaskErosionArrayType
itk::MultiMetricMultiResolutionImageRegistrationMethod< typename RegistrationBase< TElastix >::FixedImageType, typename RegistrationBase< TElastix >::MovingImageType > Superclass1
ElastixType::MovingMaskType MovingMaskImageType
Superclass::ElastixPointer ElastixPointer


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo