18 #ifndef itkGPUPDEDeformableRegistrationFilter_h
19 #define itkGPUPDEDeformableRegistrationFilter_h
78 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField,
79 typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >
113 typedef typename TDisplacementField::PixelType::ValueType
130 itkStaticConstMacro(ImageDimension,
unsigned int,
131 GPUSuperclass::ImageDimension);
134 itkGetOpenCLSourceFromKernelMacro(GPUPDEDeformableRegistrationFilterKernel);
139 return this->GetOutput();
148 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
152 virtual void CopyInputToOutput() ITK_OVERRIDE;
156 virtual
void InitializeIteration() ITK_OVERRIDE;
161 virtual
void SmoothDisplacementField() ITK_OVERRIDE;
165 virtual
void GPUSmoothVectorField(DisplacementFieldPointer field,
167 int GPUSmoothingKernelSizes[]);
169 virtual
void AllocateSmoothingBuffer();
174 virtual
void SmoothUpdateField() ITK_OVERRIDE;
178 virtual
void PostProcessOutput() ITK_OVERRIDE;
181 virtual
void Initialize() ITK_OVERRIDE;
187 virtual
void GenerateOutputInformation() ITK_OVERRIDE;
195 virtual
void GenerateInputRequestedRegion() ITK_OVERRIDE;
206 int m_SmoothingKernelSizes[ImageDimension];
211 int m_UpdateFieldSmoothingKernelSizes[ImageDimension];
219 int m_SmoothDisplacementFieldGPUKernelHandle;
224 #ifndef ITK_MANUAL_INSTANTIATION
225 #include "itkGPUPDEDeformableRegistrationFilter.hxx"
itkGPUKernelClassMacro(GPUImageOpsKernel)
GPUSuperclass::OutputImageType OutputImageType
GPU memory manager implemented using OpenCL. Required by GPUImage class.
Control indentation during Print() invocation.
GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType