go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUAdvancedCombinationTransformCopier.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 itkGPUAdvancedCombinationTransformCopier_h
19#define itkGPUAdvancedCombinationTransformCopier_h
20
22
23namespace itk
24{
62template <typename TTypeList,
63 typename NDimensions,
64 typename TAdvancedCombinationTransform,
65 typename TOutputTransformPrecisionType>
66class ITK_TEMPLATE_EXPORT GPUAdvancedCombinationTransformCopier : public Object
67{
68public:
70
73 using Superclass = Object;
74 using Pointer = SmartPointer<Self>;
75 using ConstPointer = SmartPointer<const Self>;
76
78 itkNewMacro(Self);
79
82
84 using CPUComboTransformType = TAdvancedCombinationTransform;
85
87 itkStaticConstMacro(SpaceDimension, unsigned int, CPUComboTransformType::SpaceDimension);
88
90 using CPUComboTransformConstPointer = typename CPUComboTransformType::ConstPointer;
91 using CPUCurrentTransformType = typename CPUComboTransformType::CurrentTransformType;
92 using CPUCurrentTransformPointer = typename CPUComboTransformType::CurrentTransformPointer;
93 using CPUCurrentTransformConstPointer = typename CPUComboTransformType::CurrentTransformConstPointer;
94 using CPUInitialTransformType = typename CPUComboTransformType::InitialTransformType;
95 using CPUInitialTransformPointer = typename CPUComboTransformType::InitialTransformPointer;
96 using CPUInitialTransformConstPointer = typename CPUComboTransformType::InitialTransformConstPointer;
97 using TransformType = typename CPUComboTransformType::TransformType; // itk::Transform
98 using TransformTypePointer = typename CPUComboTransformType::TransformTypePointer; // itk::Transform
99 using TransformTypeConstPointer = typename CPUComboTransformType::TransformTypeConstPointer; // itk::Transform
100 using CPUScalarType = typename CPUComboTransformType::ScalarType;
101
104 using CPUParametersType = typename CPUAdvancedTransformType::ParametersType;
105 using CPUFixedParametersType = typename CPUAdvancedTransformType::FixedParametersType;
106
108 using GPUScalarType = TOutputTransformPrecisionType;
111
115 using GPUParametersType = typename GPUAdvancedTransformType::ParametersType;
116 using GPUFixedParametersType = typename GPUAdvancedTransformType::FixedParametersType;
117
119 itkSetConstObjectMacro(InputTransform, CPUComboTransformType);
120
123
132 itkGetConstMacro(ExplicitMode, bool);
133 itkSetMacro(ExplicitMode, bool);
134
136 void
138
139#ifdef ITK_USE_CONCEPT_CHECKING
140 // Begin concept checking
141 itkConceptMacro(OutputTransformPrecisionTypeIsFloatingPointCheck,
142 (Concept::IsFloatingPoint<TOutputTransformPrecisionType>));
143 // End concept checking
144#endif
145
146protected:
149 void
150 PrintSelf(std::ostream & os, Indent indent) const override;
151
153 bool
155
157 void
159 GPUAdvancedTransformPointer & toTransform);
160
162 void
164
166 void
168
169private:
171 bool
173
175 template <unsigned int Dimension>
176 struct ITK_TEMPLATE_EXPORT TransformSpaceDimensionToType
177 {};
178
180 template <unsigned int InputSpaceDimension>
181 bool
188
189
191 template <unsigned int InputSpaceDimension>
192 bool
199
200
202 bool
204 GPUComboTransformPointer & toTransform,
206
208 bool
210 GPUComboTransformPointer & toTransform,
212
214 template <unsigned int InputSpaceDimension>
215 bool
222
223
225 template <unsigned int InputSpaceDimension>
226 bool
233
234
236 bool
238 GPUComboTransformPointer & toTransform,
240
242 bool
244 GPUComboTransformPointer & toTransform,
246
247private:
250 ModifiedTimeType m_InternalTransformTime{};
251 bool m_ExplicitMode{};
252};
253
254} // end namespace itk
255
256#ifndef ITK_MANUAL_INSTANTIATION
257# include "itkGPUAdvancedCombinationTransformCopier.hxx"
258#endif
259
260#endif /* itkGPUAdvancedCombinationTransformCopier_h */
Transform maps points, vectors and covariant vectors from an input space to an output space.
A helper class which creates an GPU AdvancedCombinationTransform which is perfect copy of the CPU Adv...
void CastCopyTransformParameters(const CPUCurrentTransformConstPointer &fromTransform, GPUAdvancedTransformPointer &toTransform)
typename CPUComboTransformType::TransformTypePointer TransformTypePointer
bool CopyEuler2DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 2 >)
bool CopyToCurrentTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform)
bool CopyEuler3DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 3 >)
void CastCopyParameters(const CPUParametersType &from, GPUParametersType &to)
itkStaticConstMacro(SpaceDimension, unsigned int, CPUComboTransformType::SpaceDimension)
bool CopySimilarity3DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
typename CPUComboTransformType::TransformTypeConstPointer TransformTypeConstPointer
typename CPUComboTransformType::ConstPointer CPUComboTransformConstPointer
bool CopySimilarity3DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 3 >)
void PrintSelf(std::ostream &os, Indent indent) const override
bool CopyEuler2DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
typename CPUComboTransformType::InitialTransformPointer CPUInitialTransformPointer
typename GPUAdvancedTransformType::Pointer GPUAdvancedTransformPointer
typename CPUComboTransformType::CurrentTransformConstPointer CPUCurrentTransformConstPointer
typename CPUAdvancedTransformType::ParametersType CPUParametersType
ITK_DISALLOW_COPY_AND_MOVE(GPUAdvancedCombinationTransformCopier)
~GPUAdvancedCombinationTransformCopier() override=default
bool CopyBSplineTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform)
typename GPUAdvancedTransformType::ParametersType GPUParametersType
typename CPUAdvancedTransformType::FixedParametersType CPUFixedParametersType
typename CPUComboTransformType::InitialTransformConstPointer CPUInitialTransformConstPointer
bool CopyEuler3DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
itkGetModifiableObjectMacro(Output, GPUComboTransformType)
typename CPUComboTransformType::TransformType TransformType
bool CopySimilarity2DTransform(const CPUCurrentTransformConstPointer &fromTransform, GPUComboTransformPointer &toTransform, TransformSpaceDimensionToType< 2 >)
typename CPUComboTransformType::InitialTransformType CPUInitialTransformType
typename CPUComboTransformType::CurrentTransformPointer CPUCurrentTransformPointer
bool CopySimilarity2DTransform(const CPUCurrentTransformConstPointer &, GPUComboTransformPointer &, TransformSpaceDimensionToType< InputSpaceDimension >)
typename GPUAdvancedTransformType::FixedParametersType GPUFixedParametersType
void CastCopyFixedParameters(const CPUFixedParametersType &from, GPUFixedParametersType &to)
typename CPUComboTransformType::CurrentTransformType CPUCurrentTransformType
GPU version of AdvancedCombinationTransform.


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