go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUBSplineInterpolateImageFunctionFactory.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 __itkGPUBSplineInterpolateImageFunctionFactory_h
19 #define __itkGPUBSplineInterpolateImageFunctionFactory_h
20 
23 
24 namespace itk
25 {
36 template< typename TTypeList, typename NDimensions >
38  public GPUObjectFactoryBase< NDimensions >
39 {
40 public:
41 
45  typedef SmartPointer< const Self > ConstPointer;
46 
48  const char * GetDescription() const { return "A Factory for GPUBSplineInterpolateImageFunction"; }
49 
52 
55 
57  static void RegisterOneFactory();
58 
60  template< typename TType, unsigned int VImageDimension >
61  void operator()( void )
62  {
63  // Image typedefs
64  typedef Image< TType, VImageDimension > InputImageType;
65  typedef GPUImage< TType, VImageDimension > GPUInputImageType;
66 
67  // Override default with the coordinate representation type as float
68  // and coefficient type as float
69  this->RegisterOverride(
70  typeid( BSplineInterpolateImageFunction< InputImageType, float, float > ).name(),
72  "GPU BSplineInterpolateImageFunction override with coord rep and coefficient as float",
73  true,
75  );
76 
77  // Override when itkGPUImage is first template argument,
78  // the coordinate representation type as float and coefficient type as float
79  this->RegisterOverride(
80  typeid( BSplineInterpolateImageFunction< GPUInputImageType, float, float > ).name(),
82  "GPU BSplineInterpolateImageFunction override for GPUImage with coord rep and coefficient as float",
83  true,
85  );
86 
87  // Override default with and the coordinate representation type as double
88  // and coefficient type as double
89  this->RegisterOverride(
90  typeid( BSplineInterpolateImageFunction< InputImageType, double, double > ).name(),
92  "GPU BSplineInterpolateImageFunction override with coord rep and coefficient as double",
93  true,
95  );
96 
97  // Override when itkGPUImage is first template argument,
98  // the coordinate representation type as double and coefficient type as double
99  this->RegisterOverride(
100  typeid( BSplineInterpolateImageFunction< GPUInputImageType, double, double > ).name(),
102  "GPU BSplineInterpolateImageFunction override for GPUImage with coord rep and coefficient as double",
103  true,
105  );
106  }
107 
108 
109 protected:
110 
113 
115  virtual void Register1D();
116 
118  virtual void Register2D();
119 
121  virtual void Register3D();
122 
123 private:
124 
125  GPUBSplineInterpolateImageFunctionFactory2( const Self & ); // purposely not implemented
126  void operator=( const Self & ); // purposely not implemented
127 
128 };
129 
130 } // end namespace itk
131 
132 #ifndef ITK_MANUAL_INSTANTIATION
133 #include "itkGPUBSplineInterpolateImageFunctionFactory.hxx"
134 #endif
135 
136 #endif // end #ifndef __itkGPUBSplineInterpolateImageFunctionFactory_h
itk::GPUBSplineInterpolateImageFunctionFactory2::itkFactorylessNewMacro
itkFactorylessNewMacro(Self)
itkGPUObjectFactoryBase.h
itk::GPUBSplineInterpolateImageFunctionFactory2::Register1D
virtual void Register1D()
itk::GPUImage
Templated n-dimensional image class for the GPU.
Definition: itkGPUImage.h:64
SmartPointer< Self >
itk::GPUBSplineInterpolateImageFunctionFactory2::Register2D
virtual void Register2D()
Image
itk::GPUBSplineInterpolateImageFunctionFactory2::GetDescription
const char * GetDescription() const
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:48
itk::GPUBSplineInterpolateImageFunctionFactory2::operator=
void operator=(const Self &)
itk::GPUObjectFactoryBase
Base class for all GPU factory classes.
Definition: itkGPUObjectFactoryBase.h:41
itk::GPUBSplineInterpolateImageFunctionFactory2::GPUBSplineInterpolateImageFunctionFactory2
GPUBSplineInterpolateImageFunctionFactory2(const Self &)
itk::GPUBSplineInterpolateImageFunction
GPU version of BSplineInterpolateImageFunction.
Definition: itkGPUBSplineInterpolateImageFunction.h:49
itk::GPUBSplineInterpolateImageFunctionFactory2::Self
GPUBSplineInterpolateImageFunctionFactory2 Self
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:42
itk::GPUBSplineInterpolateImageFunctionFactory2::~GPUBSplineInterpolateImageFunctionFactory2
virtual ~GPUBSplineInterpolateImageFunctionFactory2()
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:112
itk::GPUBSplineInterpolateImageFunctionFactory2::Superclass
GPUObjectFactoryBase< NDimensions > Superclass
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:43
itk::GPUBSplineInterpolateImageFunctionFactory2::Pointer
SmartPointer< Self > Pointer
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:44
itk::GPUBSplineInterpolateImageFunctionFactory2::GPUBSplineInterpolateImageFunctionFactory2
GPUBSplineInterpolateImageFunctionFactory2()
itk::GPUBSplineInterpolateImageFunctionFactory2::operator()
void operator()(void)
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:61
itkGPUBSplineInterpolateImageFunction.h
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::GPUBSplineInterpolateImageFunctionFactory2
Object Factory implementation for GPUBSplineInterpolateImageFunction.
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:39
itk::GPUBSplineInterpolateImageFunctionFactory2::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkGPUBSplineInterpolateImageFunctionFactory.h:45
itk::GPUBSplineInterpolateImageFunctionFactory2::Register3D
virtual void Register3D()
itk::GPUBSplineInterpolateImageFunctionFactory2::RegisterOneFactory
static void RegisterOneFactory()


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo