ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkVariationalRegistrationStopCriterion.h>
A flexible stop criterion for the variational registration framework.
This stop criterion is realised as an observer for the VariationalRegistrationFilter and VariationalRegistrationMultiResolutionFilter. It allows testing for
For the line fitting, three different modes can be chosen:
In multi resolution settings, it can be useful to use different stopping criteria for each MR level. Therefore, different multi resolution policies can be chosen:
Definition at line 68 of file itkVariationalRegistrationStopCriterion.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
virtual bool | CheckStopRegistration () |
virtual void | FitLine (const double *const x, const double *const y, const int n, double *m, double *b) |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | ResetFittingData () |
virtual void | SetModeForNextLevel (const unsigned int nextLevel, const unsigned int numberOfLevels) |
virtual void | SetNextMetricValue (const double value) |
VariationalRegistrationStopCriterion () | |
~VariationalRegistrationStopCriterion () | |
Protected Member Functions inherited from itk::Command | |
Command () | |
~Command () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () override |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Member Functions | |
void | operator= (const Self &) |
VariationalRegistrationStopCriterion (const Self &) | |
Private Attributes | |
int | m_CurrentIncreaseCount |
double * | m_DistanceArray |
double * | m_DistanceArrayForFitting |
int | m_ElapsedIterations |
double * | m_IterationArray |
int | m_IterationModulus |
LineFittingMode | m_LineFittingMode |
bool | m_LineFittingUseAbsoluteValues |
double | m_MaxDistanceToRegressionLine |
int | m_MaximumIncreaseCount |
double | m_MaxMetricValue |
double | m_MinMetricValue |
MultiResolutionPolicy | m_MultiResolutionPolicy |
int | m_NumberOfFittingIterations |
bool | m_PerformIncreaseCountCheck |
bool | m_PerformLineFittingCheck |
bool | m_PerformLineFittingMaxDistanceCheck |
double | m_RegressionLineSlopeThreshold |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer<const Self> itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::ConstPointer |
Definition at line 76 of file itkVariationalRegistrationStopCriterion.h.
typedef TMRFilter itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::MRFilterType |
Definition at line 80 of file itkVariationalRegistrationStopCriterion.h.
typedef SmartPointer<Self> itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::Pointer |
Definition at line 75 of file itkVariationalRegistrationStopCriterion.h.
typedef TRegistrationFilter itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::RegistrationFilterType |
Registration and MR filter types
Definition at line 79 of file itkVariationalRegistrationStopCriterion.h.
typedef VariationalRegistrationStopCriterion itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::Self |
Standard class typedefs.
Definition at line 73 of file itkVariationalRegistrationStopCriterion.h.
typedef Command itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::Superclass |
Definition at line 74 of file itkVariationalRegistrationStopCriterion.h.
enum itk::VariationalRegistrationStopCriterion::LineFittingMode |
Enumerate for the different line fitting modes.
Enumerator | |
---|---|
LINE_FITTING_MODE_ORIGINAL | |
LINE_FITTING_MODE_NORMALIZED | |
LINE_FITTING_MODE_SCALED |
Definition at line 153 of file itkVariationalRegistrationStopCriterion.h.
enum itk::VariationalRegistrationStopCriterion::MultiResolutionPolicy |
Enumerate for the different multi resolution policies.
Enumerator | |
---|---|
MULTI_RESOLUTION_POLICY_DEFAULT | |
MULTI_RESOLUTION_POLICY_SIMPLE_GRADUATED | |
MULTI_RESOLUTION_POLICY_GRADUATED |
Definition at line 182 of file itkVariationalRegistrationStopCriterion.h.
|
protected |
|
protected |
|
private |
|
protectedvirtual |
Perform the checking of the stop criterion.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
overridevirtual |
Abstract method that defines the action to be taken by the command.
Implements itk::Command.
|
overridevirtual |
Abstract method that defines the action to be taken by the command. This variant is expected to be used when requests comes from a const Object
Implements itk::Command.
|
protectedvirtual |
Calculate linear regression line.
|
virtual |
Get iteration modulus.
|
virtual |
Get the line fitting mode.
|
virtual |
Use the absolute metric value for the line fitting.
m_LineFittingUseAbsoluteValues must be true for this taking effect.
|
virtual |
Get maximum distance to regression line.
|
virtual |
Get maximum increase count.
|
virtual |
Get the multi resolution policy.
|
virtual |
Get number of fitting iterations.
|
virtual |
Perform increase count check.
|
virtual |
Perform line fitting check.
|
virtual |
Perform line fitting max distance check.
m_PerformLineFittingCheck must be true for this taking effect.
|
virtual |
Get gradient threshold.
|
virtual |
Use the absolute metric value for the line fitting.
m_LineFittingUseAbsoluteValues must be true for this taking effect.
|
virtual |
Use the absolute metric value for the line fitting.
m_LineFittingUseAbsoluteValues must be true for this taking effect.
|
static |
Method for creation through the object factory.
|
private |
|
virtual |
Perform increase count check.
|
virtual |
Perform increase count check.
|
virtual |
Perform line fitting check.
|
virtual |
Perform line fitting check.
|
virtual |
Perform line fitting max distance check.
m_PerformLineFittingCheck must be true for this taking effect.
|
virtual |
Perform line fitting max distance check.
m_PerformLineFittingCheck must be true for this taking effect.
|
overrideprotectedvirtual |
Print information about the filter.
Reimplemented from itk::Object.
|
protectedvirtual |
Reset the fitting data.
|
virtual |
Set iteration modulus.
The iteration modulus determines, if check is only performed every modulus iterations.
|
virtual |
Set the line fitting mode. Three modes are provided:
Referenced by itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetLineFittingModeToNormalizedValues(), itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetLineFittingModeToOriginalValues(), and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetLineFittingModeToScaledValues().
|
inlinevirtual |
Set line fitting mode to normalized values.
Definition at line 174 of file itkVariationalRegistrationStopCriterion.h.
References itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::LINE_FITTING_MODE_NORMALIZED, and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetLineFittingMode().
|
inlinevirtual |
Set line fitting mode to original.
Definition at line 170 of file itkVariationalRegistrationStopCriterion.h.
References itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::LINE_FITTING_MODE_ORIGINAL, and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetLineFittingMode().
|
inlinevirtual |
Set line fitting mode to scaled values.
Definition at line 178 of file itkVariationalRegistrationStopCriterion.h.
References itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::LINE_FITTING_MODE_SCALED, and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetLineFittingMode().
|
virtual |
Use the absolute metric value for the line fitting.
m_LineFittingUseAbsoluteValues must be true for this taking effect.
|
virtual |
Set maximum distance to regression line.
|
virtual |
Set maximum increase count.
|
protectedvirtual |
Set the flags according to the multi-resolution policy for the next level.
|
virtual |
Set the multi resolution policy. Three different multi resolution policies are provided:
Referenced by itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetMultiResolutionPolicyToDefault(), itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetMultiResolutionPolicyToGraduated(), and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetMultiResolutionPolicyToSimpleGraduated().
|
inlinevirtual |
In each level, use the default stop criterion of the registration filter.
Definition at line 202 of file itkVariationalRegistrationStopCriterion.h.
References itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::MULTI_RESOLUTION_POLICY_DEFAULT, and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetMultiResolutionPolicy().
|
inlinevirtual |
Apply a graduated policy:
Definition at line 216 of file itkVariationalRegistrationStopCriterion.h.
References itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::MULTI_RESOLUTION_POLICY_GRADUATED, and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetMultiResolutionPolicy().
|
inlinevirtual |
Apply a simple graduated policy:
Definition at line 208 of file itkVariationalRegistrationStopCriterion.h.
References itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::MULTI_RESOLUTION_POLICY_SIMPLE_GRADUATED, and itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::SetMultiResolutionPolicy().
|
protectedvirtual |
Set the metric value for the current iteration.
value | The metric value of the current iteration. |
|
virtual |
Set number of fitting iterations. This will call Reset().
For the previous m_NumberOfFittingIterations iterations a linear regression to the (normalized) values is calculated. If the absolute value the gradient is smaller then DistanceGradientThresh, the stop criterion is satisfied.
it | Number of fitting iterations. |
|
virtual |
Perform increase count check.
|
virtual |
Perform line fitting check.
|
virtual |
Perform line fitting max distance check.
m_PerformLineFittingCheck must be true for this taking effect.
|
virtual |
Set gradient threshold.
|
private |
Definition at line 264 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 282 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 284 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 259 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 283 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 258 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 275 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 273 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 279 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 265 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 267 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 268 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 255 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 277 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 262 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 271 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 272 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 278 of file itkVariationalRegistrationStopCriterion.h.