18 #ifndef __itkGPUDemonsRegistrationFilter_h
19 #define __itkGPUDemonsRegistrationFilter_h
67 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField,
72 TDisplacementField, TParentImageFilter >
79 typedef TParentImageFilter
127 itkSetMacro(UseMovingImageGradient,
bool);
128 itkGetConstMacro(UseMovingImageGradient,
bool);
129 itkBooleanMacro(UseMovingImageGradient);
177 return "A Factory for GPUDemonsRegistrationFilter";
182 itkFactorylessNewMacro(
Self);
199 #define OverrideDemonsRegistrationFilterTypeMacro(ipt,opt,dm) \
201 typedef GPUImage<ipt,dm> InputImageType; \
202 typedef GPUImage<opt,dm> OutputImageType; \
203 typedef Vector< float, dm > VectorPixelType; \
204 typedef GPUImage< VectorPixelType, dm > DisplacementFieldType; \
205 this->RegisterOverride( \
206 typeid(DemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType>).name(), \
207 typeid(GPUDemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType>).name(), \
208 "GPU Demons Registration Filter Override", \
210 CreateObjectFunction<GPUDemonsRegistrationFilter<InputImageType,OutputImageType,DisplacementFieldType> >::New() ); \
243 #ifndef ITK_MANUAL_INSTANTIATION
244 #include "itkGPUDemonsRegistrationFilter.hxx"
GPUDemonsRegistrationFilter()
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
void PrintSelf(std::ostream &os, Indent indent) const
virtual void InitializeIteration()
bool m_UseMovingImageGradient
GPUDemonsRegistrationFilterFactory()
~GPUDemonsRegistrationFilter()
void operator=(const Self &)
virtual double GetIntensityDifferenceThreshold() const
virtual double GetMetric() const
GPUSuperclass::DisplacementFieldPointer DisplacementFieldPointer
virtual void ApplyUpdate(const TimeStepType &dt)
Object Factory implemenatation for GPUDemonsRegistrationFilter.
GPUSuperclass::MovingImageType MovingImageType
GPUSuperclass::TimeStepType TimeStepType
GPUSuperclass::TimeStepType TimeStepType
GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter > GPUSuperclass
void operator=(const Self &)
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)
virtual const char * GetITKSourceVersion() const
SmartPointer< Self > Pointer
GPUSuperclass::MovingImagePointer MovingImagePointer
virtual void SetIntensityDifferenceThreshold(double)
GPUDemonsRegistrationFilterFactory Self
GPUSuperclass::FixedImagePointer FixedImagePointer
TParentImageFilter CPUSuperclass
GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType