go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxInterpolatorBase.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 elxInterpolatorBase_h
20#define elxInterpolatorBase_h
21
23#include "elxMacro.h"
24
25#include "elxBaseComponentSE.h"
26#include "elxElastixBase.h"
27
28#include "itkInterpolateImageFunction.h"
29
30namespace elastix
31{
32
43template <class TElastix>
44class ITK_TEMPLATE_EXPORT InterpolatorBase : public BaseComponentSE<TElastix>
45{
46public:
48
52
55
57 using typename Superclass::ElastixType;
58 using typename Superclass::RegistrationType;
59
61 using InputImageType = typename ElastixType::MovingImageType;
63
65 using ITKBaseType = itk::InterpolateImageFunction<InputImageType, CoordRepType>;
66
70 {
71 return &(this->GetSelf());
72 }
73
74
76 const ITKBaseType *
78 {
79 return &(this->GetSelf());
80 }
81
82
83protected:
85 InterpolatorBase() = default;
87 ~InterpolatorBase() override = default;
88
89private:
91};
92
93} // end namespace elastix
94
95#ifndef ITK_MANUAL_INSTANTIATION
96# include "elxInterpolatorBase.hxx"
97#endif
98
99#endif // end #ifndef elxInterpolatorBase_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 Interpolators.
~InterpolatorBase() override=default
typename ElastixType::MovingImageType InputImageType
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
const ITKBaseType * GetAsITKBaseType() const
ITK_DISALLOW_COPY_AND_MOVE(InterpolatorBase)
elxDeclarePureVirtualGetSelfMacro(ITKBaseType)


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