Loading...
Searching...
No Matches
itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType > Class Template Reference
Components » Metrics

`#include <itkTransformBendingEnergyPenaltyTerm.h>`

## Detailed Description

template<class TFixedImage, class TScalarType>
class itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >

A cost function that calculates the bending energy of a transformation.

The bending energy is defined as the sum of the spatial second order derivatives of the transformation, as defined in [1]. For rigid and affine transformation this energy is always zero.

[1]: D. Rueckert, L. I. Sonoda, C. Hayes, D. L. G. Hill, M. O. Leach, and D. J. Hawkes, "Nonrigid registration using free-form deformations: Application to breast MR images", IEEE Trans. Med. Imaging 18, 712-721, 1999.
[2]: M. Staring and S. Klein, "Itk::Transforms supporting spatial derivatives"", Insight Journal, http://hdl.handle.net/10380/3215.

Definition at line 50 of file itkTransformBendingEnergyPenaltyTerm.h.

Inheritance diagram for itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >:
[legend]

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | Self = TransformBendingEnergyPenaltyTerm
using | Superclass = TransformPenaltyTerm<TFixedImage, TScalarType>
Public Types inherited from itk::TransformPenaltyTerm< TFixedImage, TScalarType >
using | ConstPointer
using | InternalMatrixType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | Pointer
using | ScalarType
using | Self
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass
using | TransformType
Public Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >
using | AdvancedTransformType
using | BSplineOrder1TransformPointer
using | BSplineOrder1TransformType
using | BSplineOrder2TransformPointer
using | BSplineOrder2TransformType
using | BSplineOrder3TransformPointer
using | BSplineOrder3TransformType
using | CombinationTransformType
using | ConstPointer
using | DerivativeValueType
using | FixedImageLimiterOutputType
using | FixedImageLimiterPointer
using | FixedImageLimiterType
using | FixedImageMaskConstPointer
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImagePixelType
using | FixedImagePointer
using | ImageSampleContainerPointer
using | ImageSampleContainerType
using | ImageSamplerPointer
using | ImageSamplerType
using | MovingImageDerivativeScalesType
using | MovingImageLimiterOutputType
using | MovingImageLimiterPointer
using | MovingImageLimiterType
using | MovingImageMaskConstPointer
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImagePointer
using | MovingImageRegionType
using | NumberOfParametersType
using | Pointer
using | ScalarType
using | Self
using | Superclass
using | ThreadInfoType

## Public Member Functions

void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
virtual const char * | GetClassName () const
void | GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const override
MeasureType | GetValue (const ParametersType &parameters) const override
void | GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
virtual void | GetValueAndDerivativeSingleThreaded (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
| ITK_DISALLOW_COPY_AND_MOVE (TransformBendingEnergyPenaltyTerm)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
void | ThreadedGetValueAndDerivative (ThreadIdType threadID) const override
Public Member Functions inherited from itk::TransformPenaltyTerm< TFixedImage, TScalarType >
| ITK_DISALLOW_COPY_AND_MOVE (TransformPenaltyTerm)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Public Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageLimiterType * | GetFixedImageLimiter ()
const FixedImageMaskType * | GetFixedImageMask () const override
virtual double | GetFixedLimitRangeRatio () const
ImageSamplerType * | GetImageSampler () const
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales ()
virtual const MovingImageLimiterType * | GetMovingImageLimiter ()
const MovingImageMaskType * | GetMovingImageMask () const override
virtual double | GetMovingLimitRangeRatio () const
virtual double | GetRequiredRatioOfValidSamples () const
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const
const AdvancedTransformType * | GetTransform () const override
AdvancedTransformType * | GetTransform () override
virtual bool | GetUseFixedImageLimiter () const
virtual bool | GetUseImageSampler () const
virtual const bool & | GetUseMetricSingleThreaded ()
virtual bool | GetUseMovingImageDerivativeScales () const
virtual bool | GetUseMovingImageLimiter () const
virtual const bool & | GetUseMultiThread ()
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, TFixedImage::ImageDimension)
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg)
virtual void | SetFixedImageMask (const FixedImageMaskType *const arg)
virtual void | SetFixedLimitRangeRatio (double _arg)
virtual void | SetImageSampler (ImageSamplerType *_arg)
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg)
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg)
virtual void | SetMovingImageMask (const MovingImageMaskType *const arg)
virtual void | SetMovingLimitRangeRatio (double _arg)
virtual void | SetRequiredRatioOfValidSamples (double _arg)
virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg)
virtual void | SetTransform (AdvancedTransformType *arg)
virtual void | SetUseMetricSingleThreaded (bool _arg)
virtual void | SetUseMovingImageDerivativeScales (bool _arg)
virtual void | SetUseMultiThread (bool _arg)
virtual void | UseMetricSingleThreadedOff ()
virtual void | UseMetricSingleThreadedOn ()
virtual void | UseMultiThreadOff ()
virtual void | UseMultiThreadOn ()

## Static Public Member Functions

static Pointer | New ()

## Protected Member Functions

| TransformBendingEnergyPenaltyTerm ()
| ~TransformBendingEnergyPenaltyTerm () 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
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
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const
| ~AdvancedImageToImageMetric () override=default

