Loading...
Searching...
No Matches
elastix::TransformBendingEnergyPenalty< TElastix > Class Template Reference
Components » Metrics

`#include <elxTransformBendingEnergyPenaltyTerm.h>`

## Detailed Description

template<class TElastix>
class elastix::TransformBendingEnergyPenalty< TElastix >

A penalty term based on the bending energy of a thin metal sheet.

[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. The parameters used in this class are:

Parameters
  Metric: Select this metric as follows:
  (Metric "TransformBendingEnergyPenalty")

Definition at line 48 of file elxTransformBendingEnergyPenaltyTerm.h.

Inheritance diagram for elastix::TransformBendingEnergyPenalty< TElastix >:
[legend]

## Public Types

using | ConstPointer = itk::SmartPointer<const Self>
using | ITKBaseType = typename Superclass2::ITKBaseType
using | Pointer = itk::SmartPointer<Self>
using | Self = TransformBendingEnergyPenalty
using | Superclass1 = itk::TransformBendingEnergyPenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double>
using | Superclass2 = MetricBase<TElastix>
Public Types inherited from itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >
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 Types inherited from elastix::MetricBase< TElastix >
using | AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType>
using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType
using | ElastixType
using | FixedImageType = typename ElastixType::FixedImageType
using | FixedPointSetType
using | FixedPointType = typename FixedImageType::PointType
using | FixedPointValueType = typename FixedPointType::ValueType
using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType
using | ITKBaseType = itk::SingleValuedCostFunction
using | MeasureType = typename ITKBaseType::MeasureType
using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType
using | MovingImageType = typename ElastixType::MovingImageType
using | MovingPointSetType
using | MovingPointType = typename MovingImageType::PointType
using | MovingPointValueType = typename MovingPointType::ValueType
using | RegistrationType
using | Self = MetricBase
using | Superclass = BaseComponentSE<TElastix>
Public Types inherited from elastix::BaseComponentSE< TElastix >
using | ElastixType = TElastix
using | RegistrationType = typename ElastixType::RegistrationBaseType
using | Self = BaseComponentSE
using | Superclass = BaseComponent

## Public Member Functions

| elxClassNameMacro ("TransformBendingEnergyPenalty")
virtual const char * | GetClassName () const
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (TransformBendingEnergyPenalty)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Public Member Functions inherited from itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >
void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
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 ()
Public Member Functions inherited from elastix::MetricBase< TElastix >
void | AfterEachIterationBase () override
void | BeforeEachResolutionBase () override
virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const
virtual bool | GetAdvancedMetricUseImageSampler () const
ITKBaseType * | GetAsITKBaseType ()
const ITKBaseType * | GetAsITKBaseType () const
virtual MeasureType | GetCurrentExactMetricValue () const
virtual bool | GetShowExactMetricValue () const
| ITK_DISALLOW_COPY_AND_MOVE (MetricBase)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SelectNewSamples ()
virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler)
Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void | AddTargetCellToIterationInfo (const char *const name)
const Configuration * | GetConfiguration () const
ElastixType * | GetElastix () const
auto & | GetIterationInfoAt (const char *const name)
RegistrationType * | GetRegistration () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
void | RemoveTargetCellFromIterationInfo (const char *const name)
void | SetConfiguration (const Configuration *_arg)
void | SetElastix (ElastixType *_arg)
Public Member Functions inherited from elastix::BaseComponent
virtual void | AfterEachIteration ()
virtual void | AfterEachResolution ()
virtual void | AfterEachResolutionBase ()
virtual void | AfterRegistration ()
virtual void | AfterRegistrationBase ()
virtual int | BeforeAll ()
virtual int | BeforeAllBase ()
virtual void | BeforeEachResolution ()
virtual void | BeforeRegistration ()
virtual void | BeforeRegistrationBase ()
virtual const char * | elxGetClassName () const
const char * | GetComponentLabel () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
| itkTypeMacroNoParent (BaseComponent)
void | SetComponentLabel (const char *label, unsigned int idx)

## Static Public Member Functions

static Pointer | New ()
Static Public Member Functions inherited from itk::TransformBendingEnergyPenaltyTerm< 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

