18#ifndef __elxPreconditionedGradientDescent_h
19#define __elxPreconditionedGradientDescent_h
27#include "itkMersenneTwisterRandomVariateGenerator.h"
71template <
class TElastix>
82 typedef itk::SmartPointer< Self >
Pointer;
158 itkSetMacro( MaximumNumberOfSamplingAttempts,
unsigned long );
161 itkGetConstReferenceMacro( MaximumNumberOfSamplingAttempts,
unsigned long );
233 double & sigma1,
double & sigma2 );
269#ifndef ITK_MANUAL_INSTANTIATION
270#include "elxPreconditionedGradientDescent.hxx"
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all Optimizers.
Superclass::ConfigurationPointer ConfigurationPointer
itk::Optimizer ITKBaseType
Superclass::ElastixType ElastixType
Superclass::ElastixPointer ElastixPointer
Superclass::RegistrationPointer RegistrationPointer
Superclass::RegistrationType RegistrationType
A gradient descent optimizer with a decaying gain.
virtual ~PreconditionedGradientDescent()
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
virtual void AutomaticParameterEstimation(void)
Superclass2::ElastixPointer ElastixPointer
Superclass1::PreconditionType PreconditionType
Superclass1::StopConditionType StopConditionType
Superclass2::ITKBaseType ITKBaseType
unsigned int m_NumberOfSamplesForExactGradient
itk::ImageGridSampler< FixedImageType > ImageGridSamplerType
itk::ImageRandomCoordinateSampler< FixedImageType > ImageRandomCoordinateSamplerType
ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
std::vector< SettingsType > SettingsVectorType
virtual void StartOptimization(void)
ProgressCommand ProgressCommandType
virtual void BeforeRegistration(void)
itk::SmartPointer< Self > Pointer
AdaptiveStochasticPreconditionedGradientDescentOptimizer Superclass1
virtual void AddRandomPerturbation(const ParametersType &initialParameters, ParametersType &perturbedParameters, double sigma)
virtual void SetCurrentPositionPublic(const ParametersType ¶m)
RegistrationType::FixedImageType FixedImageType
unsigned long m_MaximumNumberOfSamplingAttempts
ProgressCommand::Pointer ProgressCommandPointer
itk::ImageSamplerBase< FixedImageType > ImageSamplerBaseType
virtual void SetSelfHessian(void)
itk::ImageRandomSamplerBase< FixedImageType > ImageRandomSamplerBaseType
elxClassNameMacro("PreconditionedGradientDescent")
virtual void MetricErrorResponse(itk::ExceptionObject &err)
RandomGeneratorPointer m_RandomGenerator
Superclass2::ConfigurationType ConfigurationType
double m_SigmoidScaleFactor
SettingsVectorType m_SettingsVector
virtual void BeforeEachResolution(void)
bool m_PreconditionMatrixSet
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass1::CostFunctionPointer CostFunctionPointer
PreconditionedGradientDescent()
virtual void AfterEachIteration(void)
virtual void SampleGradients(const ParametersType &mu0, double &sigma1, double &sigma2)
virtual void PrintSettingsVector(const SettingsVectorType &settings) const
ImageGridSamplerType::Pointer ImageGridSamplerPointer
PreconditionedGradientDescent(const Self &)
bool m_AutomaticParameterEstimation
PreconditionedGradientDescent Self
virtual void AfterRegistration(void)
Superclass2::RegistrationPointer RegistrationPointer
Superclass2::ElastixType ElastixType
Superclass1::PreconditionValueType PreconditionValueType
void operator=(const Self &)
Superclass1::CostFunctionType CostFunctionType
bool m_AutomaticParameterEstimationDone
ImageSamplerBaseType::Pointer ImageSamplerBasePointer
Superclass1::ParametersType ParametersType
unsigned long m_PreviousErrorAtIteration
RandomGeneratorType::Pointer RandomGeneratorPointer
unsigned int m_NumberOfGradientMeasurements
Superclass2::RegistrationType RegistrationType
unsigned long m_CurrentNumberOfSamplingAttempts
itk::SmartPointer< const Self > ConstPointer
RegistrationType::MovingImageType MovingImageType
virtual void ResumeOptimization(void)
ImageRandomCoordinateSamplerType::Pointer ImageRandomCoordinateSamplerPointer
virtual void GetScaledDerivativeWithExceptionHandling(const ParametersType ¶meters, DerivativeType &derivative)
OptimizerBase< TElastix > Superclass2
virtual void AfterEachResolution(void)
A specialized Command object for updating the progress of a filter.
itk::SmartPointer< Self > Pointer
This class implements a gradient descent optimizer with adaptive gain.
Superclass::PreconditionType PreconditionType
Superclass::StopConditionType StopConditionType
Superclass::CostFunctionType CostFunctionType
Superclass::ParametersType ParametersType
Superclass::PreconditionValueType PreconditionValueType
Samples image voxels on a regular grid.
Samples an image by randomly composing a set of physical coordinates.
This class is a base class for any image sampler that randomly picks samples.
This class is a base class for any image sampler.
Superclass::ParametersType ParametersType
Superclass::DerivativeType DerivativeType
void SetCurrentPosition(const ParametersType ¶m) override