go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
elxAdvancedAffineTransform.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 elxAdvancedAffineTransform_h
19#define elxAdvancedAffineTransform_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
25
26namespace elastix
27{
28
72
73template <typename TElastix>
74class ITK_TEMPLATE_EXPORT AdvancedAffineTransformElastix
75 : public itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordinateType,
76 elx::TransformBase<TElastix>::FixedImageDimension>
77 , public elx::TransformBase<TElastix>
78{
79public:
81
87 using Pointer = itk::SmartPointer<Self>;
88 using ConstPointer = itk::SmartPointer<const Self>;
89
96
98 itkNewMacro(Self);
99
102
107 elxClassNameMacro("AffineTransform");
108
110 itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension);
111
113 using typename Superclass1::ScalarType;
114 using typename Superclass1::ParametersType;
115 using typename Superclass1::NumberOfParametersType;
116 using typename Superclass1::JacobianType;
117 using typename Superclass1::InputVectorType;
118 using typename Superclass1::OutputVectorType;
119 using typename Superclass1::InputCovariantVectorType;
120 using typename Superclass1::OutputCovariantVectorType;
121 using typename Superclass1::InputVnlVectorType;
122 using typename Superclass1::OutputVnlVectorType;
123 using typename Superclass1::InputPointType;
124 using typename Superclass1::OutputPointType;
125
127 using typename Superclass2::ElastixType;
128 using typename Superclass2::ParameterMapType;
129 using typename Superclass2::RegistrationType;
130 using typename Superclass2::CoordinateType;
131 using typename Superclass2::FixedImageType;
132 using typename Superclass2::MovingImageType;
135
137 using IndexType = typename FixedImageType::IndexType;
138 using IndexValueType = typename IndexType::IndexValueType;
139 using SizeType = typename FixedImageType::SizeType;
140 using PointType = typename FixedImageType::PointType;
141 using SpacingType = typename FixedImageType::SpacingType;
142 using RegionType = typename FixedImageType::RegionType;
143 using DirectionType = typename FixedImageType::DirectionType;
144
145 // typedef CenteredTransformInitializer<
149 using AffineTransformPointer = typename AffineTransformType::Pointer;
150
152 using typename Superclass2::ScalesType;
153
158 void
160
168 virtual void
170
175 void
176 ReadFromFile() override;
177
178protected:
183
184private:
186
192 bool
194
210 void
212
216
217 const AffineTransformPointer m_AffineTransform{ AffineTransformType::New() };
218};
219
220} // end namespace elastix
221
222#ifndef ITK_MANUAL_INSTANTIATION
223# include "elxAdvancedAffineTransform.hxx"
224#endif
225
226#endif // end #ifndef elxAdvancedAffineTransform_h
typename FixedImageType::PointType PointType
typename IndexType::IndexValueType IndexValueType
typename FixedImageType::RegionType RegionType
typename TransformInitializerType::Pointer TransformInitializerPointer
typename Superclass2::CombinationTransformType CombinationTransformType
typename FixedImageType::IndexType IndexType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordinateType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
ITK_DISALLOW_COPY_AND_MOVE(AdvancedAffineTransformElastix)
bool ReadCenterOfRotationPoint(InputPointType &rotationPoint) const
itkOverrideGetNameOfClassMacro(AdvancedAffineTransformElastix)
itk::CenteredTransformInitializer2< AffineTransformType, FixedImageType, MovingImageType > TransformInitializerType
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
typename TElastix::ParameterMapType ParameterMapType
typename Superclass2::ITKBaseType ITKBaseType
typename FixedImageType::DirectionType DirectionType
typename FixedImageType::SpacingType SpacingType
~AdvancedAffineTransformElastix() override=default
ParameterMapType CreateDerivedTransformParameterMap() const override
typename AffineTransformType::Pointer AffineTransformPointer
itk::AdvancedMatrixOffsetTransformBase< typename elx::TransformBase< TElastix >::CoordinateType, elx::TransformBase< TElastix >::FixedImageDimension, elx::TransformBase< TElastix >::MovingImageDimension > AffineTransformType
This class is the elastix base class for all Transforms.
typename TElastix::FixedImageType FixedImageType
ElastixBase::CoordinateType CoordinateType
typename TElastix::ParameterMapType ParameterMapType
typename TElastix::MovingImageType MovingImageType
typename ElastixType::RegistrationBaseType RegistrationType
itk::AdvancedCombinationTransform< CoordinateType, Self::FixedImageDimension > CombinationTransformType
typename ITKBaseType::InputPointType InputPointType
itk::Optimizer::ScalesType ScalesType
CombinationTransformType ITKBaseType
This class combines two transforms: an 'initial transform' with a 'current transform'.
CenteredTransformInitializer2 is a helper class intended to initialize the center of rotation and the...


Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo