#include <elxTransformRigidityPenaltyTerm.h>
A penalty term based on non-rigidity.
For more information check the paper:
M. Staring, S. Klein and J.P.W. Pluim, "A Rigidity Penalty Term for Nonrigid Registration," Medical Physics, vol. 34, no. 11, pp. 4098 - 4108, November 2007.
The parameters used in this class are:
(Metric "TransformRigidityPenalty")
LinearityConditionWeight: A parameter to weigh the linearity condition term of the rigidity term.
example: (LinearityConditionWeight 2.0)
Default is 1.0.
OrthonormalityConditionWeight: A parameter to weigh the orthonormality condition term of the rigidity term.
example: (OrthonormalityConditionWeight 2.0)
Default is 1.0.
PropernessConditionWeight: A parameter to weigh the properness condition term of the rigidity term.
example: (PropernessConditionWeight 2.0)
Default is 1.0.
UseLinearityCondition: A flag to specify the usage of the linearity condition term for optimisation.
example: (UseLinearityCondition "false")
Default is "true".
UseOrthonormalityCondition: A flag to specify the usage of the orthonormality condition term for optimisation.
example: (UseOrthonormalityCondition "false")
Default is "true".
UsePropernessCondition: A flag to specify the usage of the properness condition term for optimisation.
example: (UsePropernessCondition "false")
Default is "true".
CalculateLinearityCondition: A flag to specify if the linearity condition should still be calculated, even if it is not used for optimisation.
example: (CalculateLinearityCondition "false")
Default is "true".
CalculateOrthonormalityCondition: A flag to specify if the orthonormality condition should still be calculated, even if it is not used for optimisation.
example: (CalculateOrthonormalityCondition "false")
Default is "true".
CalculatePropernessCondition: A flag to specify if the properness condition should still be calculated, even if it is not used for optimisation.
example: (CalculatePropernessCondition "false")
Default is "true".
FixedRigidityImageName: the name of a coefficient image to specify the rigidity index of voxels in the fixed image.
example: (FixedRigidityImageName "fixedRigidityImage.mhd")
If not supplied the rigidity coefficient is not based on the fixed image, which is recommended.
If neither FixedRigidityImageName nor MovingRigidityImageName are supplied, the rigidity penalty term is evaluated on the whole transform input domain.
MovingRigidityImageName: the name of a coefficient image to specify the rigidity index of voxels in the moving image.
example: (MovingRigidityImageName "movingRigidityImage.mhd")
If not supplied the rigidity coefficient is not based on the moving image, which is NOT recommended.
If neither FixedRigidityImageName nor MovingRigidityImageName are supplied, the rigidity penalty term is evaluated on the whole transform input domain.
DilateRigidityImages: flag to specify the dilation of the rigidity coefficient images. With this the region of rigidity can be extended to force rigidity of the inner region.
example: (DilateRigidityImages "false" "false" "true")
Default is "true".
DilationRadiusMultiplier: the dilation radius is a multiplier times the grid spacing of the B-spline transform.
example: (DilationRadiusMultiplier 1.0 1.0 2.0)
Default is 1.0.
Definition at line 110 of file elxTransformRigidityPenaltyTerm.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType > | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
template<typename TBaseComponent > | |
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
TransformRigidityPenalty ()=default | |
~TransformRigidityPenalty () override=default | |
Protected Member Functions inherited from itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType > | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
TransformRigidityPenaltyTerm () | |
~TransformRigidityPenaltyTerm () override=default | |
Protected Member Functions inherited from itk::TransformPenaltyTerm< TFixedImage, TScalarType > | |
virtual bool | CheckForBSplineTransform2 (BSplineOrder3TransformPointer &bspline) const |
TransformPenaltyTerm ()=default | |
~TransformPenaltyTerm () override=default | |
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage > | |
AdvancedImageToImageMetric () | |
virtual void | AfterThreadedGetValue (MeasureType &) const |
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const |
void | CheckForAdvancedTransform () |
void | CheckForBSplineInterpolator () |
void | CheckForBSplineTransform () const |
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
virtual void | InitializeImageSampler () |
void | InitializeLimiters () |
virtual void | InitializeThreadingParameters () const |
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) | |
itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) | |
void | LaunchGetValueAndDerivativeThreaderCallback () const |
void | LaunchGetValueThreaderCallback () const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
virtual void | SetUseFixedImageLimiter (bool _arg) |
virtual void | SetUseImageSampler (bool _arg) |
virtual void | SetUseMovingImageLimiter (bool _arg) |
virtual void | ThreadedGetValue (ThreadIdType) const |
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const |
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
~AdvancedImageToImageMetric () override=default | |
Protected Member Functions inherited from elastix::MetricBase< TElastix > | |
virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
MetricBase ()=default | |
~MetricBase () override=default | |
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
BaseComponentSE ()=default | |
~BaseComponentSE () override=default | |
Protected Member Functions inherited from elastix::BaseComponent | |
BaseComponent ()=default | |
virtual | ~BaseComponent ()=default |
Private Attributes | |
elxOverrideGetSelfMacro | |
using itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >::CoefficientImageType |
Definition at line 152 of file itkTransformRigidityPenaltyTerm.h.
using elastix::TransformRigidityPenalty< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 122 of file elxTransformRigidityPenaltyTerm.h.
using elastix::TransformRigidityPenalty< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 186 of file elxTransformRigidityPenaltyTerm.h.
using elastix::TransformRigidityPenalty< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 121 of file elxTransformRigidityPenaltyTerm.h.
using itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >::RigidityImageType |
Typedef's for the construction of the rigidity image.
Definition at line 165 of file itkTransformRigidityPenaltyTerm.h.
using elastix::TransformRigidityPenalty< TElastix >::Self = TransformRigidityPenalty |
Standard ITK-stuff.
Definition at line 118 of file elxTransformRigidityPenaltyTerm.h.
using elastix::TransformRigidityPenalty< TElastix >::Superclass1 = itk::TransformRigidityPenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double> |
Definition at line 119 of file elxTransformRigidityPenaltyTerm.h.
using elastix::TransformRigidityPenalty< TElastix >::Superclass2 = MetricBase<TElastix> |
Definition at line 120 of file elxTransformRigidityPenaltyTerm.h.
|
protecteddefault |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Do some things after each iteration:
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Do some things before each resolution:
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Do some things before registration:
Reimplemented from elastix::BaseComponent.
elastix::TransformRigidityPenalty< TElastix >::elxClassNameMacro | ( | "TransformRigidityPenalty< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "TransformRigidityPenalty")
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >.
|
override |
Sets up a timer to measure the initialization time and calls the Superclass' implementation.
elastix::TransformRigidityPenalty< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | TransformRigidityPenalty< TElastix > | ) |
elastix::TransformRigidityPenalty< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
FixedImageType::ImageDimension | ) |
The fixed image dimension.
elastix::TransformRigidityPenalty< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
MovingImageType::ImageDimension | ) |
The moving image dimension.
|
static |
Method for creation through the object factory.
|
inlineoverridevirtual |
This metric is advanced (so it has a sampling possibility), but it purposely does not use samplers. The MetricBase class, however, issues a warning if this is the case, so we overwrite that function.
Reimplemented from elastix::MetricBase< TElastix >.
Definition at line 222 of file elxTransformRigidityPenaltyTerm.h.
|
private |
Definition at line 233 of file elxTransformRigidityPenaltyTerm.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |