ITK
5.0.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) |
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 () override | |
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) |
~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 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 | |
std::atomic< int > | m_ReferenceCount |
using itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::ConstPointer = SmartPointer<const Self> |
Definition at line 78 of file itkVariationalRegistrationStopCriterion.h.
using itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::MRFilterType = TMRFilter |
Definition at line 82 of file itkVariationalRegistrationStopCriterion.h.
using itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::Pointer = SmartPointer<Self> |
Definition at line 77 of file itkVariationalRegistrationStopCriterion.h.
using itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::RegistrationFilterType = TRegistrationFilter |
Registration and MR filter types
Definition at line 81 of file itkVariationalRegistrationStopCriterion.h.
using itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::Self = VariationalRegistrationStopCriterion |
Standard class type alias.
Definition at line 75 of file itkVariationalRegistrationStopCriterion.h.
using itk::VariationalRegistrationStopCriterion< TRegistrationFilter, TMRFilter >::Superclass = Command |
Definition at line 76 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 155 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 184 of file itkVariationalRegistrationStopCriterion.h.
|
protected |
|
overrideprotected |
|
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.
|
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 176 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 172 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 180 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 204 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 218 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 210 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 263 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 281 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 282 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 257 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 274 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 272 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 278 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 264 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 266 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 267 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 254 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 276 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 261 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 270 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 271 of file itkVariationalRegistrationStopCriterion.h.
|
private |
Definition at line 277 of file itkVariationalRegistrationStopCriterion.h.