18 #ifndef itkGPUGradientAnisotropicDiffusionImageFilter_h
19 #define itkGPUGradientAnisotropicDiffusionImageFilter_h
46 template<
typename TInputImage,
typename TOutputImage,
typename TParentImageFilter =
47 GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage > >
73 #ifdef ITK_USE_CONCEPT_CHECKING
113 return "A Factory for GPUGradientAnisotropicDiffusionImageFilter";
118 itkFactorylessNewMacro(
Self);
134 #define GradientAnisotropicDiffusionImageFilterTypeMacro(ipt,opt,dm) \
136 using InputImageType = itk::Image<ipt,dm>; \
137 using OutputImageType = itk::Image<opt,dm>; \
138 this->RegisterOverride( \
139 typeid(itk::GradientAnisotropicDiffusionImageFilter<InputImageType,OutputImageType>).name(), \
140 typeid(itk::GPUGradientAnisotropicDiffusionImageFilter<InputImageType,OutputImageType>).name(), \
141 "GPU GradientAnisotropicDiffusionImageFilter Override", \
143 itk::CreateObjectFunction<GPUGradientAnisotropicDiffusionImageFilter<InputImageType,OutputImageType> >::New() ); \
class to abstract the behaviour of the GPU filters.
Light weight base class for most itk classes.
#define GradientAnisotropicDiffusionImageFilterTypeMacro(ipt, opt, dm)
GPUGradientAnisotropicDiffusionImageFilter()
#define ITK_SOURCE_VERSION
const char * GetITKSourceVersion() const override
Create instances of classes using an object factory.
static constexpr unsigned int ImageDimension
const char * GetDescription() const override
GPUGradientAnisotropicDiffusionImageFilterFactory()
~GPUGradientAnisotropicDiffusionImageFilter() override
OutputImageType UpdateBufferType
static constexpr unsigned int ImageDimension
static void RegisterOneFactory()
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionType where=INSERT_AT_BACK, vcl_size_t position=0)
GPUGradientAnisotropicDiffusionImageFilterFactory Self
typename GPUSuperclass::UpdateBufferType UpdateBufferType
#define itkConceptMacro(name, concept)
void SetDifferenceFunction(FiniteDifferenceFunctionType *differenceFunction) override