18#ifndef itkComputePreconditionerUsingDisplacementDistribution_h
19#define itkComputePreconditionerUsingDisplacementDistribution_h
39template <
typename TFixedImage,
typename TTransform>
64 using typename Superclass::ParametersType;
65 using typename Superclass::DerivativeType;
76 itkSetClampMacro(RegularizationKappa,
double, 0.0, 1.0);
77 itkGetConstReferenceMacro(RegularizationKappa,
double);
80 itkSetMacro(MaximumStepLength,
double);
81 itkGetConstReferenceMacro(MaximumStepLength,
double);
84 itkSetClampMacro(ConditionNumber,
double, 0.0, 10.0);
85 itkGetConstReferenceMacro(ConditionNumber,
double);
91 Compute(
const ParametersType & mu,
double & jacg,
double & maxJJ, std::string method)
override;
97 Compute(
const ParametersType & mu,
double & maxJJ, ParametersType & preconditioner)
const;
126#ifndef ITK_MANUAL_INSTANTIATION
127# include "itkComputePreconditionerUsingDisplacementDistribution.hxx"
typename FixedImageType::IndexType FixedImageIndexType
typename TransformType::Pointer TransformPointer
typename TransformType::NumberOfParametersType NumberOfParametersType
typename FixedImageMaskType::Pointer FixedImageMaskPointer
ImageSample< FixedImageType > ImageSampleType
typename TransformType::JacobianType JacobianType
TransformType TransformType
typename TransformType::ScalarType CoordinateRepresentationType
ComputeDisplacementDistribution()
NonLinearOptimizer::ScalesType ScalesType
typename FixedImageType::PixelType FixedImagePixelType
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
typename FixedImageType::PointType FixedImagePointType
FixedImageType FixedImageType
typename FixedImageType::RegionType FixedImageRegionType
typename JacobianType::ValueType JacobianValueType
JacobianType TransformJacobianType
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
ComputePreconditionerUsingDisplacementDistribution Self
ITK_DISALLOW_COPY_AND_MOVE(ComputePreconditionerUsingDisplacementDistribution)
double m_RegularizationKappa
void Compute(const ParametersType &mu, double &jacg, double &maxJJ, std::string method) override
ComputePreconditionerUsingDisplacementDistribution()
itkStaticConstMacro(FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
ComputeDisplacementDistribution< TFixedImage, TTransform > Superclass
SmartPointer< const Self > ConstPointer
~ComputePreconditionerUsingDisplacementDistribution() override=default
void ComputeJacobiTypePreconditioner(double &maxJJ, ParametersType &preconditioner)
virtual void PreconditionerInterpolation(ParametersType &preconditioner)
void Compute(const ParametersType &mu, double &maxJJ, ParametersType &preconditioner) const
SmartPointer< Self > Pointer
itkOverrideGetNameOfClassMacro(ComputePreconditionerUsingDisplacementDistribution)
double m_MaximumStepLength