go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMovingImagePyramidBase.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 __elxMovingImagePyramidBase_h
16 #define __elxMovingImagePyramidBase_h
17 
19 #include "elxMacro.h"
20 
21 #include "elxBaseComponentSE.h"
22 #include "itkObject.h"
23 
24 #include "itkMultiResolutionPyramidImageFilter.h"
25 
26 
27 namespace elastix
28 {
29 using namespace itk;
30 
57 template <class TElastix>
58 class MovingImagePyramidBase : public BaseComponentSE<TElastix>
59 {
60 public:
61 
65 
68 
70  typedef typename Superclass::ElastixType ElastixType;
76 
78  typedef typename ElastixType::MovingImageType InputImageType;
79  typedef typename ElastixType::MovingImageType OutputImageType;
80 
82  typedef MultiResolutionPyramidImageFilter<
84 
86  typedef typename ITKBaseType::ScheduleType ScheduleType;
87 
89  virtual ITKBaseType * GetAsITKBaseType( void )
90  {
91  return dynamic_cast<ITKBaseType *>(this);
92  }
93 
95  virtual const ITKBaseType * GetAsITKBaseType( void ) const
96  {
97  return dynamic_cast<const ITKBaseType *>(this);
98  }
99 
103  virtual void BeforeRegistrationBase( void );
104 
108  virtual void BeforeEachResolutionBase( void );
109 
111  virtual void SetMovingSchedule( void );
112 
114  virtual void WritePyramidImage( const std::string & filename,
115  const unsigned int & level ); // const;
116 
117 protected:
118 
123 
124 private:
125 
127  MovingImagePyramidBase( const Self& ); // purposely not implemented
129  void operator=( const Self& ); // purposely not implemented
130 
131 }; // end class MovingImagePyramidBase
132 
133 
134 } // end namespace elastix
135 
136 
137 #ifndef ITK_MANUAL_INSTANTIATION
138 #include "elxMovingImagePyramidBase.hxx"
139 #endif
140 
141 #endif // end #ifndef __elxMovingImagePyramidBase_h


Generated on 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo