18 #ifndef itkVariationalRegistrationStopCriterion_h
19 #define itkVariationalRegistrationStopCriterion_h
67 template<
typename TRegistrationFilter,
typename TMRFilter >
91 itkSetMacro( IterationModulus,
int );
94 itkGetMacro( IterationModulus,
int );
97 itkSetMacro( PerformIncreaseCountCheck,
bool );
98 itkGetMacro( PerformIncreaseCountCheck,
bool );
99 itkBooleanMacro( PerformIncreaseCountCheck );
103 itkSetMacro( MaximumIncreaseCount,
int );
106 itkGetMacro( MaximumIncreaseCount,
int );
109 itkSetMacro( PerformLineFittingCheck,
bool );
110 itkGetMacro( PerformLineFittingCheck,
bool );
111 itkBooleanMacro( PerformLineFittingCheck );
117 itkSetMacro( PerformLineFittingMaxDistanceCheck,
bool );
118 itkGetMacro( PerformLineFittingMaxDistanceCheck,
bool );
119 itkBooleanMacro( PerformLineFittingMaxDistanceCheck );
125 itkSetMacro( LineFittingUseAbsoluteValues,
bool );
126 itkGetMacro( LineFittingUseAbsoluteValues,
bool );
127 itkBooleanMacro( LineFittingUseAbsoluteValues );
140 itkGetMacro( NumberOfFittingIterations,
int );
143 itkSetMacro( RegressionLineSlopeThreshold,
double );
146 itkGetMacro( RegressionLineSlopeThreshold,
double );
149 itkSetMacro( MaxDistanceToRegressionLine,
double );
152 itkGetMacro( MaxDistanceToRegressionLine,
double );
235 const unsigned int nextLevel,
const unsigned int numberOfLevels );
249 virtual void FitLine(
const double *
const x,
const double *
const y,
250 const int n,
double *m,
double *b);
288 #ifndef ITK_MANUAL_INSTANTIATION
289 #include "itkVariationalRegistrationStopCriterion.hxx"
virtual void SetLineFittingModeToNormalizedValues()
MultiResolutionPolicy m_MultiResolutionPolicy
int m_MaximumIncreaseCount
virtual void SetNextMetricValue(const double value)
double * m_IterationArray
LineFittingMode m_LineFittingMode
virtual bool CheckStopRegistration()
int m_NumberOfFittingIterations
void PrintSelf(std::ostream &os, Indent indent) const override
bool m_PerformLineFittingMaxDistanceCheck
bool m_PerformLineFittingCheck
virtual void ResetFittingData()
TRegistrationFilter RegistrationFilterType
virtual void SetModeForNextLevel(const unsigned int nextLevel, const unsigned int numberOfLevels)
double m_MaxDistanceToRegressionLine
virtual void SetLineFittingModeToOriginalValues()
~VariationalRegistrationStopCriterion() override
Abstraction of the Events used to communicating among filters and with GUIs.
bool m_LineFittingUseAbsoluteValues
virtual void SetLineFittingMode(const LineFittingMode _arg)
double m_RegressionLineSlopeThreshold
VariationalRegistrationStopCriterion()
virtual void SetMultiResolutionPolicyToDefault()
virtual void SetMultiResolutionPolicyToSimpleGraduated()
double * m_DistanceArrayForFitting
Control indentation during Print() invocation.
virtual void FitLine(const double *const x, const double *const y, const int n, double *m, double *b)
virtual void SetMultiResolutionPolicyToGraduated()
virtual void SetLineFittingModeToScaledValues()
Base class for most ITK classes.
virtual void SetMultiResolutionPolicy(const MultiResolutionPolicy _arg)
Superclass for callback/observer methods.
void Execute(itk::Object *caller, const itk::EventObject &event) override
virtual void SetNumberOfFittingIterations(const int it)
bool m_PerformIncreaseCountCheck
int m_CurrentIncreaseCount
A flexible stop criterion for the variational registration framework.