go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix > Class Template Reference

#include <elxCorrespondingPointsEuclideanDistanceMetric.h>

Detailed Description

template<class 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 ITKBaseType = typename Superclass2::ITKBaseType
 
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 CoordRepType = typename OutputPointType::CoordRepType
 
using DerivativeValueType
 
using FixedPointSetConstPointer
 
using FixedPointSetType
 
using InputPointType
 
using MovingPointSetConstPointer
 
using MovingPointSetType
 
using NonZeroJacobianIndicesType
 
using OutputPointType
 
using PointDataIterator
 
using Pointer = SmartPointer<Self>
 
using PointIterator
 
using Self = CorrespondingPointsEuclideanDistancePointMetric
 
using Superclass = SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet>
 
using TransformJacobianType
 
using TransformParametersType
 
using TransformPointer
 
using TransformType
 
using VnlVectorType = vnl_vector<CoordRepType>
 
- 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 FixedPointSetPixelType = typename FixedPointSetType::PixelType
 
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 MovingPointSetPixelType = typename MovingPointSetType::PixelType
 
using MovingPointSetType = TMovingPointSet
 
using NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType
 
using OutputPointType = typename TransformType::OutputPointType
 
using PointDataIterator = typename FixedPointSetType::PointDataContainer::ConstIterator
 
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")
 
virtual const char * GetClassName () const
 
void Initialize () override
 
 ITK_DISALLOW_COPY_AND_MOVE (CorrespondingPointsEuclideanDistanceMetric)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
unsigned int ReadLandmarks (const std::string &landmarkFileName, typename PointSetType::Pointer &pointSet, const typename ImageType::ConstPointer image)
 
void SelectNewSamples () override
 
- Public Member Functions inherited from itk::CorrespondingPointsEuclideanDistancePointMetric< TFixedPointSet, TMovingPointSet >
void GetDerivative (const TransformParametersType &parameters, DerivativeType &Derivative) const override
 
MeasureType GetValue (const TransformParametersType &parameters) const override
 
void GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
 
 ITK_DISALLOW_COPY_AND_MOVE (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)
 
 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
 
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)
 
 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)
 
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 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::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 >
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 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<class TElastix >
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ConstPointer = itk::SmartPointer<const Self>

◆ FixedImageType

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

Other typedef's.

Definition at line 89 of file elxMetricBase.h.

◆ ImageType

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

◆ ITKBaseType

template<class TElastix >
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

◆ MovingImageType

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

Definition at line 92 of file elxMetricBase.h.

◆ Pointer

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

◆ PointSetType

template<class 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 108 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

◆ Self

Standard ITK-stuff.

Definition at line 49 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

◆ Superclass1

template<class 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<class TElastix >
using elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::Superclass2 = MetricBase<TElastix>

Constructor & Destructor Documentation

◆ CorrespondingPointsEuclideanDistanceMetric()

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

The constructor.

◆ ~CorrespondingPointsEuclideanDistanceMetric()

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

The destructor.

Member Function Documentation

◆ BeforeAllBase()

template<class 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<class TElastix >
void elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::BeforeRegistration ( )
overridevirtual

Do some things before registration:

  • Load and set the pointsets.

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

template<class 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")

◆ GetClassName()

template<class TElastix >
virtual const char * elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

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

◆ Initialize()

template<class 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<class TElastix >
elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( CorrespondingPointsEuclideanDistanceMetric< TElastix > )

◆ itkStaticConstMacro() [1/2]

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

The fixed image dimension.

◆ itkStaticConstMacro() [2/2]

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

The moving image dimension.

◆ New()

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

Method for creation through the object factory.

◆ ReadLandmarks()

template<class TElastix >
unsigned int elastix::CorrespondingPointsEuclideanDistanceMetric< TElastix >::ReadLandmarks ( const std::string & landmarkFileName,
typename PointSetType::Pointer & pointSet,
const typename ImageType::ConstPointer image )

Function to read the corresponding points.

◆ SelectNewSamples()

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

Overwrite to silence warning.

Reimplemented from elastix::MetricBase< TElastix >.

Definition at line 140 of file elxCorrespondingPointsEuclideanDistanceMetric.h.

Field Documentation

◆ elxOverrideGetSelfMacro

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


Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo