go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxFixedImagePyramidBase.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __elxFixedImagePyramidBase_h
19 #define __elxFixedImagePyramidBase_h
20 
22 #include "elxMacro.h"
23 
24 #include "elxBaseComponentSE.h"
25 #include "itkObject.h"
26 #include "itkMultiResolutionPyramidImageFilter.h"
27 
28 namespace elastix
29 {
30 
57 template< class TElastix >
58 class FixedImagePyramidBase : public BaseComponentSE< TElastix >
59 {
60 public:
61 
65 
68 
70  typedef typename Superclass::ElastixType ElastixType;
76 
78  typedef typename ElastixType::FixedImageType InputImageType;
79  typedef typename ElastixType::FixedImageType OutputImageType;
80 
82  typedef itk::MultiResolutionPyramidImageFilter<
83  InputImageType, OutputImageType > ITKBaseType;
84 
86  typedef typename ITKBaseType::ScheduleType ScheduleType;
87 
89  virtual ITKBaseType * GetAsITKBaseType( void )
90  {
91  return dynamic_cast< ITKBaseType * >( this );
92  }
93 
94 
96  virtual const ITKBaseType * GetAsITKBaseType( void ) const
97  {
98  return dynamic_cast< const ITKBaseType * >( this );
99  }
100 
101 
105  virtual void BeforeRegistrationBase( void );
106 
110  virtual void BeforeEachResolutionBase( void );
111 
113  virtual void SetFixedSchedule( void );
114 
116  virtual void WritePyramidImage( const std::string & filename,
117  const unsigned int & level ); // const;
118 
119 protected:
120 
125 
126 private:
127 
129  FixedImagePyramidBase( const Self & ); // purposely not implemented
131  void operator=( const Self & ); // purposely not implemented
132 
133 };
134 
135 } // end namespace elastix
136 
137 #ifndef ITK_MANUAL_INSTANTIATION
138 #include "elxFixedImagePyramidBase.hxx"
139 #endif
140 
141 #endif // end #ifndef __elxFixedImagePyramidBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
virtual void SetFixedSchedule(void)
ElastixType::RegistrationBaseType RegistrationType
ElastixType::ConfigurationPointer ConfigurationPointer
ElastixType::Pointer ElastixPointer
ElastixType::ConfigurationType ConfigurationType
BaseComponentSE< TElastix > Superclass
ITKBaseType::ScheduleType ScheduleType
Superclass::ConfigurationType ConfigurationType
RegistrationType * RegistrationPointer
This class is the elastix base class for all FixedImagePyramids.
itk::MultiResolutionPyramidImageFilter< InputImageType, OutputImageType > ITKBaseType
Superclass::ElastixPointer ElastixPointer
virtual const ITKBaseType * GetAsITKBaseType(void) const
Superclass::ConfigurationPointer ConfigurationPointer
virtual void WritePyramidImage(const std::string &filename, const unsigned int &level)
ElastixType::FixedImageType OutputImageType
ElastixType::FixedImageType InputImageType
virtual ITKBaseType * GetAsITKBaseType(void)
Superclass::RegistrationPointer RegistrationPointer
void operator=(const Self &)
virtual void BeforeEachResolutionBase(void)
Superclass::RegistrationType RegistrationType
virtual void BeforeRegistrationBase(void)


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo