go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxTransformRigidityPenaltyTerm.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 elxTransformRigidityPenaltyTerm_h
19#define elxTransformRigidityPenaltyTerm_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23
24namespace elastix
25{
26
109template <class TElastix>
110class ITK_TEMPLATE_EXPORT TransformRigidityPenalty
111 : public itk::TransformRigidityPenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double>
112 , public MetricBase<TElastix>
113{
114public:
116
121 using Pointer = itk::SmartPointer<Self>;
122 using ConstPointer = itk::SmartPointer<const Self>;
123
125 itkNewMacro(Self);
126
129
134 elxClassNameMacro("TransformRigidityPenalty");
135
137 using typename Superclass1::CoordinateRepresentationType;
138 using typename Superclass1::MovingImageType;
139 using typename Superclass1::MovingImagePixelType;
140 using typename Superclass1::MovingImageConstPointer;
141 using typename Superclass1::FixedImageType;
142 using typename Superclass1::FixedImageConstPointer;
143 using typename Superclass1::FixedImageRegionType;
144 using typename Superclass1::TransformType;
145 using typename Superclass1::TransformPointer;
146 using typename Superclass1::InputPointType;
147 using typename Superclass1::OutputPointType;
148 using typename Superclass1::TransformParametersType;
149 using typename Superclass1::TransformJacobianType;
150 using typename Superclass1::InterpolatorType;
151 using typename Superclass1::InterpolatorPointer;
152 using typename Superclass1::RealType;
153 using typename Superclass1::GradientPixelType;
154 using typename Superclass1::GradientImageType;
155 using typename Superclass1::GradientImagePointer;
156 using typename Superclass1::GradientImageFilterType;
157 using typename Superclass1::GradientImageFilterPointer;
158 using typename Superclass1::FixedImageMaskType;
159 using typename Superclass1::FixedImageMaskPointer;
160 using typename Superclass1::MovingImageMaskType;
161 using typename Superclass1::MovingImageMaskPointer;
162 using typename Superclass1::MeasureType;
163 using typename Superclass1::DerivativeType;
164 using typename Superclass1::ParametersType;
167 using typename Superclass1::ImageSamplerType;
175
177
179 itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension);
180
182 itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension);
183
185 using typename Superclass2::ElastixType;
186 using typename Superclass2::RegistrationType;
188
192 void
193 Initialize() override;
194
199 void
201
208 void
210
215 void
217
222 void
224 {}
225
226protected:
229
231 ~TransformRigidityPenalty() override = default;
232
233private:
235};
236
237} // end namespace elastix
238
239#ifndef ITK_MANUAL_INSTANTIATION
240# include "elxTransformRigidityPenaltyTerm.hxx"
241#endif
242
243#endif // end #ifndef elxTransformRigidityPenaltyTerm_h
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:97
typename ElastixType::RegistrationBaseType RegistrationType
A penalty term based on non-rigidity.
elxClassNameMacro("TransformRigidityPenalty")
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
~TransformRigidityPenalty() override=default
ITK_DISALLOW_COPY_AND_MOVE(TransformRigidityPenalty)
typename Superclass2::ITKBaseType ITKBaseType
itk::SmartPointer< const Self > ConstPointer
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
typename ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
typename ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
typename MovingImageLimiterType::OutputType MovingImageLimiterOutputType
typename FixedImageLimiterType::OutputType FixedImageLimiterOutputType
This class is a base class for any image sampler.
Base class for all ITK limiter function objects.
typename Superclass::AdvancedTransformType TransformType
A cost function that calculates a rigidity penalty term.
typename BSplineTransformType::ImageType CoefficientImageType


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