go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiResolutionRegistrationWithFeatures.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 __elxMultiResolutionRegistrationWithFeatures_H__
16 #define __elxMultiResolutionRegistrationWithFeatures_H__
17 
19 
20 #include "elxIncludes.h"
21 
22 namespace elastix
23 {
24 using namespace itk;
25 
51  template <class TElastix>
53  public
55  ITK_TYPENAME RegistrationBase<TElastix>::FixedImageType,
56  ITK_TYPENAME RegistrationBase<TElastix>::MovingImageType >,
57  public
58  RegistrationBase<TElastix>
59  {
60  public:
61 
69  typedef SmartPointer<Self> Pointer;
70  typedef SmartPointer<const Self> ConstPointer;
71 
73  itkNewMacro( Self );
74 
78 
83  elxClassNameMacro( "MultiResolutionRegistrationWithFeatures" );
84 
91 
95 
99 
103 
107 
111 
115 
119 
124 
126  //typedef typename Superclass1::CombinationMetricType CombinationMetricType;
127  //typedef typename Superclass1::CombinationMetricPointer CombinationMetricPointer;
128 
138 
140  itkStaticConstMacro( FixedImageDimension, unsigned int, Superclass2::FixedImageDimension );
141 
143  itkStaticConstMacro( MovingImageDimension, unsigned int, Superclass2::MovingImageDimension );
144 
151  virtual void BeforeRegistration( void );
152 
157  virtual void BeforeEachResolution( void );
158 
159  protected:
160 
163 
166 
168  typedef tmr::Timer TimerType;
170 
181 
183  void UpdateFixedMasks( unsigned int level );
184  void UpdateMovingMasks( unsigned int level );
185 
187  virtual void GetAndSetComponents( void );
188 
190  virtual void GetAndSetFixedImageRegions( void );
191 
193  virtual void GetAndSetFixedImageInterpolators( void );
194 
195  private:
196 
198  MultiResolutionRegistrationWithFeatures( const Self& ); // purposely not implemented
200  void operator=( const Self& ); // purposely not implemented
201 
202  }; // end class MultiResolutionRegistrationWithFeatures
203 
204 
205 } // end namespace elastix
206 
207 #ifndef ITK_MANUAL_INSTANTIATION
208 #include "elxMultiResolutionRegistrationWithFeatures.hxx"
209 #endif
210 
211 #endif // end #ifndef __elxMultiResolutionRegistrationWithFeatures_H__


Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo