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

`#include <elxDisplacementMagnitudePenalty.h>`

## Detailed Description

template<class TElastix>
class elastix::DisplacementMagnitudePenalty< TElastix >

A penalty term that penalises ||T(x)-x||.

This penalty term may look a little unusual, but it can be used as a way to compute an inverse transform, by supplying the transform to be inverted as an initial transform and setting the HowToCombineTransforms parameter to "Compose".

The parameters used in this class are:

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

See also
  DisplacementEnergyPenaltyTerm

Definition at line 45 of file elxDisplacementMagnitudePenalty.h.

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

## Public Types

using | ConstPointer = itk::SmartPointer<const Self>
using | ITKBaseType = typename Superclass2::ITKBaseType
using | Pointer = itk::SmartPointer<Self>
using | Self = DisplacementMagnitudePenalty
using | Superclass1 = itk::DisplacementMagnitudePenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double>
using | Superclass2 = MetricBase<TElastix>
Public Types inherited from itk::DisplacementMagnitudePenaltyTerm< TFixedImage, TScalarType >
using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | Self = DisplacementMagnitudePenaltyTerm
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 ("DisplacementMagnitudePenalty")
virtual const char * | GetClassName () const
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (DisplacementMagnitudePenalty)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Public Member Functions inherited from itk::DisplacementMagnitudePenaltyTerm< TFixedImage, TScalarType >
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
| ITK_DISALLOW_COPY_AND_MOVE (DisplacementMagnitudePenaltyTerm)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
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::DisplacementMagnitudePenaltyTerm< 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

| DisplacementMagnitudePenalty ()=default
| ~DisplacementMagnitudePenalty () override=default
Protected Member Functions inherited from itk::DisplacementMagnitudePenaltyTerm< TFixedImage, TScalarType >
| DisplacementMagnitudePenaltyTerm ()
| ~DisplacementMagnitudePenaltyTerm () 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 &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::DisplacementMagnitudePenalty< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 57 of file elxDisplacementMagnitudePenalty.h.

## ITKBaseType

template<class TElastix>

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

Definition at line 118 of file elxDisplacementMagnitudePenalty.h.

## Pointer

template<class TElastix>

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

Definition at line 56 of file elxDisplacementMagnitudePenalty.h.

## Self

template<class TElastix>

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

Standard ITK-stuff.

Definition at line 53 of file elxDisplacementMagnitudePenalty.h.

## Superclass1

template<class TElastix>

using elastix::DisplacementMagnitudePenalty< TElastix >::Superclass1 = itk::DisplacementMagnitudePenaltyTerm<typename MetricBase<TElastix>::FixedImageType, double>

Definition at line 54 of file elxDisplacementMagnitudePenalty.h.

## Superclass2

template<class TElastix>

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

Definition at line 55 of file elxDisplacementMagnitudePenalty.h.

## Constructor & Destructor Documentation

## DisplacementMagnitudePenalty()

template<class TElastix>

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

protected default

The constructor.

## ~DisplacementMagnitudePenalty()

template<class TElastix>

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

override protected default

The destructor.

## Member Function Documentation

## elxClassNameMacro()

template<class TElastix>

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

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

## GetClassName()

template<class TElastix>

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

virtual

Run-time type information (and related methods).

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

## Initialize()

template<class TElastix>

void elastix::DisplacementMagnitudePenalty< 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::DisplacementMagnitudePenalty< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | DisplacementMagnitudePenalty< TElastix > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TElastix>

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

The fixed image dimension.

## itkStaticConstMacro() [2/2]

template<class TElastix>

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

The moving image dimension.

## New()

template<class TElastix>

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

static

Method for creation through the object factory.

## Field Documentation

## elxOverrideGetSelfMacro

template<class TElastix>

elastix::DisplacementMagnitudePenalty< TElastix >::elxOverrideGetSelfMacro

private

Definition at line 134 of file elxDisplacementMagnitudePenalty.h.

Generated on 1768596610 for elastix by 1.15.0 |