64 using typename Superclass::CoordinateRepresentationType;
65 using typename Superclass::MovingImageType;
66 using typename Superclass::MovingImagePixelType;
68 using typename Superclass::MovingImageConstPointer;
69 using typename Superclass::FixedImageType;
70 using typename Superclass::FixedImageConstPointer;
71 using typename Superclass::FixedImageRegionType;
72 using typename Superclass::TransformType;
74 using typename Superclass::TransformPointer;
75 using typename Superclass::InputPointType;
76 using typename Superclass::OutputPointType;
77 using typename Superclass::TransformParametersType;
78 using typename Superclass::TransformJacobianType;
79 using typename Superclass::InterpolatorType;
80 using typename Superclass::InterpolatorPointer;
81 using typename Superclass::RealType;
82 using typename Superclass::GradientPixelType;
83 using typename Superclass::GradientImageType;
84 using typename Superclass::GradientImagePointer;
89 using typename Superclass::MeasureType;
90 using typename Superclass::DerivativeType;
91 using typename Superclass::ParametersType;
116 itk::RescaleIntensityImageFilter<TransformedMovingImageType, TransformedMovingImageType>;
120 itk::SubtractImageFilter<FixedImageType, TransformedMovingImageType, TransformedMovingImageType>;
123 itk::MultiplyImageFilter<TransformedMovingImageType, TransformedMovingImageType, TransformedMovingImageType>;
131 GetValue(
const TransformParametersType & parameters)
const override;
135 GetDerivative(
const TransformParametersType & parameters, DerivativeType & derivative)
const override;
141 DerivativeType & Derivative)
const override;
156 itkSetMacro(NoiseConstant,
double);
157 itkGetConstReferenceMacro(NoiseConstant,
double);
160 itkSetMacro(OptimizeNormalizationFactor,
bool);
161 itkGetConstReferenceMacro(OptimizeNormalizationFactor,
bool);
167 PrintSelf(std::ostream & os, Indent indent)
const override;
175 ComputePIDiff(
const TransformParametersType & parameters,
float scalingfactor)
const;
182 double m_NoiseConstant{ 10000 };
183 unsigned int m_NeighborhoodRadius{ 3 };
184 double m_DerivativeDelta{ 0.001 };
185 double m_NormalizationFactor{ 1.0 };
186 double m_Rescalingfactor{ 1.0 };
187 bool m_OptimizeNormalizationFactor{
false };
189 MeasureType m_FixedMeasure{ 0 };