go home Home | Main Page | Modules | 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<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>
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 1768596610 for elastix by doxygen 1.15.0 elastix logo