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 namespace elastix
27 {
28 
55 template< class TElastix >
56 class MovingImagePyramidBase : public BaseComponentSE< TElastix >
57 {
58 public:
59 
63 
66 
68  typedef typename Superclass::ElastixType ElastixType;
74 
76  typedef typename ElastixType::MovingImageType InputImageType;
77  typedef typename ElastixType::MovingImageType OutputImageType;
78 
80  typedef itk::MultiResolutionPyramidImageFilter<
82 
84  typedef typename ITKBaseType::ScheduleType ScheduleType;
85 
87  virtual ITKBaseType * GetAsITKBaseType( void )
88  {
89  return dynamic_cast< ITKBaseType * >( this );
90  }
91 
92 
94  virtual const ITKBaseType * GetAsITKBaseType( void ) const
95  {
96  return dynamic_cast< const ITKBaseType * >( this );
97  }
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 };
132 
133 } // end namespace elastix
134 
135 #ifndef ITK_MANUAL_INSTANTIATION
136 #include "elxMovingImagePyramidBase.hxx"
137 #endif
138 
139 #endif // end #ifndef __elxMovingImagePyramidBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
ElastixType::RegistrationBaseType RegistrationType
virtual void BeforeRegistrationBase(void)
ElastixType::ConfigurationPointer ConfigurationPointer
Superclass::ElastixPointer ElastixPointer
ITKBaseType::ScheduleType ScheduleType
ElastixType::Pointer ElastixPointer
ElastixType::ConfigurationType ConfigurationType
BaseComponentSE< TElastix > Superclass
void operator=(const Self &)
ElastixType::MovingImageType InputImageType
ElastixType::MovingImageType OutputImageType
virtual const ITKBaseType * GetAsITKBaseType(void) const
virtual void BeforeEachResolutionBase(void)
virtual void WritePyramidImage(const std::string &filename, const unsigned int &level)
RegistrationType * RegistrationPointer
Superclass::ConfigurationType ConfigurationType
Superclass::RegistrationPointer RegistrationPointer
Superclass::ConfigurationPointer ConfigurationPointer
itk::MultiResolutionPyramidImageFilter< InputImageType, OutputImageType > ITKBaseType
This class is the elastix base class for all MovingImagePyramids.
Superclass::RegistrationType RegistrationType
virtual void SetMovingSchedule(void)
virtual ITKBaseType * GetAsITKBaseType(void)


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo