18 #ifndef __itkGPUBinaryThresholdImageFilter_h
19 #define __itkGPUBinaryThresholdImageFilter_h
32 template<
typename TInput,
typename TOutput >
68 KernelManager->SetKernelArg(KernelHandle, 0,
sizeof(TInput), &(
m_LowerThreshold) );
69 KernelManager->SetKernelArg(KernelHandle, 1,
sizeof(TInput), &(
m_UpperThreshold) );
70 KernelManager->SetKernelArg(KernelHandle, 2,
sizeof(TOutput), &(
m_InsideValue) );
71 KernelManager->SetKernelArg(KernelHandle, 3,
sizeof(TOutput), &(
m_OutsideValue) );
94 template<
typename TInputImage,
typename TOutputImage >
98 Functor::GPUBinaryThreshold<
99 typename TInputImage::PixelType,
100 typename TOutputImage::PixelType >,
101 BinaryThresholdImageFilter<TInputImage, TOutputImage> >
109 typename TInputImage::PixelType,
110 typename TOutputImage::PixelType >,
170 return "A Factory for GPUBinaryThresholdImageFilter";
175 itkFactorylessNewMacro(
Self);
192 #define OverrideThresholdFilterTypeMacro(ipt,opt,dm) \
194 typedef itk::Image<ipt,dm> InputImageType; \
195 typedef itk::Image<opt,dm> OutputImageType; \
196 this->RegisterOverride( \
197 typeid(itk::BinaryThresholdImageFilter<InputImageType,OutputImageType>).name(), \
198 typeid(itk::GPUBinaryThresholdImageFilter<InputImageType,OutputImageType>).name(), \
199 "GPU Binary Threshold Image Filter Override", \
201 itk::CreateObjectFunction<GPUBinaryThresholdImageFilter<InputImageType,OutputImageType> >::New() ); \
236 #ifndef ITK_MANUAL_INSTANTIATION
237 #include "itkGPUBinaryThresholdImageFilter.hxx"
void SetOutsideValue(const TOutput &value)
GPUBinaryThresholdImageFilter()
#define ITK_SOURCE_VERSION
SimpleDataObjectDecorator< InputPixelType > InputPixelObjectType
SmartPointer< Self > Pointer
TInputImage::PixelType InputPixelType
TOutputImage::PixelType OutputPixelType
const char * GetDescription() const
int SetGPUKernelArguments(GPUKernelManager::Pointer KernelManager, int KernelHandle)
Base class for all process objects that output image data.
Create instances of classes using an object factory.
void SetInsideValue(const TOutput &value)
itkGPUKernelClassMacro(GPUImageOpsKernel)
void operator=(const Self &)
SmartPointer< const Self > ConstPointer
void operator=(const Self &)
void SetLowerThreshold(const TInput &thresh)
GPU version of binary threshold image filter.
Binarize an input image by thresholding.
GPUUnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::GPUBinaryThreshold< typename TInputImage::PixelType, typename TOutputImage::PixelType >, BinaryThresholdImageFilter< TInputImage, TOutputImage > > GPUSuperclass
Base functor class for GPU functor image filters.
Decorates any "simple" data type (data types without smart pointers) with a DataObject API...
GPUBinaryThresholdImageFilter Self
SmartPointer< const Self > ConstPointer
GPUBinaryThresholdImageFilterFactory Self
ObjectFactoryBase Superclass
virtual const char * GetITKSourceVersion() const
SmartPointer< Self > Pointer
static void RegisterOneFactory(void)
#define OverrideThresholdFilterTypeMacro(ipt, opt, dm)
BinaryThresholdImageFilter< TInputImage, TOutputImage > CPUSuperclass
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionType where=INSERT_AT_BACK, vcl_size_t position=0)
virtual ~GPUBinaryThresholdImageFilter()
Implements pixel-wise generic operation on one image using the GPU.
static T NonpositiveMin()
Define additional traits for native types such as int or float.
itkGetOpenCLSourceFromKernelMacro(GPUBinaryThresholdImageFilterKernel)
virtual void GPUGenerateData()
void SetUpperThreshold(const TInput &thresh)
GPUBinaryThresholdImageFilterFactory()