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"
27
28namespace itk
29{
31itkGPUKernelClassMacro( GPUCastImageFilterKernel );
32
44namespace Functor
45{
46template< typename TInput, typename TOutput >
47class GPUCast : public GPUFunctorBase
48{
49public:
50
51 GPUCast() {}
52
53 ~GPUCast() override {}
54
58 int SetGPUKernelArguments( OpenCLKernelManager::Pointer KernelManager, int KernelHandle ) override
59 {
60 return 0;
61 }
62
63
64};
65
66} // end of namespace Functor
67
69template< typename TInputImage, typename TOutputImage >
70class ITK_EXPORT GPUCastImageFilter :
72 TInputImage, TOutputImage,
73 Functor::GPUCast< typename TInputImage::PixelType,
74 typename TOutputImage::PixelType >,
75 CastImageFilter< TInputImage, TOutputImage > >
76{
77public:
78
82 TInputImage, TOutputImage,
83 Functor::GPUCast<
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
104protected:
105
108
111 virtual void GPUGenerateData( void );
112
113private:
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 */
Base functor class for GPU functor image filters.
GPU version of CastImageFilter.
SimpleDataObjectDecorator< InputPixelType > InputPixelObjectType
TOutputImage::PixelType OutputPixelType
GPUUnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::GPUCast< typename TInputImage::PixelType, typename TOutputImage::PixelType >, CastImageFilter< TInputImage, TOutputImage > > GPUSuperclass
TInputImage::PixelType InputPixelType
SmartPointer< const Self > ConstPointer
void operator=(const Self &)
SmartPointer< Self > Pointer
CastImageFilter< TInputImage, TOutputImage > CPUSuperclass
GPUCastImageFilter(const Self &)
virtual void GPUGenerateData(void)
Implements pixel-wise generic operation on one image using the GPU.
itkGPUKernelClassMacro(GPUBSplineTransformKernel)


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo