ITK
6.0.0
Insight Toolkit
|
#include <itkPointSetToPointSetMetricv4.h>
Computes similarity between two point sets.
This class is templated over the type of the two point-sets. It expects a Transform to be plugged in for each of fixed and moving point sets. The transforms default to IdentityTransform types. This particular class is the base class for a hierarchy of point-set to point-set metrics.
This class computes a value that measures the similarity between the fixed point-set and the moving point-set in the moving domain. The fixed point set is transformed into the virtual domain by computing the inverse of the fixed transform, then transformed into the moving domain using the moving transform.
Since the PointSet
class permits each Point
to be associated with a PixelType
, there are potential applications which could make use of this additional information. For example, the derived LabeledPointSetToPointSetMetric
class uses the PixelType
as a LabelEnum
for estimating total metric values and gradients from the individual label-wise point subset metric and derivatives
If a virtual domain is not defined by the user, one of two things happens: 1) If the moving transform is a global type, then the virtual domain is left undefined and every point is considered to be within the virtual domain. 2) If the moving transform is a local-support type, then the virtual domain is taken during initialization from the moving transform displacement field, and all fixed points are verified to be within the virtual domain after transformation by the inverse fixed transform. Points outside the virtual domain are not used. See GetNumberOfValidPoints() to verify how many fixed points were used during evaluation.
See ObjectToObjectMetric documentation for more discussion on the virtual domain.
Definition at line 68 of file itkPointSetToPointSetMetricv4.h.
Static Public Attributes | |
static constexpr DimensionType | FixedPointDimension = Superclass::FixedPointDimension |
static constexpr DimensionType | MovingPointDimension = Superclass::MovingPointDimension |
static constexpr DimensionType | PointDimension = Superclass::PointDimension |
Static Public Attributes inherited from itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double > | |
static constexpr DimensionType | FixedPointDimension |
static constexpr DimensionType | MovingPointDimension |
static constexpr DimensionType | PointDimension |
Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< double, TFixedPointSet::PointDimension >, double > | |
static constexpr DimensionType | FixedDimension |
static constexpr DimensionType | MovingDimension |
static constexpr DimensionType | VirtualDimension |
Private Member Functions | |
LocalDerivativeType | GetLocalNeighborhoodDerivativeWithIndex (const PointIdentifier &, const PointType &point, const PixelType &pixel) const override |
void | GetLocalNeighborhoodValueAndDerivativeWithIndex (const PointIdentifier &, const PointType &point, MeasureType &measure, LocalDerivativeType &derivative, const PixelType &pixel) const override |
MeasureType | GetLocalNeighborhoodValueWithIndex (const PointIdentifier &, const PointType &point, const PixelType &pixel) const override |
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 79 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::CoordRepType = typename PointType::CoordRepType |
Definition at line 143 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType |
Definition at line 112 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPixelType = typename TFixedPointSet::PixelType |
Definition at line 120 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPointsContainer = typename TFixedPointSet::PointsContainer |
Definition at line 121 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPointSetType = TFixedPointSet |
Type of the fixed point set.
Definition at line 118 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPointType = typename TFixedPointSet::PointType |
Definition at line 119 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPixelType = typename TMovingPointSet::PixelType |
Definition at line 128 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPointsContainer = typename TMovingPointSet::PointsContainer |
Definition at line 129 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPointSetType = TMovingPointSet |
Type of the moving point set.
Definition at line 126 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPointType = typename TMovingPointSet::PointType |
Definition at line 127 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::NeighborsIdentifierType = typename PointsLocatorType::NeighborsIdentifierType |
Definition at line 150 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::Pointer = SmartPointer<Self> |
Definition at line 78 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointsConstIterator = typename PointsContainer::ConstIterator |
Definition at line 145 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointsContainer = FixedPointsContainer |
Definition at line 144 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::Self = PointSetToPointSetMetricv4 |
Standard class type aliases.
Definition at line 75 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::Superclass = PointSetToPointSetMetricWithIndexv4<TFixedPointSet, TMovingPointSet, TInternalComputationValueType> |
Definition at line 76 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualImageType = typename Superclass::VirtualImageType |
Types for the virtual domain
Definition at line 159 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualOriginType = typename Superclass::VirtualPointType |
Definition at line 165 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualRadiusType = typename Superclass::VirtualSizeType |
Definition at line 168 of file itkPointSetToPointSetMetricv4.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
virtual |
Calculates the local derivative for a single point. The default implementation calls GetLocalNeighborhoodValueAndDerivative. The PixelType
may or may not be used. See class description for further explanation. Default implementation calls GetLocalNeighborhoodValueAndDerivative.
|
inlineoverrideprivatevirtual |
Function to be defined in the appropriate derived classes. Calculates the local metric value for a single point. The PixelType
may or may not be used. See class description for further explanation. Default implementation calls GetLocalNeighborhoodValueAndDerivative.
Reimplemented from itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double >.
Definition at line 216 of file itkPointSetToPointSetMetricv4.h.
References itk::point().
|
pure virtual |
Function to be defined in the appropriate derived classes. Calculates the local metric value for a single point. The PixelType
may or may not be used. See class description for further explanation.
Implemented in itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, and itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet, TInternalComputationValueType >.
|
pure virtual |
Calculates the local value/derivative for a single point. The PixelType
may or may not be used. See class description for further explanation.
Implemented in itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, and itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet, TInternalComputationValueType >.
|
inlineoverrideprivatevirtual |
Function to be defined in the appropriate derived classes. Calculates the local metric value for a single point. The PixelType
may or may not be used. See class description for further explanation.
Implements itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double >.
Definition at line 224 of file itkPointSetToPointSetMetricv4.h.
References itk::point().
|
inlineoverrideprivatevirtual |
Function to be defined in the appropriate derived classes. Calculates the local metric value for a single point. The PixelType
may or may not be used. See class description for further explanation.
Implements itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double >.
Definition at line 208 of file itkPointSetToPointSetMetricv4.h.
References itk::point().
|
overridevirtual |
Reimplemented from itk::Object.
|
staticconstexpr |
Definition at line 123 of file itkPointSetToPointSetMetricv4.h.
|
staticconstexpr |
Definition at line 131 of file itkPointSetToPointSetMetricv4.h.
|
staticconstexpr |
typedefs for the data types used in the point set metric calculations. It is assumed that the constants of the fixed point set, such as the point dimension, are the same for the "common space" in which the metric calculation occurs.
Definition at line 139 of file itkPointSetToPointSetMetricv4.h.