Go to the documentation of this file.
18 #ifndef __elxAdaptiveStochasticGradientDescent_h
19 #define __elxAdaptiveStochasticGradientDescent_h
27 #include "itkMersenneTwisterRandomVariateGenerator.h"
190 template<
class TElastix >
275 itkSetMacro( MaximumStepLength,
double );
276 itkGetConstMacro( MaximumStepLength,
double );
282 itkGetConstReferenceMacro( MaximumNumberOfSamplingAttempts,
SizeValueType );
299 struct SettingsType {
double a, A, alpha, fmax, fmin, omega; };
334 itkGetStaticConstMacro( FixedImageDimension ),
390 double perturbationSigma,
double & gg,
double & ee );
429 #ifndef ITK_MANUAL_INSTANTIATION
430 #include "elxAdaptiveStochasticGradientDescent.hxx"
433 #endif // end #ifndef __elxAdaptiveStochasticGradientDescent_h
virtual void AutomaticParameterEstimationOriginal(void)
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
double m_MaximumStepLength
Superclass1::CostFunctionPointer CostFunctionPointer
itk::ImageRandomCoordinateSampler< FixedImageType > ImageRandomCoordinateSamplerType
ImageGridSamplerType::ImageSampleContainerType ImageSampleContainerType
itk::SmartPointer< Self > Pointer
Superclass::RegistrationPointer RegistrationPointer
virtual void StartOptimization(void)
This class implements a gradient descent optimizer with adaptive gain.
SizeValueType m_MaximumNumberOfSamplingAttempts
A specialized Command object for updating the progress of a filter.
TransformType::ScalarType CoordinateRepresentationType
RegistrationType::ITKBaseType itkRegistrationType
RandomGeneratorPointer m_RandomGenerator
virtual void AfterEachResolution(void)
ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
virtual void AfterEachIteration(void)
FixedImageType::IndexType FixedImageIndexType
Superclass::ParametersType ParametersType
Superclass::RegistrationType RegistrationType
SizeValueType m_NumberOfSamplesForExactGradient
SizeValueType m_NumberOfBandStructureSamples
Superclass::ConfigurationPointer ConfigurationPointer
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
virtual void AutomaticParameterEstimationUsingDisplacementDistribution(void)
elxClassNameMacro("AdaptiveStochasticGradientDescent")
Superclass2::ConfigurationPointer ConfigurationPointer
AdvancedTransformPointer m_AdvancedTransform
void operator=(const Self &)
TransformType::JacobianType JacobianType
itk::SmartPointer< const Self > ConstPointer
Superclass2::ElastixType ElastixType
itk::ImageRandomSamplerBase< FixedImageType > ImageRandomSamplerBaseType
virtual void BeforeEachResolution(void)
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
SizeValueType m_CurrentNumberOfSamplingAttempts
Superclass1::StopConditionType StopConditionType
This class is the elastix base class for all Optimizers.
Superclass::DerivativeType DerivativeType
ImageSamplerBaseType::Pointer ImageSamplerBasePointer
SizeValueType m_NumberOfJacobianMeasurements
Superclass2::RegistrationType RegistrationType
virtual void AddRandomPerturbation(ParametersType ¶meters, double sigma)
virtual void BeforeRegistration(void)
AdaptiveStochasticGradientDescent Self
RandomGeneratorType::Pointer RandomGeneratorPointer
SizeValueType m_MaxBandCovSize
RegistrationType::FixedImageType FixedImageType
ImageRandomCoordinateSamplerType::Pointer ImageRandomCoordinateSamplerPointer
itk::SmartPointer< Self > Pointer
Superclass::ConfigurationType ConfigurationType
Samples an image by randomly composing a set of physical coordinates.
AdaptiveStochasticGradientDescent()
itk::ImageGridSampler< FixedImageType > ImageGridSamplerType
itk::SizeValueType SizeValueType
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
bool m_UseNoiseCompensation
itkRegistrationType::TransformType TransformType
virtual void ResumeOptimization(void)
JacobianType::ValueType JacobianValueType
Superclass::ElastixPointer ElastixPointer
JacobianType TransformJacobianType
itk::ComputeJacobianTerms< FixedImageType, TransformType > ComputeJacobianTermsType
Superclass2::ElastixPointer ElastixPointer
ProgressCommand::Pointer ProgressCommandPointer
FixedImageType::PointType FixedImagePointType
std::vector< SettingsType > SettingsVectorType
AdaptiveStochasticGradientDescent(const Self &)
AdvancedTransformType::Pointer AdvancedTransformPointer
virtual void AutomaticParameterEstimation(void)
SizeValueType m_NumberOfGradientMeasurements
double m_SigmoidScaleFactor
itk::ImageSamplerBase< FixedImageType > ImageSamplerBaseType
ImageSampleContainerType::Pointer ImageSampleContainerPointer
Superclass::StopConditionType StopConditionType
Superclass::CostFunctionType CostFunctionType
Superclass::ParametersType ParametersType
virtual void SampleGradients(const ParametersType &mu0, double perturbationSigma, double &gg, double &ee)
A gradient descent optimizer with an adaptive gain.
SettingsVectorType m_SettingsVector
RegistrationType::MovingImageType MovingImageType
Superclass1::CostFunctionType CostFunctionType
bool m_AutomaticParameterEstimationDone
virtual void GetScaledDerivativeWithExceptionHandling(const ParametersType ¶meters, DerivativeType &derivative)
bool m_AutomaticParameterEstimation
This class is a base class for any image sampler.
ImageGridSamplerType::Pointer ImageGridSamplerPointer
Superclass2::RegistrationPointer RegistrationPointer
ProgressCommand ProgressCommandType
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
bool m_OriginalButSigmoidToDefault
Samples image voxels on a regular grid.
itk::Optimizer ITKBaseType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
AdaptiveStochasticGradientDescentOptimizer Superclass1
Superclass2::ITKBaseType ITKBaseType
Superclass2::ConfigurationType ConfigurationType
FixedImageType::RegionType FixedImageRegionType
Superclass1::ParametersType ParametersType
Superclass::ElastixType ElastixType
virtual ~AdaptiveStochasticGradientDescent()
itk::ComputeDisplacementDistribution< FixedImageType, TransformType > ComputeDisplacementDistributionType
This class is a base class for any image sampler that randomly picks samples.
virtual void CheckForAdvancedTransform(void)
virtual void MetricErrorResponse(itk::ExceptionObject &err)
virtual void PrintSettingsVector(const SettingsVectorType &settings) const
itk::AdvancedTransform< CoordinateRepresentationType, itkGetStaticConstMacro(FixedImageDimension), itkGetStaticConstMacro(MovingImageDimension) > AdvancedTransformType
OptimizerBase< TElastix > Superclass2
virtual void AfterRegistration(void)
SizeValueType m_PreviousErrorAtIteration
Generated on OURCE_DATE_EPOCH for elastix by 1.8.18 |
|