18#ifndef __elxConjugateGradientFRPR_h
19#define __elxConjugateGradientFRPR_h
22#include "itkFRPROptimizer.h"
73template<
class TElastix >
86 typedef itk::SmartPointer< Self >
Pointer;
132 itkGetConstMacro( LineOptimizing,
bool );
133 itkGetConstMacro( LineBracketing,
bool );
136 itkGetConstReferenceMacro( CurrentDerivativeMagnitude,
double );
139 itkGetConstReferenceMacro( CurrentStepLength,
double );
142 itkGetConstReferenceMacro( CurrentSearchDirectionMagnitude,
double );
160 itkSetMacro( LineOptimizing,
bool );
161 itkSetMacro( LineBracketing,
bool );
184 double * fa,
double * fb,
double * fc )
override;
196 double fa,
double fb,
double fc,
197 double * extX,
double * extVal )
override;
220#ifndef ITK_MANUAL_INSTANTIATION
221#include "elxConjugateGradientFRPR.hxx"
A class that deals with user given parameters and command line arguments.
The ConjugateGradientFRPR class.
ConjugateGradientFRPR(const Self &)
Superclass2::ConfigurationPointer ConfigurationPointer
itk::FRPROptimizer Superclass1
void operator=(const Self &)
itk::SmartPointer< const Self > ConstPointer
~ConjugateGradientFRPR() override
void AfterRegistration(void) override
void BeforeEachResolution(void) override
virtual void GetValueAndDerivative(ParametersType p, double *val, ParametersType *xi)
void BracketedLineOptimize(double ax, double bx, double cx, double fa, double fb, double fc, double *extX, double *extVal) override
void LineBracket(double *ax, double *bx, double *cx, double *fa, double *fb, double *fc) override
SingleValuedNonLinearOptimizer::DerivativeType DerivativeType
Superclass1::CostFunctionType CostFunctionType
Superclass2::ElastixType ElastixType
OptimizerBase< TElastix > Superclass2
void AfterEachIteration(void) override
Superclass1::CostFunctionPointer CostFunctionPointer
ConjugateGradientFRPR Self
double m_CurrentStepLength
Superclass2::ElastixPointer ElastixPointer
double m_CurrentDerivativeMagnitude
itk::SmartPointer< Self > Pointer
void AfterEachResolution(void) override
elxClassNameMacro("ConjugateGradientFRPR")
Superclass1::ParametersType ParametersType
virtual void LineOptimize(ParametersType *p, ParametersType xi, double *val)
Superclass2::ITKBaseType ITKBaseType
const char * DeterminePhase(void) const
double m_CurrentSearchDirectionMagnitude
Superclass2::RegistrationType RegistrationType
Superclass2::RegistrationPointer RegistrationPointer
void SetInitialPosition(const ParametersType ¶m) override
Superclass2::ConfigurationType ConfigurationType
void BeforeRegistration(void) override
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