go home Home | Main Page | Topics | 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
58
59template <typename TElastix>
60class ITK_TEMPLATE_EXPORT MovingImagePyramidBase : public BaseComponentSE<TElastix>
61{
62public:
64
68
71
73 using typename Superclass::ElastixType;
74 using typename Superclass::RegistrationType;
75
77 using InputImageType = typename ElastixType::MovingImageType;
78 using OutputImageType = typename ElastixType::MovingImageType;
79
81 using ITKBaseType = itk::MultiResolutionPyramidImageFilter<InputImageType, OutputImageType>;
82
84 using ScheduleType = typename ITKBaseType::ScheduleType;
85
89 {
90 return &(this->GetSelf());
91 }
92
93
95 const ITKBaseType *
97 {
98 return &(this->GetSelf());
99 }
100
101
105 void
107
111 void
113
115 virtual void
117
119 void
120 WritePyramidImage(const std::string & filename,
121 const unsigned int level); // const;
122
123protected:
127 ~MovingImagePyramidBase() override = default;
128
129private:
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
typename ElastixType::RegistrationBaseType RegistrationType
virtual const itk::Object & GetSelf() const =0
BaseComponentSE< TElastix > Superclass
const ITKBaseType * GetAsITKBaseType() const
void WritePyramidImage(const std::string &filename, const unsigned int level)
elxDeclarePureVirtualGetSelfMacro(ITKBaseType)
itkOverrideGetNameOfClassMacro(MovingImagePyramidBase)
void BeforeRegistrationBase() override
ITK_DISALLOW_COPY_AND_MOVE(MovingImagePyramidBase)
typename ElastixType::MovingImageType InputImageType
void BeforeEachResolutionBase() override
typename ITKBaseType::ScheduleType ScheduleType
typename ElastixType::MovingImageType OutputImageType
itk::MultiResolutionPyramidImageFilter< InputImageType, OutputImageType > ITKBaseType
~MovingImagePyramidBase() override=default


Generated on 26-02-2026 for elastix by doxygen 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) elastix logo