go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix > Class Template Reference

#include <elxCorrespondingPointsEuclideanDistanceMetric.h>

Detailed Description

template<typename TElastix>
class elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >

An metric based on the itk::CorrespondingPointsEuclideanDistancePointMetric.

The parameters used in this class are:

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

Definition at line 40 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

Inheritance diagram for elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >:

Public Types

using ConstPointer = itk::SmartPointer<const Self>
using FixedImageType
using ImageType = FixedImageType
using MovingImageType
using Pointer = itk::SmartPointer<Self>
using PointSetType = FixedPointSetType
using Self = CorrespondingPointsEuclideanDistanceMetric
using Superclass1
using Superclass2 = MetricBase<TElastix>
Public Types inherited from itk::CorrespondingPointsEuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet >
using ConstPointer = SmartPointer<const Self>
using FixedPointSetType
using InputPointType
using MovingPointSetType
using NonZeroJacobianIndicesType
using OutputPointType
using Pointer = SmartPointer<Self>
using Self = CorrespondingPointsEuclideanDistancePointMetric
using Superclass = SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet>
using TransformJacobianType
Public Types inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
using ConstPointer = SmartPointer<const Self>
using CoordinateRepresentationType = Superclass::ParametersValueType
using DerivativeValueType = typename DerivativeType::ValueType
using FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
using FixedImageMaskPointer = typename FixedImageMaskType::Pointer
using FixedImageMaskType = ImageMaskSpatialObject<Self::FixedPointSetDimension>
using FixedPointSetConstPointer = typename FixedPointSetType::ConstPointer
using FixedPointSetType = TFixedPointSet
using InputPointType = typename TransformType::InputPointType
using MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer
using MovingImageMaskPointer = typename MovingImageMaskType::Pointer
using MovingImageMaskType = ImageMaskSpatialObject<Self::MovingPointSetDimension>
using MovingPointSetConstPointer = typename MovingPointSetType::ConstPointer
using MovingPointSetType = TMovingPointSet
using NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType
using OutputPointType = typename TransformType::OutputPointType
using Pointer = SmartPointer<Self>
using PointIterator = typename FixedPointSetType::PointsContainer::ConstIterator
using Self = SingleValuedPointSetToPointSetMetric
using Superclass = SingleValuedCostFunction
using TransformJacobianType = typename TransformType::JacobianType
using TransformParametersType = typename TransformType::ParametersType
using TransformPointer = typename TransformType::Pointer
using TransformType
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

int BeforeAllBase () override
void BeforeRegistration () override
 elxClassNameMacro ("CorrespondingPointsEuclideanDistanceMetric")
void Initialize () override
 ITK_DISALLOW_COPY_AND_MOVE (CorrespondingPointsEuclideanDistanceMetric)
 itkOverrideGetNameOfClassMacro (CorrespondingPointsEuclideanDistanceMetric)
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
void SelectNewSamples () override
Public Member Functions inherited from itk::CorrespondingPointsEuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet >
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 (CorrespondingPointsEuclideanDistancePointMetric)
 itkOverrideGetNameOfClassMacro (CorrespondingPointsEuclideanDistancePointMetric)
Public Member Functions inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
virtual void BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageMaskTypeGetFixedImageMask ()
virtual const FixedPointSetTypeGetFixedPointSet ()
virtual const MovingImageMaskTypeGetMovingImageMask ()
virtual const MovingPointSetTypeGetMovingPointSet ()
unsigned int GetNumberOfParameters () const override
virtual const TransformTypeGetTransform ()
virtual const boolGetUseMetricSingleThreaded ()
 ITK_DISALLOW_COPY_AND_MOVE (SingleValuedPointSetToPointSetMetric)
 itkOverrideGetNameOfClassMacro (SingleValuedPointSetToPointSetMetric)
 itkStaticConstMacro (FixedPointSetDimension, unsigned int, TFixedPointSet::PointDimension)
 itkStaticConstMacro (MovingPointSetDimension, unsigned int, TMovingPointSet::PointDimension)
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
virtual void SetMovingPointSet (const MovingPointSetType *_arg)
virtual void SetTransform (TransformType *_arg)
void SetTransformParameters (const ParametersType &parameters) const
virtual void SetUseMetricSingleThreaded (bool _arg)
virtual void UseMetricSingleThreadedOff ()
virtual void UseMetricSingleThreadedOn ()
Public Member Functions inherited from elastix::MetricBase< TElastix >
void AfterEachIterationBase () override
void BeforeEachResolutionBase () override
void BeforeRegistrationBase () override
virtual ImageSamplerBaseTypeGetAdvancedMetricImageSampler () const
virtual bool GetAdvancedMetricUseImageSampler () const
ITKBaseTypeGetAsITKBaseType ()
const ITKBaseTypeGetAsITKBaseType () const
virtual MeasureType GetCurrentExactMetricValue () const
virtual bool GetShowExactMetricValue () const
 ITK_DISALLOW_COPY_AND_MOVE (MetricBase)
 itkOverrideGetNameOfClassMacro (MetricBase)
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler)
Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void AddTargetCellToIterationInfo (const char *const name)
const ConfigurationGetConfiguration () const
ElastixTypeGetElastix () const
auto & GetIterationInfoAt (const char *const name)
itk::Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator ()
RegistrationTypeGetRegistration () 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 void BeforeEachResolution ()
virtual const char * elxGetClassName () const
const char * GetComponentLabel () const
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
 itkVirtualGetNameOfClassMacro (BaseComponent)
