18 #ifndef itkVariationalRegistrationStopCriterion_h
19 #define itkVariationalRegistrationStopCriterion_h
67 template<
class TRegistrationFilter,
class TMRFilter >
89 itkSetMacro( IterationModulus,
int );
92 itkGetMacro( IterationModulus,
int );
95 itkSetMacro( PerformIncreaseCountCheck,
bool );
96 itkGetMacro( PerformIncreaseCountCheck,
bool );
97 itkBooleanMacro( PerformIncreaseCountCheck );
101 itkSetMacro( MaximumIncreaseCount,
int );
104 itkGetMacro( MaximumIncreaseCount,
int );
107 itkSetMacro( PerformLineFittingCheck,
bool );
108 itkGetMacro( PerformLineFittingCheck,
bool );
109 itkBooleanMacro( PerformLineFittingCheck );
115 itkSetMacro( PerformLineFittingMaxDistanceCheck,
bool );
116 itkGetMacro( PerformLineFittingMaxDistanceCheck,
bool );
117 itkBooleanMacro( PerformLineFittingMaxDistanceCheck );
123 itkSetMacro( LineFittingUseAbsoluteValues,
bool );
124 itkGetMacro( LineFittingUseAbsoluteValues,
bool );
125 itkBooleanMacro( LineFittingUseAbsoluteValues );
138 itkGetMacro( NumberOfFittingIterations,
int );
141 itkSetMacro( RegressionLineSlopeThreshold,
double );
144 itkGetMacro( RegressionLineSlopeThreshold,
double );
147 itkSetMacro( MaxDistanceToRegressionLine,
double );
150 itkGetMacro( MaxDistanceToRegressionLine,
double );
228 virtual void PrintSelf(std::ostream& os,
Indent indent)
const ITK_OVERRIDE;
233 const unsigned int nextLevel,
const unsigned int numberOfLevels );
247 virtual void FitLine(
const double *
const x,
const double *
const y,
248 const int n,
double *m,
double *b);
289 #ifndef ITK_MANUAL_INSTANTIATION
290 #include "itkVariationalRegistrationStopCriterion.hxx"
virtual void SetLineFittingModeToNormalizedValues()
MultiResolutionPolicy m_MultiResolutionPolicy
int m_MaximumIncreaseCount
virtual void SetNextMetricValue(const double value)
SmartPointer< Self > Pointer
double * m_IterationArray
virtual void PrintSelf(std::ostream &os, Indent indent) const override
LineFittingMode m_LineFittingMode
virtual bool CheckStopRegistration()
int m_NumberOfFittingIterations
VariationalRegistrationStopCriterion Self
SmartPointer< const Self > ConstPointer
void operator=(const Self &)
TRegistrationFilter RegistrationFilterType
bool m_PerformLineFittingMaxDistanceCheck
bool m_PerformLineFittingCheck
virtual void ResetFittingData()
virtual void SetModeForNextLevel(const unsigned int nextLevel, const unsigned int numberOfLevels)
double m_MaxDistanceToRegressionLine
virtual void SetLineFittingModeToOriginalValues()
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
virtual void Execute(itk::Object *caller, const itk::EventObject &event) override
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.
~VariationalRegistrationStopCriterion()
virtual void SetNumberOfFittingIterations(const int it)
bool m_PerformIncreaseCountCheck
int m_CurrentIncreaseCount
A flexible stop criterion for the variational registration framework.