go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxResampleInterpolatorBase.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 elxResampleInterpolatorBase_h
20#define elxResampleInterpolatorBase_h
21
23#include "elxMacro.h"
24
25#include "elxBaseComponentSE.h"
26#include "elxElastixBase.h"
27#include "itkInterpolateImageFunction.h"
28
29namespace elastix
30{
31
42template <class TElastix>
43class ITK_TEMPLATE_EXPORT ResampleInterpolatorBase : public BaseComponentSE<TElastix>
44{
45public:
47
51
54
56 using typename Superclass::ElastixType;
57 using typename Superclass::RegistrationType;
58
60 using InputImageType = typename ElastixType::MovingImageType;
62
64 using ITKBaseType = itk::InterpolateImageFunction<InputImageType, CoordRepType>;
65
67 using ParameterMapType = typename ElastixType::ParameterMapType;
68
72 {
73 return &(this->GetSelf());
74 }
75
76
78 const ITKBaseType *
80 {
81 return &(this->GetSelf());
82 }
83
84
88 virtual int
90 {
91 return 0;
92 }
93
95 virtual void
97
99 void
100 WriteToFile(xl::xoutsimple & transformationParameterInfo) const;
101
103 void
105
106protected:
110 ~ResampleInterpolatorBase() override = default;
111
112private:
114
115 virtual ParameterMapType
117 {
118 return {};
119 }
120};
121
122} // end namespace elastix
123
124#ifndef ITK_MANUAL_INSTANTIATION
125# include "elxResampleInterpolatorBase.hxx"
126#endif
127
128#endif // end #ifndef elxResampleInterpolatorBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
typename ElastixType::RegistrationBaseType RegistrationType
This class is the elastix base class for all ResampleInterpolators.
const ITKBaseType * GetAsITKBaseType() const
~ResampleInterpolatorBase() override=default
virtual ParameterMapType CreateDerivedTransformParametersMap() const
void CreateTransformParametersMap(ParameterMapType &parameterMap) const
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
typename ElastixType::ParameterMapType ParameterMapType
void WriteToFile(xl::xoutsimple &transformationParameterInfo) const
elxDeclarePureVirtualGetSelfMacro(ITKBaseType)
ITK_DISALLOW_COPY_AND_MOVE(ResampleInterpolatorBase)
typename ElastixType::MovingImageType InputImageType
xout class with only basic functionality.
Definition: xoutsimple.h:36


Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo