18#ifndef itkGPUAdvancedBSplineDeformableTransformFactory_h
19#define itkGPUAdvancedBSplineDeformableTransformFactory_h
36template <
typename NDimensions>
37class ITK_TEMPLATE_EXPORT GPUAdvancedBSplineDeformableTransformFactory2 :
public GPUObjectFactoryBase<NDimensions>
40 ITK_DISALLOW_COPY_AND_MOVE(GPUAdvancedBSplineDeformableTransformFactory2);
42 using Self = GPUAdvancedBSplineDeformableTransformFactory2;
43 using Superclass = GPUObjectFactoryBase<NDimensions>;
44 using Pointer = SmartPointer<Self>;
45 using ConstPointer = SmartPointer<const Self>;
49 GetDescription()
const
51 return "A Factory for GPUAdvancedBSplineDeformableTransform";
55 itkFactorylessNewMacro(Self);
58 itkTypeMacro(GPUAdvancedBSplineDeformableTransformFactory2, GPUObjectFactoryBase);
65 template <
typename TType,
unsigned int VImageDimension>
70 this->RegisterOverride(
71 typeid(AdvancedBSplineDeformableTransform<TType, VImageDimension, 1>).name(),
72 typeid(GPUAdvancedBSplineDeformableTransform<TType, VImageDimension, 1>).name(),
73 "GPU AdvancedBSplineDeformableTransform override, spline order 1",
75 CreateObjectFunction<GPUAdvancedBSplineDeformableTransform<TType, VImageDimension, 1>>::New());
78 this->RegisterOverride(
79 typeid(AdvancedBSplineDeformableTransform<TType, VImageDimension, 2>).name(),
80 typeid(GPUAdvancedBSplineDeformableTransform<TType, VImageDimension, 2>).name(),
81 "GPU AdvancedBSplineDeformableTransform override, spline order 2",
83 CreateObjectFunction<GPUAdvancedBSplineDeformableTransform<TType, VImageDimension, 2>>::New());
86 this->RegisterOverride(
87 typeid(AdvancedBSplineDeformableTransform<TType, VImageDimension, 3>).name(),
88 typeid(GPUAdvancedBSplineDeformableTransform<TType, VImageDimension, 3>).name(),
89 "GPU AdvancedBSplineDeformableTransform override, spline order 3",
91 CreateObjectFunction<GPUAdvancedBSplineDeformableTransform<TType, VImageDimension, 3>>::New());
96 GPUAdvancedBSplineDeformableTransformFactory2();
97 virtual ~GPUAdvancedBSplineDeformableTransformFactory2() {}
100 using RealTypeList = typelist::MakeTypeList<float, double>::Type;
117#ifndef ITK_MANUAL_INSTANTIATION
118# include "itkGPUAdvancedBSplineDeformableTransformFactory.hxx"