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 >,
130 itkGetOpenCLSourceFromKernelMacro(GPUBinaryThresholdImageFilterKernel);
143 virtual void GPUGenerateData() ITK_OVERRIDE;
147 void operator=(
const Self &) ITK_DELETE_FUNCTION;
172 return "A Factory for GPUBinaryThresholdImageFilter";
177 itkFactorylessNewMacro(Self);
192 void operator=(
const Self&) ITK_DELETE_FUNCTION;
194 #define OverrideThresholdFilterTypeMacro(ipt,opt,dm) \ 196 typedef itk::Image<ipt,dm> InputImageType; \ 197 typedef itk::Image<opt,dm> OutputImageType; \ 198 this->RegisterOverride( \ 199 typeid(itk::BinaryThresholdImageFilter<InputImageType,OutputImageType>).name(), \ 200 typeid(itk::GPUBinaryThresholdImageFilter<InputImageType,OutputImageType>).name(), \ 201 "GPU Binary Threshold Image Filter Override", \ 203 itk::CreateObjectFunction<GPUBinaryThresholdImageFilter<InputImageType,OutputImageType> >::New() ); \ 238 #ifndef ITK_MANUAL_INSTANTIATION 239 #include "itkGPUBinaryThresholdImageFilter.hxx" void SetOutsideValue(const TOutput &value)
#define ITK_SOURCE_VERSION
SimpleDataObjectDecorator< InputPixelType > InputPixelObjectType
SmartPointer< Self > Pointer
const char * GetDescription() const override
TInputImage::PixelType InputPixelType
TOutputImage::PixelType OutputPixelType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
int SetGPUKernelArguments(GPUKernelManager::Pointer KernelManager, int KernelHandle)
Create instances of classes using an object factory.
void SetInsideValue(const TOutput &value)
itkGPUKernelClassMacro(GPUImageOpsKernel)
SmartPointer< const Self > ConstPointer
void SetLowerThreshold(const TInput &thresh)
virtual const char * GetITKSourceVersion() const override
GPU version of binary threshold image filter.
Binarize an input image by thresholding.
static ITK_CONSTEXPR_FUNC T max(const T &)
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
SmartPointer< Self > Pointer
static ITK_CONSTEXPR_FUNC T NonpositiveMin()
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.
void SetUpperThreshold(const TInput &thresh)
GPUBinaryThresholdImageFilterFactory()