go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGPUCastImageFilter.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 __itkGPUCastImageFilter_h
19 #define __itkGPUCastImageFilter_h
20 
21 #include "itkCastImageFilter.h"
22 #include "itkSimpleDataObjectDecorator.h"
23 
24 #include "itkGPUFunctorBase.h"
25 #include "itkOpenCLKernelManager.h"
27 
28 namespace itk
29 {
31 itkGPUKernelClassMacro( GPUCastImageFilterKernel );
32 
44 namespace Functor
45 {
46 template< typename TInput, typename TOutput >
47 class GPUCast : public GPUFunctorBase
48 {
49 public:
50 
51  GPUCast() {}
52 
53  ~GPUCast() {}
54 
58  int SetGPUKernelArguments( OpenCLKernelManager::Pointer KernelManager, int KernelHandle )
59  {
60  return 0;
61  }
62 
63 
64 };
65 
66 } // end of namespace Functor
67 
69 template< typename TInputImage, typename TOutputImage >
70 class ITK_EXPORT GPUCastImageFilter :
72  TInputImage, TOutputImage,
73  Functor::GPUCast< typename TInputImage::PixelType,
74  typename TOutputImage::PixelType >,
75  CastImageFilter< TInputImage, TOutputImage > >
76 {
77 public:
78 
82  TInputImage, TOutputImage,
84  typename TInputImage::PixelType,
85  typename TOutputImage::PixelType >,
86  CastImageFilter< TInputImage, TOutputImage > > GPUSuperclass;
87  typedef CastImageFilter< TInputImage, TOutputImage > CPUSuperclass;
89  typedef SmartPointer< const Self > ConstPointer;
90 
92  itkNewMacro( Self );
93 
96 
98  typedef typename TInputImage::PixelType InputPixelType;
99  typedef typename TOutputImage::PixelType OutputPixelType;
100 
102  typedef SimpleDataObjectDecorator< InputPixelType > InputPixelObjectType;
103 
104 protected:
105 
107  virtual ~GPUCastImageFilter() {}
108 
111  virtual void GPUGenerateData( void );
112 
113 private:
114 
115  GPUCastImageFilter( const Self & ); // purposely not implemented
116  void operator=( const Self & ); // purposely not implemented
117 
118 };
119 
120 } // end of namespace itk
121 
122 #ifndef ITK_MANUAL_INSTANTIATION
123 #include "itkGPUCastImageFilter.hxx"
124 #endif
125 
126 #endif /* __itkGPUCastImageFilter_h */
SmartPointer< Self > Pointer
int SetGPUKernelArguments(OpenCLKernelManager::Pointer KernelManager, int KernelHandle)
TInputImage::PixelType InputPixelType
SimpleDataObjectDecorator< InputPixelType > InputPixelObjectType
CastImageFilter< TInputImage, TOutputImage > CPUSuperclass
GPUUnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::GPUCast< typename TInputImage::PixelType, typename TOutputImage::PixelType >, CastImageFilter< TInputImage, TOutputImage > > GPUSuperclass
itkGPUKernelClassMacro(GPUBSplineTransformKernel)
GPU version of CastImageFilter.
Base functor class for GPU functor image filters.
SmartPointer< const Self > ConstPointer
Implements pixel-wise generic operation on one image using the GPU.
TOutputImage::PixelType OutputPixelType


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo