18#ifndef itkComputePreconditionerUsingDisplacementDistribution_h
19#define itkComputePreconditionerUsingDisplacementDistribution_h
39template <
class TFixedImage,
class TTransform>
64 using typename Superclass::ParametersType;
65 using typename Superclass::DerivativeType;
77 itkSetClampMacro(RegularizationKappa,
double, 0.0, 1.0);
78 itkGetConstReferenceMacro(RegularizationKappa,
double);
81 itkSetMacro(MaximumStepLength,
double);
82 itkGetConstReferenceMacro(MaximumStepLength,
double);
85 itkSetClampMacro(ConditionNumber,
double, 0.0, 10.0);
86 itkGetConstReferenceMacro(ConditionNumber,
double);
92 Compute(
const ParametersType & mu,
double & jacg,
double & maxJJ, std::string method)
override;
98 Compute(
const ParametersType & mu,
double & maxJJ, ParametersType & preconditioner);
129 double m_MaximumStepLength{};
130 double m_RegularizationKappa{};
131 double m_ConditionNumber{};
136#ifndef ITK_MANUAL_INSTANTIATION
137# include "itkComputePreconditionerUsingDisplacementDistribution.hxx"
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
typename ImageFullSamplerType::Pointer ImageFullSamplerPointer
typename FixedImageType::PointType FixedImagePointType
typename FixedImageType::PixelType FixedImagePixelType
typename FixedImageMaskType::Pointer FixedImageMaskPointer
typename ImageGridSamplerType::Pointer ImageGridSamplerPointer
typename FixedImageType::IndexType FixedImageIndexType
typename TransformType::JacobianType JacobianType
NonLinearOptimizer::ScalesType ScalesType
typename ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
typename FixedImageType::RegionType FixedImageRegionType
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
typename TransformType::NumberOfParametersType NumberOfParametersType
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
typename ImageGridSamplerType ::ImageSampleContainerType ImageSampleContainerType
TFixedImage FixedImageType
typename TransformType::Pointer TransformPointer
typename TransformType::ScalarType CoordinateRepresentationType
typename JacobianType::ValueType JacobianValueType
JacobianType TransformJacobianType
typename ImageSamplerBaseType::Pointer ImageSamplerBasePointer
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
This is a helper class for the automatic estimation of a preconditioner for the FPSGD optimizer....
ITK_DISALLOW_COPY_AND_MOVE(ComputePreconditionerUsingDisplacementDistribution)
void Compute(const ParametersType &mu, double &jacg, double &maxJJ, std::string method) override
ComputePreconditionerUsingDisplacementDistribution()
SmartPointer< const Self > ConstPointer
~ComputePreconditionerUsingDisplacementDistribution() override=default
void ComputeJacobiTypePreconditioner(double &maxJJ, ParametersType &preconditioner)
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
virtual void Compute(const ParametersType &mu, double &maxJJ, ParametersType &preconditioner)
virtual void PreconditionerInterpolation(ParametersType &preconditioner)
Samples all voxels in the InputImageRegion.
Samples image voxels on a regular grid.
This class is a base class for any image sampler that randomly picks samples.
This class is a base class for any image sampler.