go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMultiResolutionRegistrationWithFeatures.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 elxMultiResolutionRegistrationWithFeatures_h
19#define elxMultiResolutionRegistrationWithFeatures_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23
24namespace elastix
25{
26
52template <class TElastix>
54 : public itk::MultiResolutionImageRegistrationMethodWithFeatures<typename RegistrationBase<TElastix>::FixedImageType,
55 typename RegistrationBase<TElastix>::MovingImageType>
56 , public RegistrationBase<TElastix>
57{
58public:
60
67 using Pointer = itk::SmartPointer<Self>;
68 using ConstPointer = itk::SmartPointer<const Self>;
69
71 itkNewMacro(Self);
72
75
80 elxClassNameMacro("MultiResolutionRegistrationWithFeatures");
81
85 using typename Superclass1::FixedImageType;
88
90 using typename Superclass1::MovingImageType;
92
94 using typename Superclass1::MetricType;
95 using typename Superclass1::MetricPointer;
96
98 using typename Superclass1::TransformType;
99 using typename Superclass1::TransformPointer;
100
102 using typename Superclass1::InterpolatorType;
104
106 using typename Superclass1::OptimizerType;
107 using typename Superclass1::OptimizerPointer;
108
112
116
120 using typename Superclass1::ParametersType;
121
123 // using typename Superclass1::CombinationMetricType;
124 // using typename Superclass1::CombinationMetricPointer;
125
127 using typename Superclass2::ElastixType;
131
133 itkStaticConstMacro(FixedImageDimension, unsigned int, Superclass2::FixedImageDimension);
134
136 itkStaticConstMacro(MovingImageDimension, unsigned int, Superclass2::MovingImageDimension);
137
144 void
146
151 void
153
154protected:
157
160
162 using typename Superclass2::MaskPixelType;
163 using typename Superclass2::FixedMaskImageType;
171
173 void
174 UpdateFixedMasks(unsigned int level);
175
176 void
177 UpdateMovingMasks(unsigned int level);
178
180 virtual void
182
184 virtual void
186
188 virtual void
190
191private:
193};
194
195} // end namespace elastix
196
197#ifndef ITK_MANUAL_INSTANTIATION
198# include "elxMultiResolutionRegistrationWithFeatures.hxx"
199#endif
200
201#endif // end #ifndef elxMultiResolutionRegistrationWithFeatures_h
A registration framework based on the itk::MultiResolutionImageRegistrationMethodWithFeatures.
itkStaticConstMacro(MovingImageDimension, unsigned int, Superclass2::MovingImageDimension)
ITK_DISALLOW_COPY_AND_MOVE(MultiResolutionRegistrationWithFeatures)
itkStaticConstMacro(FixedImageDimension, unsigned int, Superclass2::FixedImageDimension)
elxClassNameMacro("MultiResolutionRegistrationWithFeatures")
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::MovingImageType MovingImageType
typename ElastixType::FixedMaskType FixedMaskImageType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
Base class for multi-resolution image registration methods.
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType


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