18 #ifndef itkGPUDemonsRegistrationFilter_h 19 #define itkGPUDemonsRegistrationFilter_h 67 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField,
72 TDisplacementField, TParentImageFilter >
79 typedef TParentImageFilter
123 virtual double GetMetric() const ITK_OVERRIDE;
135 ~GPUDemonsRegistrationFilter() {
143 virtual void ApplyUpdate(
const TimeStepType& dt) ITK_OVERRIDE;
147 void operator=(
const Self &) ITK_DELETE_FUNCTION;
172 return "A Factory for GPUDemonsRegistrationFilter";
177 itkFactorylessNewMacro(Self);
192 void operator=(
const Self&) ITK_DELETE_FUNCTION;
194 #define OverrideDemonsRegistrationFilterTypeMacro(ipt,opt,dm) \ 196 typedef GPUImage<ipt,dm> InputImageType; \ 197 typedef GPUImage<opt,dm> OutputImageType; \ 198 typedef Vector< float, dm > VectorPixelType; \ 199 typedef GPUImage< VectorPixelType, dm > DisplacementFieldType; \ 200 this->RegisterOverride( \ 201 typeid(DemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType>).name(), \ 202 typeid(GPUDemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType>).name(), \ 203 "GPU Demons Registration Filter Override", \ 205 CreateObjectFunction<GPUDemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType> >::New() ); \ 238 #ifndef ITK_MANUAL_INSTANTIATION 239 #include "itkGPUDemonsRegistrationFilter.hxx" virtual void SetIntensityDifferenceThreshold(double) override
GPUDemonsRegistrationFilter()
SmartPointer< const Self > ConstPointer
Deformably register two images using the demons algorithm.
GPUSuperclass::FixedImageType FixedImageType
const char * GetDescription() const override
#define ITK_SOURCE_VERSION
GPUSuperclass::DisplacementFieldType DisplacementFieldType
ObjectFactoryBase GPUSuperclass
GPUDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > GPUDemonsRegistrationFunctionType
static void RegisterOneFactory(void)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Create instances of classes using an object factory.
bool m_UseMovingImageGradient
GPUDemonsRegistrationFilterFactory()
virtual void InitializeIteration() override
GPUSuperclass::DisplacementFieldPointer DisplacementFieldPointer
Object Factory implemenatation for GPUDemonsRegistrationFilter.
GPUSuperclass::MovingImageType MovingImageType
GPUSuperclass::TimeStepType TimeStepType
GPUSuperclass::TimeStepType TimeStepType
GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter > GPUSuperclass
GPUDemonsRegistrationFilter Self
void PrintSelf(std::ostream &os, Indent indent) const override
virtual double GetIntensityDifferenceThreshold() const override
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
static bool RegisterFactory(ObjectFactoryBase *, InsertionPositionType where=INSERT_AT_BACK, vcl_size_t position=0)
Deformably register two images using the demons algorithm with GPU.
Control indentation during Print() invocation.
#define OverrideDemonsRegistrationFilterTypeMacro(ipt, opt, dm)
virtual double GetMetric() const override
SmartPointer< Self > Pointer
GPUSuperclass::MovingImagePointer MovingImagePointer
GPUDemonsRegistrationFilterFactory Self
GPUSuperclass::FixedImagePointer FixedImagePointer
virtual const char * GetITKSourceVersion() const override
TParentImageFilter CPUSuperclass
GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
virtual void ApplyUpdate(const TimeStepType &dt) override
void operator=(const Self &) ITK_DELETE_FUNCTION