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 * 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
19#ifndef __elxMovingImagePyramidBase_h
20#define __elxMovingImagePyramidBase_h
21
23#include "elxMacro.h"
24
25#include "elxBaseComponentSE.h"
26#include "itkObject.h"
27
28#include "itkMultiResolutionPyramidImageFilter.h"
29
30namespace elastix
31{
32
59template< class TElastix >
60class MovingImagePyramidBase : public BaseComponentSE< TElastix >
61{
62public:
63
67
70
78
80 typedef typename ElastixType::MovingImageType InputImageType;
81 typedef typename ElastixType::MovingImageType OutputImageType;
82
84 typedef itk::MultiResolutionPyramidImageFilter<
86
88 typedef typename ITKBaseType::ScheduleType ScheduleType;
89
91 virtual ITKBaseType * GetAsITKBaseType( void )
92 {
93 return dynamic_cast< ITKBaseType * >( this );
94 }
95
96
98 virtual const ITKBaseType * GetAsITKBaseType( void ) const
99 {
100 return dynamic_cast< const ITKBaseType * >( this );
101 }
102
103
107 void BeforeRegistrationBase( void ) override;
108
112 void BeforeEachResolutionBase( void ) override;
113
115 virtual void SetMovingSchedule( void );
116
118 virtual void WritePyramidImage( const std::string & filename,
119 const unsigned int & level ); // const;
120
121protected:
122
127
128private:
129
131 MovingImagePyramidBase( const Self & ); // purposely not implemented
133 void operator=( const Self & ); // purposely not implemented
134
135};
136
137} // end namespace elastix
138
139#ifndef ITK_MANUAL_INSTANTIATION
140#include "elxMovingImagePyramidBase.hxx"
141#endif
142
143#endif // end #ifndef __elxMovingImagePyramidBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Configuration::Pointer ConfigurationPointer
itk::WeakPointer< ElastixType > ElastixPointer
RegistrationType * RegistrationPointer
ElastixType::RegistrationBaseType RegistrationType
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all MovingImagePyramids.
ITKBaseType::ScheduleType ScheduleType
Superclass::ElastixPointer ElastixPointer
virtual void SetMovingSchedule(void)
virtual ITKBaseType * GetAsITKBaseType(void)
virtual const ITKBaseType * GetAsITKBaseType(void) const
ElastixType::MovingImageType InputImageType
BaseComponentSE< TElastix > Superclass
Superclass::ConfigurationType ConfigurationType
void operator=(const Self &)
ElastixType::MovingImageType OutputImageType
void BeforeEachResolutionBase(void) override
Superclass::RegistrationPointer RegistrationPointer
void BeforeRegistrationBase(void) override
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::RegistrationType RegistrationType
virtual void WritePyramidImage(const std::string &filename, const unsigned int &level)
itk::MultiResolutionPyramidImageFilter< InputImageType, OutputImageType > ITKBaseType


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo