18#ifndef itkGPUMeanImageFilter_h
19#define itkGPUMeanImageFilter_h
42template <
typename TInputImage,
typename TOutputImage>
48 public GPUBoxImageFilter<TInputImage, TOutputImage, MeanImageFilter<TInputImage, TOutputImage>>
65 using typename Superclass::OutputImageRegionType;
66 using typename Superclass::OutputImagePixelType;
76 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
77 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
93 int m_MeanFilterGPUKernelHandle{};
121 return "A Factory for GPUMeanImageFilter";
141#define OverrideMeanFilterTypeMacro(ipt, opt, dm) \
143 using InputImageType = Image<ipt, dm>; \
144 using OutputImageType = Image<opt, dm>; \
145 this->RegisterOverride(typeid(MeanImageFilter<InputImageType, OutputImageType>).name(), \
146 typeid(GPUMeanImageFilter<InputImageType, OutputImageType>).name(), \
147 "GPU Mean Image Filter Override", \
149 CreateObjectFunction<GPUMeanImageFilter<InputImageType, OutputImageType>>::New()); \
151 ITK_MACROEND_NOOP_STATEMENT
183#ifndef ITK_MANUAL_INSTANTIATION
184# include "itkGPUMeanImageFilter.hxx"
A base class for all the GPU filters working on a box neighborhood.
Object Factory implementation for GPUMeanImageFilter.
GPUMeanImageFilterFactory()
const char * GetITKSourceVersion() const override
const char * GetDescription() const override
static void RegisterOneFactory()
GPU-enabled implementation of the MeanImageFilter.
itkGetOpenCLSourceFromKernelMacro(GPUMeanImageFilterKernel)
void PrintSelf(std::ostream &os, Indent indent) const override
void GPUGenerateData() override
~GPUMeanImageFilter() override
Base class for all process objects that output image data.
TInputImage InputImageType
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType InputImagePixelType
typename InputImageType::RegionType InputImageRegionType
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Create instances of classes using an object factory.
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionEnum where=InsertionPositionEnum::INSERT_AT_BACK, vcl_size_t position=0)
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define OverrideMeanFilterTypeMacro(ipt, opt, dm)
#define ITK_SOURCE_VERSION
ImageBaseType::RegionType RegionType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
itkGPUKernelClassMacro(GPUImageOpsKernel)