## Additional Inherited Members

Protected Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >
using | BSplineInterpolatorFloatPointer
using | BSplineInterpolatorFloatType
using | BSplineInterpolatorPointer
using | BSplineInterpolatorType
using | FixedImageIndexType
using | FixedImageIndexValueType
using | FixedImagePointType
using | LinearInterpolatorPointer
using | LinearInterpolatorType
using | MovingImageContinuousIndexType
using | MovingImageDerivativeType
using | MovingImageIndexType
using | MovingImagePointType
using | NonZeroJacobianIndicesType
using | ReducedBSplineInterpolatorPointer
using | ReducedBSplineInterpolatorType
Static Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueThreaderCallback (void *arg)
Protected Attributes inherited from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >
AdvancedTransformType::Pointer | m_AdvancedTransform
FixedImageLimiterOutputType | m_FixedImageMaxLimit
FixedImageLimiterOutputType | m_FixedImageMinLimit
FixedImagePixelType | m_FixedImageTrueMax
FixedImagePixelType | m_FixedImageTrueMin
double | m_FixedLimitRangeRatio
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> | m_GetValueAndDerivativePerThreadVariables
ThreadIdType | m_GetValueAndDerivativePerThreadVariablesSize
ImageSamplerPointer | m_ImageSampler
MovingImageLimiterOutputType | m_MovingImageMaxLimit
MovingImageLimiterOutputType | m_MovingImageMinLimit
MovingImagePixelType | m_MovingImageTrueMax
MovingImagePixelType | m_MovingImageTrueMin
double | m_MovingLimitRangeRatio
MultiThreaderParameterType | m_ThreaderMetricParameters
bool | m_TransformIsBSpline
bool | m_UseMetricSingleThreaded
bool | m_UseMultiThread

## Member Typedef Documentation

## ConstPointer

template<class TFixedImage, class TScalarType>

using itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ConstPointer = SmartPointer<const Self>

Definition at line 59 of file itkTransformBendingEnergyPenaltyTerm.h.

## Pointer

template<class TFixedImage, class TScalarType>

using itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::Pointer = SmartPointer<Self>

Definition at line 58 of file itkTransformBendingEnergyPenaltyTerm.h.

## Self

template<class TFixedImage, class TScalarType>

using itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::Self = TransformBendingEnergyPenaltyTerm

Standard ITK stuff.

Definition at line 56 of file itkTransformBendingEnergyPenaltyTerm.h.

## Superclass

template<class TFixedImage, class TScalarType>

using itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::Superclass = TransformPenaltyTerm<TFixedImage, TScalarType>

Definition at line 57 of file itkTransformBendingEnergyPenaltyTerm.h.

## Constructor & Destructor Documentation

## TransformBendingEnergyPenaltyTerm()

template<class TFixedImage, class TScalarType>

itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformBendingEnergyPenaltyTerm | ( |  | ) |

protected

The constructor.

## ~TransformBendingEnergyPenaltyTerm()

template<class TFixedImage, class TScalarType>

itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::~TransformBendingEnergyPenaltyTerm | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## AfterThreadedGetValueAndDerivative()

template<class TFixedImage, class TScalarType>

void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::AfterThreadedGetValueAndDerivative | ( | MeasureType & | value,
|  | DerivativeType & | derivative ) const

override virtual

Gather the values and derivatives from all threads

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >.

## GetClassName()

template<class TFixedImage, class TScalarType>

virtual const char * itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented from itk::TransformPenaltyTerm< TFixedImage, TScalarType >.

Reimplemented in elastix::TransformBendingEnergyPenalty< TElastix >.

## GetDerivative()

template<class TFixedImage, class TScalarType>

void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetDerivative | ( | const ParametersType & | parameters,
|  | DerivativeType & | derivative ) const

override

Get the penalty term derivative.

## GetValue()

template<class TFixedImage, class TScalarType>

MeasureType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetValue | ( | const ParametersType & | parameters | ) | const

override

Get the penalty term value.

## GetValueAndDerivative()

template<class TFixedImage, class TScalarType>

void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetValueAndDerivative | ( | const ParametersType & | parameters,
|  | MeasureType & | value,
|  | DerivativeType & | derivative ) const

override

## GetValueAndDerivativeSingleThreaded()

template<class TFixedImage, class TScalarType>

virtual void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetValueAndDerivativeSingleThreaded | ( | const ParametersType & | parameters,
|  | MeasureType & | value,
|  | DerivativeType & | derivative ) const

virtual

Get the penalty term value and derivative.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage, class TScalarType>

itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ITK_DISALLOW_COPY_AND_MOVE | ( | TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType > |  | ) |

## itkStaticConstMacro()

template<class TFixedImage, class TScalarType>

itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

Define the dimension.

## New()

template<class TFixedImage, class TScalarType>

Pointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::New | ( |  | ) |

static

Method for creation through the object factory.

## ThreadedGetValueAndDerivative()

template<class TFixedImage, class TScalarType>

void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ThreadedGetValueAndDerivative | ( | ThreadIdType | threadID | ) | const

override virtual

Get value and derivatives for each thread.

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >.

Generated on 1768596610 for elastix by 1.15.0 |