void SetComponentLabel (const char *label, unsigned int idx)

Static Public Member Functions

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

 CorrespondingPointsEuclideanDistanceMetric ()=default
 ~CorrespondingPointsEuclideanDistanceMetric () override=default
Protected Member Functions inherited from itk::CorrespondingPointsEuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet >
 CorrespondingPointsEuclideanDistancePointMetric ()=default
 ~CorrespondingPointsEuclideanDistancePointMetric () override=default
Protected Member Functions inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
const auto & GetFixedPoints () const
const auto & GetMovingPoints () const
void PrintSelf (std::ostream &os, Indent indent) const override
 SingleValuedPointSetToPointSetMetric ()=default
 ~SingleValuedPointSetToPointSetMetric () 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 Member Functions

itk::SmartPointer< PointSetTypeReadLandmarks (const std::string &landmarkFileName, const typename ImageType::ConstPointer image)

Private Attributes

 elxOverrideGetSelfMacro

Additional Inherited Members

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
Protected Attributes inherited from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >
FixedImageMaskConstPointer m_FixedImageMask { nullptr }
FixedPointSetConstPointer m_FixedPointSet { nullptr }
MovingImageMaskConstPointer m_MovingImageMask { nullptr }
MovingPointSetConstPointer m_MovingPointSet { nullptr }
unsigned int m_NumberOfPointsCounted { 0 }
TransformPointer m_Transform { nullptr }
bool m_UseMetricSingleThreaded { true }
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 {}
RegistrationTypem_Registration {}

Member Typedef Documentation

◆ ConstPointer

template<typename TElastix>
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ConstPointer = itk::SmartPointer<const Self>

◆ FixedImageType

template<typename TElastix>
using elastix::MetricBase< TElastix >::FixedImageType

Other typedef's.

Definition at line 94 of file elxMetricBase.h.

◆ ImageType

template<typename TElastix>
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ImageType = FixedImageType

◆ MovingImageType

template<typename TElastix>
using elastix::MetricBase< TElastix >::MovingImageType

Definition at line 97 of file elxMetricBase.h.

◆ Pointer

template<typename TElastix>
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::Pointer = itk::SmartPointer<Self>

◆ PointSetType

template<typename TElastix>
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::PointSetType = FixedPointSetType

Assuming fixed and moving pointsets are of equal type, which implicitly assumes that the fixed and moving image are of the same type.

Definition at line 86 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

◆ Self

Standard ITK-stuff.

Definition at line 49 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

◆ Superclass1

template<typename TElastix>
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::Superclass1
Initial value:
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
Computes the Euclidean distance between a moving point-set and a fixed point-set. Correspondence is n...

Definition at line 50 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

◆ Superclass2

template<typename TElastix>
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::Superclass2 = MetricBase<TElastix>

Constructor & Destructor Documentation

◆ CorrespondingPointsEuclideanDistanceMetric()

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::CorrespondingPointsEuclideanDistanceMetric ( )
protecteddefault

The constructor.

◆ ~CorrespondingPointsEuclideanDistanceMetric()

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::~CorrespondingPointsEuclideanDistanceMetric ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ BeforeAllBase()

template<typename TElastix>
int elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::BeforeAllBase ( )
overridevirtual

Do some things before all:

  • Check and print the command line arguments fp and mp. This should be done in BeforeAllBase and not BeforeAll.

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<typename TElastix>
void elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::BeforeRegistration ( )
overridevirtual

Do some things before registration:

  • Load and set the pointsets.

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::elxClassNameMacro ( "CorrespondingPointsEuclideanDistanceMetric< TElastix >" )

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

◆ Initialize()

template<typename TElastix>
void elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::Initialize ( )
overridevirtual

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

Reimplemented from itk::SingleValuedPointSetToPointSetMetric< TFixedPointSet, TMovingPointSet >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( CorrespondingPointsEuclideanDistanceMetric< TElastix > )

◆ itkOverrideGetNameOfClassMacro()

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::itkOverrideGetNameOfClassMacro ( CorrespondingPointsEuclideanDistanceMetric< TElastix > )

Run-time type information (and related methods).

◆ itkStaticConstMacro() [1/2]

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::itkStaticConstMacro ( FixedImageDimension ,
unsigned int ,
FixedImageType::ImageDimension  )

The fixed image dimension.

◆ itkStaticConstMacro() [2/2]

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::itkStaticConstMacro ( MovingImageDimension ,
unsigned int ,
MovingImageType::ImageDimension  )

The moving image dimension.

◆ New()

template<typename TElastix>
Pointer elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::New ( )
static

Method for creation through the object factory.

◆ ReadLandmarks()

template<typename TElastix>
itk::SmartPointer< PointSetType > elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ReadLandmarks ( const std::string & landmarkFileName,
const typename ImageType::ConstPointer image )
private

Function to read the corresponding points.

◆ SelectNewSamples()

template<typename TElastix>
void elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::SelectNewSamples ( )
inlineoverridevirtual

Overwrite to silence warning.

Reimplemented from elastix::MetricBase< TElastix >.

Definition at line 112 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

Member Data Documentation

◆ elxOverrideGetSelfMacro

template<typename TElastix>
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::elxOverrideGetSelfMacro
private


Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo