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 
56 template <class TElastix>
57 class MovingImagePyramidBase : public BaseComponentSE<TElastix>
58 {
59 public:
60 
64 
67 
69  typedef typename Superclass::ElastixType ElastixType;
75 
77  typedef typename ElastixType::MovingImageType InputImageType;
78  typedef typename ElastixType::MovingImageType OutputImageType;
79 
81  typedef itk::MultiResolutionPyramidImageFilter<
83 
85  typedef typename ITKBaseType::ScheduleType ScheduleType;
86 
88  virtual ITKBaseType * GetAsITKBaseType( void )
89  {
90  return dynamic_cast<ITKBaseType *>(this);
91  }
92 
94  virtual const ITKBaseType * GetAsITKBaseType( void ) const
95  {
96  return dynamic_cast<const ITKBaseType *>(this);
97  }
98 
102  virtual void BeforeRegistrationBase( void );
103 
107  virtual void BeforeEachResolutionBase( void );
108 
110  virtual void SetMovingSchedule( void );
111 
113  virtual void WritePyramidImage( const std::string & filename,
114  const unsigned int & level ); // const;
115 
116 protected:
117 
122 
123 private:
124 
126  MovingImagePyramidBase( const Self& ); // purposely not implemented
128  void operator=( const Self& ); // purposely not implemented
129 
130 }; // end class MovingImagePyramidBase
131 
132 
133 } // end namespace elastix
134 
135 
136 #ifndef ITK_MANUAL_INSTANTIATION
137 #include "elxMovingImagePyramidBase.hxx"
138 #endif
139 
140 #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
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
BaseComponentSE< TElastix > Superclass
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 05-01-2014 for elastix by doxygen 1.8.5 elastix logo