go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxExternalTransform.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 elxExternalTransform_h
19#define elxExternalTransform_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23#include "elxDefaultConstruct.h"
25
26namespace elastix
27{
28
46
47template <typename TElastix>
48class ITK_TEMPLATE_EXPORT ExternalTransform
49 : public itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordinateType,
50 elx::TransformBase<TElastix>::FixedImageDimension>
51 , public TransformBase<TElastix>
52{
53public:
55
58
62
64
65 using Pointer = itk::SmartPointer<Self>;
66 using ConstPointer = itk::SmartPointer<const Self>;
67
69 using typename Superclass2::ParameterMapType;
70 using typename Superclass2::CoordinateType;
71
73 itkNewMacro(Self);
74
77
82 elxClassNameMacro("ExternalTransform");
83
85 itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension);
86
88 void
89 ReadFromFile() override;
90
91protected:
94
96 ~ExternalTransform() override = default;
97
98private:
100
104
106
108 const itk::SmartPointer<AdvancedTransformAdapterType> m_AdvancedTransformAdapter{
110 };
111};
112
113} // end namespace elastix
114
115#ifndef ITK_MANUAL_INSTANTIATION
116# include "elxExternalTransform.hxx"
117#endif
118
119#endif
Adapts the ITK transform that is specified by AdvancedTransformAdapter::SetExternalTransform to the e...
elx::TransformBase< TElastix > Superclass2
itk::SmartPointer< Self > Pointer
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordinateType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
ParameterMapType CreateDerivedTransformParameterMap() const override
ITK_DISALLOW_COPY_AND_MOVE(ExternalTransform)
itk::SmartPointer< const Self > ConstPointer
itkOverrideGetNameOfClassMacro(ExternalTransform)
typename TElastix::ParameterMapType ParameterMapType
elxClassNameMacro("ExternalTransform")
void ReadFromFile() override
AdvancedTransformAdapter< CoordinateType, Superclass2::FixedImageDimension > AdvancedTransformAdapterType
~ExternalTransform() override=default
const itk::SmartPointer< AdvancedTransformAdapterType > m_AdvancedTransformAdapter
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
This class is the elastix base class for all Transforms.
ElastixBase::CoordinateType CoordinateType
typename TElastix::ParameterMapType ParameterMapType
This class combines two transforms: an 'initial transform' with a 'current transform'.


Generated on 26-02-2026 for elastix by doxygen 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) elastix logo