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;
129 virtual
void SetIntensityDifferenceThreshold(
double) ITK_OVERRIDE;
131 virtual
double GetIntensityDifferenceThreshold() const ITK_OVERRIDE;
135 ~GPUDemonsRegistrationFilter() ITK_OVERRIDE {}
137 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
140 virtual void InitializeIteration() ITK_OVERRIDE;
143 virtual
void ApplyUpdate(const TimeStepType& dt) ITK_OVERRIDE;
148 bool m_UseMovingImageGradient;
171 return "A Factory for GPUDemonsRegistrationFilter";
176 itkFactorylessNewMacro(Self);
192 #define OverrideDemonsRegistrationFilterTypeMacro(ipt,opt,dm) \
194 typedef GPUImage<ipt,dm> InputImageType; \
195 typedef GPUImage<opt,dm> OutputImageType; \
196 typedef Vector< float, dm > VectorPixelType; \
197 typedef GPUImage< VectorPixelType, dm > DisplacementFieldType; \
198 this->RegisterOverride( \
199 typeid(DemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType>).name(), \
200 typeid(GPUDemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType>).name(), \
201 "GPU Demons Registration Filter Override", \
203 CreateObjectFunction<GPUDemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType> >::New() ); \
236 #ifndef ITK_MANUAL_INSTANTIATION
237 #include "itkGPUDemonsRegistrationFilter.hxx"
SmartPointer< const Self > ConstPointer
Deformably register two images using the demons algorithm.
GPUSuperclass::FixedImageType FixedImageType
#define ITK_SOURCE_VERSION
GPUSuperclass::DisplacementFieldType DisplacementFieldType
ObjectFactoryBase GPUSuperclass
GPUDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > GPUDemonsRegistrationFunctionType
static void RegisterOneFactory(void)
Create instances of classes using an object factory.
const char * GetDescription() const override
GPUDemonsRegistrationFilterFactory()
virtual const char * GetITKSourceVersion() const 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
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)
SmartPointer< Self > Pointer
GPUSuperclass::MovingImagePointer MovingImagePointer
GPUDemonsRegistrationFilterFactory Self
GPUSuperclass::FixedImagePointer FixedImagePointer
TParentImageFilter CPUSuperclass
GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType