Loading...
Searching...
No Matches
itkAdaptiveStochasticLBFGSOptimizer.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef itkAdaptiveStochasticLBFGSOptimizer_h
#define itkAdaptiveStochasticLBFGSOptimizer_h
#include "../StandardStochasticGradientDescent/itkStandardStochasticGradientDescentOptimizer.h"
namespace itk
{
class AdaptiveStochasticLBFGSOptimizer : public StandardStochasticGradientOptimizer
{
public:
ITK_DISALLOW_COPY_AND_MOVE(AdaptiveStochasticLBFGSOptimizer);
using Self = AdaptiveStochasticLBFGSOptimizer;
using Superclass = StandardStochasticGradientOptimizer;
using Pointer = SmartPointer<Self>;
using ConstPointer = SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(AdaptiveStochasticLBFGSOptimizer, StandardStochasticGradientOptimizer);
using Superclass::MeasureType;
using Superclass::ParametersType;
using Superclass::DerivativeType;
using Superclass::CostFunctionType;
using Superclass::ScalesType;
using Superclass::ScaledCostFunctionType;
using Superclass::ScaledCostFunctionPointer;
using Superclass::StopConditionType;
itkSetMacro(UseAdaptiveStepSizes, bool);
itkGetConstMacro(UseAdaptiveStepSizes, bool);
itkSetMacro(UseSearchDirForAdaptiveStepSize, bool);
itkGetConstMacro(UseSearchDirForAdaptiveStepSize, bool);
itkSetMacro(SigmoidMax, double);
itkGetConstMacro(SigmoidMax, double);
itkSetMacro(SigmoidMin, double);
itkGetConstMacro(SigmoidMin, double);
itkSetMacro(SigmoidScale, double);
itkGetConstMacro(SigmoidScale, double);
protected:
AdaptiveStochasticLBFGSOptimizer();
~AdaptiveStochasticLBFGSOptimizer() override = default;
void
UpdateCurrentTime() override;
// m_previousGradient m_PrePreviousGradient are not used, where should I put them?
// DerivativeType m_previousGradient;
// DerivativeType m_PrePreviousGradient;
unsigned long m_UpdateFrequenceL{};
bool m_UseSearchDirForAdaptiveStepSize{};
bool m_UseAdaptiveStepSizes{ true };
double m_SearchLengthScale{ 10 };
std::string m_StepSizeStrategy{};
private:
double m_SigmoidMax{ 1.0 };
double m_SigmoidMin{ -0.8 };
double m_SigmoidScale{ 1e-8 };
}; // end class AdaptiveStochasticLBFGSOptimizer
} // end namespace itk
#endif
itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMin
double m_SigmoidMin
Definition itkAdaptiveStochasticLBFGSOptimizer.h:147
itk::AdaptiveStochasticLBFGSOptimizer::m_StepSizeStrategy
std::string m_StepSizeStrategy
Definition itkAdaptiveStochasticLBFGSOptimizer.h:141
itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidScale
double m_SigmoidScale
Definition itkAdaptiveStochasticLBFGSOptimizer.h:148
itk::AdaptiveStochasticLBFGSOptimizer::ConstPointer
SmartPointer< const Self > ConstPointer
Definition itkAdaptiveStochasticLBFGSOptimizer.h:78
itk::AdaptiveStochasticLBFGSOptimizer::m_UseAdaptiveStepSizes
bool m_UseAdaptiveStepSizes
Definition itkAdaptiveStochasticLBFGSOptimizer.h:139
itk::AdaptiveStochasticLBFGSOptimizer::m_UpdateFrequenceL
unsigned long m_UpdateFrequenceL
Definition itkAdaptiveStochasticLBFGSOptimizer.h:137
itk::AdaptiveStochasticLBFGSOptimizer::UpdateCurrentTime
void UpdateCurrentTime() override
itk::AdaptiveStochasticLBFGSOptimizer::Superclass
StandardStochasticGradientOptimizer Superclass
Definition itkAdaptiveStochasticLBFGSOptimizer.h:76
itk::AdaptiveStochasticLBFGSOptimizer::~AdaptiveStochasticLBFGSOptimizer
~AdaptiveStochasticLBFGSOptimizer() override=default
itk::AdaptiveStochasticLBFGSOptimizer::AdaptiveStochasticLBFGSOptimizer
AdaptiveStochasticLBFGSOptimizer()
itk::AdaptiveStochasticLBFGSOptimizer::m_UseSearchDirForAdaptiveStepSize
bool m_UseSearchDirForAdaptiveStepSize
Definition itkAdaptiveStochasticLBFGSOptimizer.h:138
itk::AdaptiveStochasticLBFGSOptimizer::Pointer
SmartPointer< Self > Pointer
Definition itkAdaptiveStochasticLBFGSOptimizer.h:77
itk::AdaptiveStochasticLBFGSOptimizer::m_SearchLengthScale
double m_SearchLengthScale
Definition itkAdaptiveStochasticLBFGSOptimizer.h:140
itk::AdaptiveStochasticLBFGSOptimizer::m_SigmoidMax
double m_SigmoidMax
Definition itkAdaptiveStochasticLBFGSOptimizer.h:146
itk::AdaptiveStochasticLBFGSOptimizer::Self
AdaptiveStochasticLBFGSOptimizer Self
Definition itkAdaptiveStochasticLBFGSOptimizer.h:75
itk::AdaptiveStochasticLBFGSOptimizer::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(AdaptiveStochasticLBFGSOptimizer)
itk::ScaledSingleValuedNonLinearOptimizer::ScaledCostFunctionPointer
ScaledCostFunctionType::Pointer ScaledCostFunctionPointer
Definition itkScaledSingleValuedNonLinearOptimizer.h:87
itk::ScaledSingleValuedNonLinearOptimizer::ScalesType
NonLinearOptimizer::ScalesType ScalesType
Definition itkScaledSingleValuedNonLinearOptimizer.h:85
itk::ScaledSingleValuedNonLinearOptimizer::ScaledCostFunctionType
ScaledSingleValuedCostFunction ScaledCostFunctionType
Definition itkScaledSingleValuedNonLinearOptimizer.h:86
itk::StandardStochasticGradientOptimizer::StopConditionType
StopConditionType
Definition itkStochasticGradientDescentOptimizer.h:83
itk::StandardStochasticGradientOptimizer::StandardStochasticGradientOptimizer
StandardStochasticGradientOptimizer()
itkStandardStochasticGradientDescentOptimizer.h
itk
Definition itkAdvancedImageToImageMetric.h:43

Generated on 1768596610 for elastix by 1.15.0 |