go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUTranslationTransformBase.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 itkGPUTranslationTransformBase_h
19#define itkGPUTranslationTransformBase_h
20
21#include "itkGPUTransformBase.h"
22
23namespace itk
24{
26itkGPUKernelClassMacro(GPUTranslationTransformBaseKernel);
27
39template <typename TScalarType = float, // Data type for scalars
40 unsigned int NDimensions = 3>
42{
43public:
47
50
52 bool
53 IsTranslationTransform() const override
54 {
55 return true;
56 }
57
60
62 itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
63 itkStaticConstMacro(ParametersDimension, unsigned int, NDimensions);
64
66 using CPUOutputVectorType = Vector<TScalarType, NDimensions>;
67
69 virtual const CPUOutputVectorType &
70 GetCPUOffset() const = 0;
71
72protected:
74 ~GPUTranslationTransformBase() override = default;
75
78 bool
79 GetSourceCode(std::string & source) const override;
80
83 GetParametersDataManager() const override;
84
85private:
86 GPUTranslationTransformBase(const Self & other) = delete;
87 const Self &
88 operator=(const Self &) = delete;
89
90 std::vector<std::string> m_Sources{};
91};
92
93} // end namespace itk
94
95#ifndef ITK_MANUAL_INSTANTIATION
96# include "itkGPUTranslationTransformBase.hxx"
97#endif
98
99#endif /* itkGPUTranslationTransformBase_h */
Base class for all GPU transforms.
Base class for all GPU translation transforms.
itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions)
Vector< TScalarType, NDimensions > CPUOutputVectorType
GPUTranslationTransformBase(const Self &other)=delete
itkStaticConstMacro(ParametersDimension, unsigned int, NDimensions)
virtual const CPUOutputVectorType & GetCPUOffset() const =0
const Self & operator=(const Self &)=delete
bool GetSourceCode(std::string &source) const override
GPUDataManager::Pointer GetParametersDataManager() const override
~GPUTranslationTransformBase() override=default
itkGPUKernelClassMacro(GPUBSplineTransformKernel)


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