go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiResolutionRegistration.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 elxMultiResolutionRegistration_h
19#define elxMultiResolutionRegistration_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23
24namespace elastix
25{
26
44template <class TElastix>
45class ITK_TEMPLATE_EXPORT MultiResolutionRegistration
46 : public RegistrationBase<TElastix>::ITKBaseType
47 , public RegistrationBase<TElastix>
48{
49public:
51
56 using Pointer = itk::SmartPointer<Self>;
57 using ConstPointer = itk::SmartPointer<const Self>;
58
60 itkNewMacro(Self);
61
63 itkTypeMacro(MultiResolutionRegistration, MultiResolutionImageRegistrationMethod);
64
69 elxClassNameMacro("MultiResolutionRegistration");
70
74 using typename Superclass1::FixedImageType;
75 using typename Superclass1::FixedImageConstPointer;
76 using typename Superclass1::FixedImageRegionType;
77
79 using typename Superclass1::MovingImageType;
80 using typename Superclass1::MovingImageConstPointer;
81
83 using typename Superclass1::MetricType;
84 using typename Superclass1::MetricPointer;
85
87 using typename Superclass1::TransformType;
88 using typename Superclass1::TransformPointer;
89
91 using typename Superclass1::InterpolatorType;
92 using typename Superclass1::InterpolatorPointer;
93
95 using typename Superclass1::OptimizerType;
96
98 using typename Superclass1::FixedImagePyramidType;
99 using typename Superclass1::FixedImagePyramidPointer;
100
102 using typename Superclass1::MovingImagePyramidType;
103 using typename Superclass1::MovingImagePyramidPointer;
104
108 using typename Superclass1::ParametersType;
109
111 using typename Superclass2::ElastixType;
115
117 itkStaticConstMacro(FixedImageDimension, unsigned int, Superclass2::FixedImageDimension);
119 itkStaticConstMacro(MovingImageDimension, unsigned int, Superclass2::MovingImageDimension);
120
125 void
127
130 void
132
133protected:
137 ~MultiResolutionRegistration() override = default;
138
140 using typename Superclass2::MaskPixelType;
141 using typename Superclass2::FixedMaskImageType;
149
151 void
152 UpdateMasks(unsigned int level);
153
155 virtual void
157
158private:
160};
161
162} // end namespace elastix
163
164#ifndef ITK_MANUAL_INSTANTIATION
165# include "elxMultiResolutionRegistration.hxx"
166#endif
167
168#endif // end #ifndef elxMultiResolutionRegistration_h
A registration framework based on the itk::MultiResolutionImageRegistrationMethod.
itkStaticConstMacro(MovingImageDimension, unsigned int, Superclass2::MovingImageDimension)
typename RegistrationBase< TElastix >::ITKBaseType Superclass1
void UpdateMasks(unsigned int level)
~MultiResolutionRegistration() override=default
typename Superclass2::RegistrationType RegistrationType
ITK_DISALLOW_COPY_AND_MOVE(MultiResolutionRegistration)
elxClassNameMacro("MultiResolutionRegistration")
itkStaticConstMacro(FixedImageDimension, unsigned int, Superclass2::FixedImageDimension)
typename Superclass2::ITKBaseType ITKBaseType
This class is the elastix base class for all Registration schemes.
typename ElastixType::MaskPixelType MaskPixelType
itk::ImageMaskSpatialObject< Self::FixedImageDimension > FixedMaskSpatialObjectType
typename MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
typename FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
typename FixedMaskImageType::Pointer FixedMaskImagePointer
typename ElastixType::RegistrationBaseType RegistrationType
itk::ImageMaskSpatialObject< Self::MovingImageDimension > MovingMaskSpatialObjectType
typename MovingMaskImageType::Pointer MovingMaskImagePointer
std::vector< bool > UseMaskErosionArrayType
typename ElastixType::MovingMaskType MovingMaskImageType
typename ElastixType::FixedMaskType FixedMaskImageType
Base class for multi-resolution image registration methods.


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