| TransformBendingEnergyPenalty ()=default
| ~TransformBendingEnergyPenalty () override=default
Protected Member Functions inherited from itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >
| 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
Protected Member Functions inherited from elastix::MetricBase< TElastix >
virtual MeasureType | GetExactValue (const ParametersType &parameters)
| 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

## 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
Protected Types inherited from elastix::MetricBase< TElastix >
using | ExactMetricImageSamplerPointer = typename ExactMetricImageSamplerType::Pointer
using | ExactMetricImageSamplerType = itk::ImageGridSampler<FixedImageType>
using | ExactMetricSampleGridSpacingType = typename ExactMetricImageSamplerType::SampleGridSpacingType
using | ParametersType = typename ITKBaseType::ParametersType
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
Protected Attributes inherited from elastix::MetricBase< TElastix >
MeasureType | m_CurrentExactMetricValue { 0.0 }
unsigned int | m_ExactMetricEachXNumberOfIterations { 1 }
ExactMetricSampleGridSpacingType | m_ExactMetricSampleGridSpacing
ExactMetricImageSamplerPointer | m_ExactMetricSampler { nullptr }
bool | m_ShowExactMetricValue { false }
Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer | m_Configuration {}
itk::WeakPointer< TElastix > | m_Elastix {}
RegistrationType * | m_Registration {}

## Member Typedef Documentation

## ConstPointer

template<class TElastix>

using elastix::TransformBendingEnergyPenalty< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 60 of file elxTransformBendingEnergyPenaltyTerm.h.

## ITKBaseType

template<class TElastix>

using elastix::TransformBendingEnergyPenalty< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 121 of file elxTransformBendingEnergyPenaltyTerm.h.

## Pointer

template<class TElastix>

using elastix::TransformBendingEnergyPenalty< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 59 of file elxTransformBendingEnergyPenaltyTerm.h.

## Self

template<class TElastix>

using elastix::TransformBendingEnergyPenalty< TElastix >::Self = TransformBendingEnergyPenalty

Standard ITK-stuff.

Definition at line 56 of file elxTransformBendingEnergyPenaltyTerm.h.

## Superclass1

template<class TElastix>

using elastix::TransformBendingEnergyPenalty< TElastix >::Superclass1 = itk::TransformBendingEnergyPenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double>

Definition at line 57 of file elxTransformBendingEnergyPenaltyTerm.h.

## Superclass2

template<class TElastix>

using elastix::TransformBendingEnergyPenalty< TElastix >::Superclass2 = MetricBase<TElastix>

Definition at line 58 of file elxTransformBendingEnergyPenaltyTerm.h.

## Constructor & Destructor Documentation

## TransformBendingEnergyPenalty()

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::TransformBendingEnergyPenalty | ( |  | ) |

protected default

The constructor.

## ~TransformBendingEnergyPenalty()

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::~TransformBendingEnergyPenalty | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## elxClassNameMacro()

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::elxClassNameMacro | ( | "TransformBendingEnergyPenalty< TElastix >" |  | ) |

Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "TransformBendingEnergyPenalty")

## GetClassName()

template<class TElastix>

virtual const char * elastix::TransformBendingEnergyPenalty< TElastix >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

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

## Initialize()

template<class TElastix>

void elastix::TransformBendingEnergyPenalty< TElastix >::Initialize | ( |  | ) |

override

Sets up a timer to measure the initialization time and calls the Superclass' implementation.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | TransformBendingEnergyPenalty< TElastix > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

The fixed image dimension.

## itkStaticConstMacro() [2/2]

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | ,
|  | unsigned int | ,
|  | MovingImageType::ImageDimension | )

The moving image dimension.

## New()

template<class TElastix>

Pointer elastix::TransformBendingEnergyPenalty< TElastix >::New | ( |  | ) |

static

Method for creation through the object factory.

## Field Documentation

## elxOverrideGetSelfMacro

template<class TElastix>

elastix::TransformBendingEnergyPenalty< TElastix >::elxOverrideGetSelfMacro

private

Definition at line 137 of file elxTransformBendingEnergyPenaltyTerm.h.

Generated on 1768596610 for elastix by 1.15.0 |