go home Home | Main Page | Modules | 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
47template <class TElastix>
48class ITK_TEMPLATE_EXPORT ExternalTransform
49 : public itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType,
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::CoordRepType;
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{
109 AdvancedTransformAdapterType::New()
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...
itk::SmartPointer< Self > Pointer
ParameterMapType CreateDerivedTransformParameterMap() const override
ITK_DISALLOW_COPY_AND_MOVE(ExternalTransform)
itk::SmartPointer< const Self > ConstPointer
typename TElastix::ParameterMapType ParameterMapType
elxClassNameMacro("ExternalTransform")
void ReadFromFile() override
~ExternalTransform() override=default
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
This class is the elastix base class for all Transforms.
typename TElastix::ParameterMapType ParameterMapType
This class combines two transforms: an 'initial transform' with a 'current transform'.


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