go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkTranslationTransformInitializer.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 itkTranslationTransformInitializer_h
20#define itkTranslationTransformInitializer_h
21
22// ITK header files:
23#include <itkImageMomentsCalculator.h>
24#include <itkObject.h>
25
26#include <iostream>
27
28namespace itk
29{
30
60template <class TTransform, class TFixedImage, class TMovingImage>
61class ITK_TEMPLATE_EXPORT TranslationTransformInitializer : public Object
62{
63public:
65
68 using Superclass = Object;
69 using Pointer = SmartPointer<Self>;
70 using ConstPointer = SmartPointer<const Self>;
71
73 itkNewMacro(Self);
74
76 itkTypeMacro(TranslationTransformInitializer, Object);
77
79 using TransformType = TTransform;
80 using TransformPointer = typename TransformType::Pointer;
81
83 itkStaticConstMacro(SpaceDimension, unsigned int, TransformType::SpaceDimension);
84 itkStaticConstMacro(InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension);
85 itkStaticConstMacro(OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension);
86
88 using FixedImageType = TFixedImage;
89 using MovingImageType = TMovingImage;
90 using FixedImagePointer = typename FixedImageType::ConstPointer;
91 using MovingImagePointer = typename MovingImageType::ConstPointer;
94 using FixedMaskPointer = typename FixedMaskType::ConstPointer;
95 using MovingMaskPointer = typename MovingMaskType::ConstPointer;
96
98 using FixedImageCalculatorType = ImageMomentsCalculator<FixedImageType>;
99 using MovingImageCalculatorType = ImageMomentsCalculator<MovingImageType>;
100
101 using FixedImageCalculatorPointer = typename FixedImageCalculatorType::Pointer;
102 using MovingImageCalculatorPointer = typename MovingImageCalculatorType::Pointer;
103
105 using InputPointType = typename TransformType::InputPointType;
106
108 using OutputVectorType = typename TransformType::OutputVectorType;
109
111 itkSetObjectMacro(Transform, TransformType);
112
114 itkSetConstObjectMacro(FixedImage, FixedImageType);
115
117 itkSetConstObjectMacro(MovingImage, MovingImageType);
118
120 itkSetConstObjectMacro(FixedMask, FixedMaskType);
121
123 itkSetConstObjectMacro(MovingMask, MovingMaskType);
124
126 virtual void
128
131 void
133 {
134 m_UseMoments = false;
135 }
136 void
138 {
139 m_UseMoments = true;
140 }
141
143 itkGetConstObjectMacro(FixedCalculator, FixedImageCalculatorType);
144 itkGetConstObjectMacro(MovingCalculator, MovingImageCalculatorType);
145
146protected:
149
150 void
151 PrintSelf(std::ostream & os, Indent indent) const override;
152
153private:
154 TransformPointer m_Transform{};
155 FixedImagePointer m_FixedImage{};
156 MovingImagePointer m_MovingImage{};
157 FixedMaskPointer m_FixedMask{};
158 MovingMaskPointer m_MovingMask{};
159 bool m_UseMoments{};
160
161 FixedImageCalculatorPointer m_FixedCalculator{};
162 MovingImageCalculatorPointer m_MovingCalculator{};
163};
164
165} // namespace itk
166
167#ifndef ITK_MANUAL_INSTANTIATION
168# include "itkTranslationTransformInitializer.hxx"
169#endif
170
171#endif /* itkTranslationTransformInitializer_h */
TranslationTransformInitializer is a helper class intended to initialize the translation of a Transla...
typename MovingMaskType::ConstPointer MovingMaskPointer
void PrintSelf(std::ostream &os, Indent indent) const override
ITK_DISALLOW_COPY_AND_MOVE(TranslationTransformInitializer)
typename TransformType::OutputVectorType OutputVectorType
typename FixedMaskType::ConstPointer FixedMaskPointer
typename FixedImageCalculatorType::Pointer FixedImageCalculatorPointer
typename TransformType::InputPointType InputPointType
typename FixedImageType::ConstPointer FixedImagePointer
ImageMomentsCalculator< MovingImageType > MovingImageCalculatorType
virtual void InitializeTransform() const
typename MovingImageCalculatorType::Pointer MovingImageCalculatorPointer
itkStaticConstMacro(SpaceDimension, unsigned int, TransformType::SpaceDimension)
ImageMomentsCalculator< FixedImageType > FixedImageCalculatorType
~TranslationTransformInitializer() override=default
itkStaticConstMacro(InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension)
itkStaticConstMacro(OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension)
typename MovingImageType::ConstPointer MovingImagePointer


Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo