22 #ifndef otbNCCRegistrationFunction_h
23 #define otbNCCRegistrationFunction_h
25 #include "itkPDEDeformableRegistrationFunction.h"
27 #include "itkLinearInterpolateImageFunction.h"
28 #include "itkCentralDifferenceImageFunction.h"
48 template <
class TFixedImage,
class TMovingImage,
class TDisplacementField>
49 class ITK_EXPORT
NCCRegistrationFunction :
public itk::PDEDeformableRegistrationFunction<TFixedImage, TMovingImage, TDisplacementField>
55 typedef itk::PDEDeformableRegistrationFunction<TFixedImage, TMovingImage, TDisplacementField>
Superclass;
72 typedef typename FixedImageType::IndexType
IndexType;
73 typedef typename FixedImageType::SizeType
SizeType;
81 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
95 typedef typename InterpolatorType::PointType
PointType;
108 m_MovingImageInterpolator = ptr;
114 return m_MovingImageInterpolator;
139 void InitializeIteration()
override;
143 PixelType ComputeUpdate(
const NeighborhoodType& neighborhood,
void* globalData,
const FloatOffsetType& offset = FloatOffsetType(0.0))
override;
150 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
164 void operator=(
const Self&) =
delete;
190 #ifndef OTB_MANUAL_INSTANTIATION