29#include "itkMersenneTwisterRandomVariateGenerator.h"
189template<
class TElastix >
208 VoxelWiseASGDOptimizer );
273 itkSetMacro( AutomaticParameterEstimation,
bool );
274 itkGetConstMacro( AutomaticParameterEstimation,
bool );
277 itkSetMacro( MaximumStepLength,
double );
278 itkGetConstReferenceMacro( MaximumStepLength,
double );
281 itkSetClampMacro( RegularizationKappa,
double, 0.0, 1.0 );
282 itkGetConstReferenceMacro( RegularizationKappa,
double );
286 itkGetConstReferenceMacro( MaximumNumberOfSamplingAttempts,
SizeValueType );
304 struct SettingsType {
double a, A, alpha, fmax, fmin, omega; };
348 itkGetStaticConstMacro( FixedImageDimension ),
401 double perturbationSigma,
double & gg,
double & ee );
441#ifndef ITK_MANUAL_INSTANTIATION
442#include "elxAdaGrad.hxx"
A gradient descent optimizer with an adaptive gain.
RegistrationType::MovingImageType MovingImageType
ImageGridSamplerType::Pointer ImageGridSamplerPointer
Superclass1::StopConditionType StopConditionType
ImageRandomCoordinateSamplerType::Pointer ImageRandomCoordinateSamplerPointer
ElastixType::FixedImageType OutputImageType
double m_RegularizationKappa
RegistrationType::FixedImageType FixedImageType
virtual void AddRandomPerturbation(ParametersType ¶meters, double sigma)
itk::ComputePreconditionerUsingDisplacementDistribution< FixedImageType, TransformType > PreconditionerEstimationType
itk::SmartPointer< const Self > ConstPointer
virtual void PrintSettingsVector(const SettingsVectorType &settings) const
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
AdvancedTransformType::Pointer AdvancedTransformPointer
itk::AdvancedTransform< CoordinateRepresentationType, itkGetStaticConstMacro(FixedImageDimension), itkGetStaticConstMacro(MovingImageDimension) > AdvancedTransformType
void operator=(const Self &)
SizeValueType m_MaxBandCovSize
itk::ComputeDisplacementDistribution< FixedImageType, TransformType > ComputeDisplacementDistributionType
ImageGridSamplerType::ImageSampleContainerType ImageSampleContainerType
bool m_AutomaticParameterEstimationDone
void MetricErrorResponse(itk::ExceptionObject &err) override
SizeValueType m_NumberOfSamplesForPrecondition
itk::ImageRandomSamplerBase< FixedImageType > ImageRandomSamplerBaseType
std::vector< SettingsType > SettingsVectorType
elxClassNameMacro("AdaGrad")
OptimizerBase< TElastix > Superclass2
AdvancedTransformPointer m_AdvancedTransform
JacobianType::ValueType JacobianValueType
RegistrationType::ITKBaseType itkRegistrationType
ImageSampleContainerType::Pointer ImageSampleContainerPointer
TransformType::ScalarType CoordinateRepresentationType
void AfterEachIteration(void) override
Superclass2::RegistrationType RegistrationType
ProgressCommand ProgressCommandType
void BeforeEachResolution(void) override
AdaptiveStepsizeOptimizer Superclass1
itkRegistrationType::TransformType TransformType
double m_SigmoidScaleFactor
bool m_AutomaticParameterEstimation
virtual void AutomaticPreconditionerEstimation(void)
SizeValueType m_NumberOfSamplesForNoiseCompensationFactor
void AdvanceOneStep(void) override
ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
itk::ImageRandomCoordinateSampler< FixedImageType > ImageRandomCoordinateSamplerType
Superclass2::ElastixType ElastixType
virtual void GetScaledDerivativeWithExceptionHandling(const ParametersType ¶meters, DerivativeType &derivative)
SizeValueType m_NumberOfJacobianMeasurements
RandomGeneratorType::Pointer RandomGeneratorPointer
void StartOptimization(void) override
SizeValueType m_NumberOfGradientMeasurements
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
itk::SizeValueType SizeValueType
itk::ImageRandomSampler< FixedImageType > ImageRandomSamplerType
FixedImageType::PointType FixedImagePointType
Superclass2::ITKBaseType ITKBaseType
Superclass1::CostFunctionPointer CostFunctionPointer
double m_MaximumStepLengthRatio
FixedImageType::RegionType FixedImageRegionType
bool m_OriginalButSigmoidToDefault
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
RandomGeneratorPointer m_RandomGenerator
void AfterRegistration(void) override
SizeValueType m_MaximumNumberOfSamplingAttempts
itk::AdvancedBSplineDeformableTransformBase< CoordinateRepresentationType, itkGetStaticConstMacro(FixedImageDimension)> AdvancedBSplineDeformableTransformType
Superclass2::RegistrationPointer RegistrationPointer
Superclass1::CostFunctionType CostFunctionType
TransformType::JacobianType JacobianType
ProgressCommand::Pointer ProgressCommandPointer
SizeValueType m_PreviousErrorAtIteration
double m_MaximumStepLength
SizeValueType m_NumberOfBandStructureSamples
PreconditionerEstimationType::Pointer PreconditionerEstimationPointer
SettingsVectorType m_SettingsVector
virtual void CheckForAdvancedTransform(void)
Superclass2::ConfigurationPointer ConfigurationPointer
JacobianType TransformJacobianType
ImageRandomSamplerType::Pointer ImageRandomSamplerPointer
SizeValueType m_CurrentNumberOfSamplingAttempts
AdvancedBSplineDeformableTransformType::Pointer BSplineTransformBasePointer
void AfterEachResolution(void) override
itk::ImageSamplerBase< FixedImageType > ImageSamplerBaseType
Superclass2::ConfigurationType ConfigurationType
itk::ImageGridSampler< FixedImageType > ImageGridSamplerType
ImageSamplerBaseType::Pointer ImageSamplerBasePointer
itk::SmartPointer< Self > Pointer
Superclass2::ElastixPointer ElastixPointer
void ResumeOptimization(void) override
FixedImageType::IndexType FixedImageIndexType
Superclass1::ParametersType ParametersType
SizeValueType m_NumberOfSpatialSamples
void BeforeRegistration(void) override
bool m_UseNoiseCompensation
virtual void SampleGradients(const ParametersType &mu0, double perturbationSigma, double &gg, double &ee)
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
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 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::CostFunctionType CostFunctionType
Superclass::StopConditionType StopConditionType
Superclass::ParametersType ParametersType
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
This is a helper class for the automatic estimation of a preconditioner for the FPSGD optimizer....
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.
Samples randomly some voxels of an image.
This class is a base class for any image sampler.
Superclass::ParametersType ParametersType
Superclass::DerivativeType DerivativeType
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.