76 using typename Superclass::CoordinateRepresentationType;
77 using typename Superclass::MovingImageType;
78 using typename Superclass::MovingImagePixelType;
79 using typename Superclass::MovingImageConstPointer;
80 using typename Superclass::FixedImageType;
81 using typename Superclass::FixedImageConstPointer;
82 using typename Superclass::FixedImageRegionType;
83 using typename Superclass::TransformType;
84 using typename Superclass::TransformPointer;
85 using typename Superclass::InputPointType;
86 using typename Superclass::OutputPointType;
87 using typename Superclass::TransformParametersType;
88 using typename Superclass::TransformJacobianType;
90 using typename Superclass::InterpolatorType;
91 using typename Superclass::InterpolatorPointer;
92 using typename Superclass::RealType;
93 using typename Superclass::GradientPixelType;
94 using typename Superclass::GradientImageType;
95 using typename Superclass::GradientImagePointer;
96 using typename Superclass::GradientImageFilterType;
97 using typename Superclass::GradientImageFilterPointer;
98 using typename Superclass::FixedImageMaskType;
99 using typename Superclass::FixedImageMaskPointer;
100 using typename Superclass::MovingImageMaskType;
101 using typename Superclass::MovingImageMaskPointer;
102 using typename Superclass::MeasureType;
103 using typename Superclass::DerivativeType;
105 using typename Superclass::ParametersType;
128 GetValue(
const TransformParametersType & parameters)
const override;
132 GetDerivative(
const TransformParametersType & parameters, DerivativeType & derivative)
const override;
138 DerivativeType & Derivative)
const;
143 DerivativeType & Derivative)
const override;
150 itkSetMacro(ForegroundValue, RealType);
151 itkGetConstReferenceMacro(ForegroundValue, RealType);
157 itkSetMacro(UseForegroundValue,
bool);
164 itkSetMacro(Complement,
bool);
165 itkGetConstReferenceMacro(Complement,
bool);
166 itkBooleanMacro(Complement);
169 itkSetMacro(Epsilon, RealType);
170 itkGetConstReferenceMacro(Epsilon, RealType);
178 PrintSelf(std::ostream & os, Indent indent)
const override;
199 const RealType & movingImageValue,
200 std::size_t & fixedForegroundArea,
201 std::size_t & movingForegroundArea,
202 std::size_t & intersection,
203 const DerivativeType & imageJacobian,
205 DerivativeType & sum1,
206 DerivativeType & sum2)
const;
224 static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
257 PaddedKappaGetValueAndDerivativePerThreadStruct);
259 PaddedKappaGetValueAndDerivativePerThreadStruct,
260 AlignedKappaGetValueAndDerivativePerThreadStruct);
void UpdateValueAndDerivativeTerms(const RealType &fixedImageValue, const RealType &movingImageValue, std::vcl_size_t &fixedForegroundArea, std::vcl_size_t &movingForegroundArea, std::vcl_size_t &intersection, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &sum1, DerivativeType &sum2) const