ITK
5.0.0
Insight Segmentation and Registration 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 IdenityTransform 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 LabelType
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 virutal domain.
Definition at line 71 of file itkPointSetToPointSetMetricv4.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordRepType = typename PointType::CoordRepType |
using | DerivativeType = typename Superclass::DerivativeType |
using | DerivativeValueType = typename DerivativeType::ValueType |
using | DimensionType = typename Superclass::DimensionType |
using | DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType |
using | FixedInputPointType = typename Superclass::FixedInputPointType |
using | FixedOutputPointType = typename Superclass::FixedOutputPointType |
using | FixedPixelType = typename TFixedPointSet::PixelType |
using | FixedPointsContainer = typename TFixedPointSet::PointsContainer |
using | FixedPointSetType = TFixedPointSet |
using | FixedPointType = typename TFixedPointSet::PointType |
using | FixedTransformedPointSetType = PointSet< FixedPixelType, Self::PointDimension > |
using | FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType |
using | FixedTransformParametersType = typename Superclass::FixedTransformParametersType |
using | FixedTransformPointer = typename Superclass::FixedTransformPointer |
using | FixedTransformType = typename Superclass::FixedTransformType |
using | JacobianType = typename Superclass::JacobianType |
using | LocalDerivativeType = FixedArray< DerivativeValueType, Self::PointDimension > |
using | MeasureType = typename Superclass::MeasureType |
using | MovingInputPointType = typename Superclass::MovingInputPointType |
using | MovingOutputPointType = typename Superclass::MovingOutputPointType |
using | MovingPixelType = typename TMovingPointSet::PixelType |
using | MovingPointsContainer = typename TMovingPointSet::PointsContainer |
using | MovingPointSetType = TMovingPointSet |
using | MovingPointType = typename TMovingPointSet::PointType |
using | MovingTransformedPointSetType = PointSet< MovingPixelType, Self::PointDimension > |
using | MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType |
using | MovingTransformParametersType = typename Superclass::MovingTransformParametersType |
using | MovingTransformPointer = typename Superclass::MovingTransformPointer |
using | MovingTransformType = typename Superclass::MovingTransformType |
using | NeighborsIdentifierType = typename PointsLocatorType::NeighborsIdentifierType |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | ObjectType = typename Superclass::ObjectType |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | PixelType = FixedPixelType |
using | Pointer = SmartPointer< Self > |
using | PointIdentifier = typename PointsContainer::ElementIdentifier |
using | PointsConstIterator = typename PointsContainer::ConstIterator |
using | PointsContainer = FixedPointsContainer |
using | PointsLocatorType = PointsLocator< PointsContainer > |
using | PointType = FixedPointType |
using | Self = PointSetToPointSetMetricv4 |
using | Superclass = ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >, TInternalComputationValueType > |
using | VirtualDirectionType = typename Superclass::VirtualDirectionType |
using | VirtualImagePointer = typename Superclass::VirtualImagePointer |
using | VirtualImageType = typename Superclass::VirtualImageType |
using | VirtualIndexType = typename Superclass::VirtualIndexType |
using | VirtualOriginType = typename Superclass::VirtualPointType |
using | VirtualPixelType = typename Superclass::VirtualPixelType |
using | VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer |
using | VirtualPointSetType = typename Superclass::VirtualPointSetType |
using | VirtualPointType = typename Superclass::VirtualPointType |
using | VirtualRadiusType = typename Superclass::VirtualSizeType |
using | VirtualRegionType = typename Superclass::VirtualRegionType |
using | VirtualSizeType = typename Superclass::VirtualSizeType |
using | VirtualSpacingType = typename Superclass::VirtualSpacingType |
Public Types inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >, TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordinateRepresentationType = TInternalComputationValueType |
using | DerivativeType = typename Superclass::DerivativeType |
using | DerivativeValueType = typename Superclass::DerivativeValueType |
using | DimensionType = SizeValueType |
using | FixedInputPointType = typename FixedTransformType::InputPointType |
using | FixedOutputPointType = typename FixedTransformType::OutputPointType |
using | FixedTransformJacobianType = typename FixedTransformType::JacobianType |
using | FixedTransformParametersType = typename FixedTransformType::ParametersType |
using | FixedTransformPointer = typename FixedTransformType::Pointer |
using | FixedTransformType = Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TFixedDimension > |
using | GradientSourceType = typename Superclass::GradientSourceType |
using | InternalComputationValueType = TInternalComputationValueType |
using | JacobianType = typename FixedTransformType::JacobianType |
using | MeasureType = typename Superclass::MeasureType |
using | MetricCategoryType = typename Superclass::MetricCategoryType |
using | MovingDisplacementFieldTransformType = DisplacementFieldTransform< CoordinateRepresentationType, Self::MovingDimension > |
using | MovingInputPointType = typename MovingTransformType::InputPointType |
using | MovingOutputPointType = typename MovingTransformType::OutputPointType |
using | MovingTransformJacobianType = typename MovingTransformType::JacobianType |
using | MovingTransformParametersType = typename MovingTransformType::ParametersType |
using | MovingTransformPointer = typename MovingTransformType::Pointer |
using | MovingTransformType = Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TMovingDimension > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | ObjectType = typename Superclass::Object |
using | ParametersType = typename Superclass::ParametersType |
using | Pointer = SmartPointer< Self > |
using | Self = ObjectToObjectMetric |
using | Superclass = ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > |
using | VirtualDirectionType = typename VirtualImageType::DirectionType |
using | VirtualImageConstPointer = typename VirtualImageType::ConstPointer |
using | VirtualImagePointer = typename VirtualImageType::Pointer |
using | VirtualImageType = Image< TInternalComputationValueType, TFixedPointSet::PointDimension > |
using | VirtualIndexType = typename VirtualImageType::IndexType |
using | VirtualOriginType = typename VirtualImageType::PointType |
using | VirtualPixelType = typename VirtualImageType::PixelType |
using | VirtualPointSetPointer = typename VirtualPointSetType::Pointer |
using | VirtualPointSetType = PointSet< VirtualPixelType, Self::VirtualDimension > |
using | VirtualPointType = typename VirtualImageType::PointType |
using | VirtualRadiusType = typename VirtualImageType::SizeType |
using | VirtualRegionType = typename VirtualImageType::RegionType |
using | VirtualSizeType = typename VirtualRegionType::SizeType |
using | VirtualSpacingType = typename VirtualImageType::SpacingType |
Public Types inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordinateRepresentationType = TInternalComputationValueType |
using | DerivativeType = typename Superclass::DerivativeType |
using | DerivativeValueType = typename DerivativeType::ValueType |
enum | GradientSourceType { GRADIENT_SOURCE_FIXED =0, GRADIENT_SOURCE_MOVING, GRADIENT_SOURCE_BOTH } |
using | MeasureType = typename Superclass::MeasureType |
enum | MetricCategoryType { UNKNOWN_METRIC = 0, OBJECT_METRIC = 1, IMAGE_METRIC = 2, POINT_SET_METRIC = 3, MULTI_METRIC = 4 } |
using | NumberOfParametersType = unsigned int |
using | ObjectConstPointer = typename ObjectType::ConstPointer |
using | ObjectType = Object |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = TInternalComputationValueType |
using | Pointer = SmartPointer< Self > |
using | Self = ObjectToObjectMetricBaseTemplate |
using | Superclass = SingleValuedCostFunctionv4Template< TInternalComputationValueType > |
Public Types inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< TInternalComputationValueType > |
using | MeasureType = TInternalComputationValueType |
using | ParametersType = typename Superclass::ParametersType |
using | Pointer = SmartPointer< Self > |
using | Self = SingleValuedCostFunctionv4Template |
using | Superclass = CostFunctionTemplate< TInternalComputationValueType > |
Public Types inherited from itk::CostFunctionTemplate< TInternalComputationValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | ParametersType = OptimizerParameters< TInternalComputationValueType > |
using | ParametersValueType = TInternalComputationValueType |
using | Pointer = SmartPointer< Self > |
using | Self = CostFunctionTemplate |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Attributes | |
static constexpr DimensionType | FixedPointDimension = Superclass::FixedDimension |
static constexpr DimensionType | MovingPointDimension = Superclass::MovingDimension |
static constexpr DimensionType | PointDimension = Superclass::FixedDimension |
Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >, TInternalComputationValueType > | |
static constexpr DimensionType | FixedDimension |
static constexpr DimensionType | MovingDimension |
static constexpr DimensionType | VirtualDimension |
Protected Types | |
using | MetricCategoryType = typename Superclass::MetricCategoryType |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 85 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::CoordRepType = typename PointType::CoordRepType |
Definition at line 151 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::DerivativeType = typename Superclass::DerivativeType |
Type of the derivative.
Definition at line 99 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::DerivativeValueType = typename DerivativeType::ValueType |
Definition at line 163 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::DimensionType = typename Superclass::DimensionType |
Dimension type
Definition at line 123 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::DisplacementFieldTransformType = typename Superclass::MovingDisplacementFieldTransformType |
Definition at line 118 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedInputPointType = typename Superclass::FixedInputPointType |
Definition at line 104 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedOutputPointType = typename Superclass::FixedOutputPointType |
Definition at line 105 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPixelType = typename TFixedPointSet::PixelType |
Definition at line 128 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPointsContainer = typename TFixedPointSet::PointsContainer |
Definition at line 129 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPointSetType = TFixedPointSet |
Type of the fixed point set.
Definition at line 126 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedPointType = typename TFixedPointSet::PointType |
Definition at line 127 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedTransformedPointSetType = PointSet<FixedPixelType, Self::PointDimension > |
Definition at line 160 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedTransformJacobianType = typename Superclass::FixedTransformJacobianType |
Definition at line 115 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedTransformParametersType = typename Superclass::FixedTransformParametersType |
Definition at line 106 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedTransformPointer = typename Superclass::FixedTransformPointer |
Definition at line 103 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::FixedTransformType = typename Superclass::FixedTransformType |
Transform types from Superclass
Definition at line 102 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::JacobianType = typename Superclass::JacobianType |
Definition at line 114 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::LocalDerivativeType = FixedArray<DerivativeValueType, Self::PointDimension > |
Definition at line 164 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MeasureType = typename Superclass::MeasureType |
Type of the measure.
Definition at line 91 of file itkPointSetToPointSetMetricv4.h.
|
protected |
Definition at line 413 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingInputPointType = typename Superclass::MovingInputPointType |
Definition at line 110 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingOutputPointType = typename Superclass::MovingOutputPointType |
Definition at line 111 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPixelType = typename TMovingPointSet::PixelType |
Definition at line 136 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPointsContainer = typename TMovingPointSet::PointsContainer |
Definition at line 137 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPointSetType = TMovingPointSet |
Type of the moving point set.
Definition at line 134 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingPointType = typename TMovingPointSet::PointType |
Definition at line 135 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingTransformedPointSetType = PointSet<MovingPixelType, Self::PointDimension > |
Definition at line 161 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingTransformJacobianType = typename Superclass::MovingTransformJacobianType |
Definition at line 116 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingTransformParametersType = typename Superclass::MovingTransformParametersType |
Definition at line 112 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingTransformPointer = typename Superclass::MovingTransformPointer |
Definition at line 109 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::MovingTransformType = typename Superclass::MovingTransformType |
Definition at line 108 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::NeighborsIdentifierType = typename PointsLocatorType::NeighborsIdentifierType |
Definition at line 158 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
Definition at line 96 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::ObjectType = typename Superclass::ObjectType |
Definition at line 120 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::ParametersType = typename Superclass::ParametersType |
Type of the parameters.
Definition at line 94 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::ParametersValueType = typename Superclass::ParametersValueType |
Definition at line 95 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PixelType = FixedPixelType |
Definition at line 150 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::Pointer = SmartPointer<Self> |
Definition at line 84 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointIdentifier = typename PointsContainer::ElementIdentifier |
Definition at line 154 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointsConstIterator = typename PointsContainer::ConstIterator |
Definition at line 153 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointsContainer = FixedPointsContainer |
Definition at line 152 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointsLocatorType = PointsLocator< PointsContainer> |
Typedef for points locator class to speed up finding neighboring points
Definition at line 157 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::PointType = FixedPointType |
Definition at line 149 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::Self = PointSetToPointSetMetricv4 |
Standard class type aliases.
Definition at line 79 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::Superclass = ObjectToObjectMetric<TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image<TInternalComputationValueType, TFixedPointSet::PointDimension>, TInternalComputationValueType> |
Definition at line 83 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualDirectionType = typename Superclass::VirtualDirectionType |
Definition at line 175 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualImagePointer = typename Superclass::VirtualImagePointer |
Definition at line 168 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualImageType = typename Superclass::VirtualImageType |
Types for the virtual domain
Definition at line 167 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualIndexType = typename Superclass::VirtualIndexType |
Definition at line 177 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualOriginType = typename Superclass::VirtualPointType |
Definition at line 173 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualPixelType = typename Superclass::VirtualPixelType |
Definition at line 169 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualPointSetPointer = typename Superclass::VirtualPointSetPointer |
Definition at line 179 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualPointSetType = typename Superclass::VirtualPointSetType |
Definition at line 178 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualPointType = typename Superclass::VirtualPointType |
Definition at line 174 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualRadiusType = typename Superclass::VirtualSizeType |
Definition at line 176 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualRegionType = typename Superclass::VirtualRegionType |
Definition at line 170 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualSizeType = typename Superclass::VirtualSizeType |
Definition at line 171 of file itkPointSetToPointSetMetricv4.h.
using itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::VirtualSpacingType = typename Superclass::VirtualSpacingType |
Definition at line 172 of file itkPointSetToPointSetMetricv4.h.
|
protected |
|
overrideprotecteddefault |
|
protectedvirtual |
Determine the number of valid fixed points. A fixed point is valid if, when transformed into the virtual domain using the inverse of the FixedTransform, it is within the defined virtual domain bounds.
|
protected |
Helper method allows for code reuse while skipping the metric value calculation when appropriate
|
virtual |
|
virtual |
|
virtual |
|
overridevirtual |
This method returns the derivative based on the current transformation(s). This function can be redefined in derived classes but many point set metrics follow the same structure—one iterates through the points and, for each point a derivative is calculated. The set of all these local derivatives constitutes the total derivative. Note that this might not be applicable to all point set metrics. For those cases, the developer will have to redefine the GetDerivative() function.
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
|
virtual |
Get/Set the fixed pointset.
|
virtual |
|
virtual |
Calculates the local derivative for a single point. The PixelType
may or may not be used. See class description for further explanation.
|
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.
|
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.
|
inlineoverrideprotectedvirtual |
Get metric category
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Definition at line 416 of file itkPointSetToPointSetMetricv4.h.
|
virtual |
Get the fixed transformed point set.
|
virtual |
Get the moving transformed point set.
|
virtual |
Get/Set the moving point set.
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet, TInternalComputationValueType >, itk::LabeledPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, and itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >.
SizeValueType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::GetNumberOfComponents | ( | ) | const |
For now return the number of points used in the value/derivative calculations.
|
virtual |
By default, the point set metric derivative for a displacement field transform is stored by saving the gradient for every voxel in the displacement field (see the function StorePointDerivative()). Since the "fixed points" will typically constitute a sparse set, this means that the field will have zero gradient values at every voxel that doesn't have a corresponding point. This might cause additional computation time for certain transforms (e.g. B-spline SyN). To avoid this, this option permits storing the point derivative only at the fixed point locations. If this variable is set to false, then the derivative array will be of length = PointDimension * m_FixedPointSet->GetNumberOfPoints().
|
overridevirtual |
This method returns the value of the metric based on the current transformation(s). This function can be redefined in derived classes but many point set metrics follow the same structure—one iterates through the points and, for each point a metric value is calculated. The summation of these individual point metric values gives the total value of the metric. Note that this might not be applicable to all point set metrics. For those cases, the developer will have to redefine the GetValue() function.
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
|
overridevirtual |
This method returns the derivative and value based on the current transformation(s). This function can be redefined in derived classes but many point set metrics follow the same structure—one iterates through the points and, for each point a derivative and value is calculated. The set of all these local derivatives/values constitutes the total derivative and value. Note that this might not be applicable to all point set metrics. For those cases, the developer will have to redefine the GetValue() and GetDerivative() functions.
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
const VirtualPointSetType* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >::GetVirtualTransformedPointSet | ( | ) | const |
Get the virtual point set, derived from the fixed point set. If the virtual point set has not yet been derived, it will be in this call.
|
overridevirtual |
Initialize the metric by making sure that all the components are present and plugged together correctly.
Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
|
protectedvirtual |
Initialize to prepare for a particular iteration, generally an iteration of optimization. Distinct from Initialize() which is a one-time initialization.
|
protectedvirtual |
Prepare point sets for use.
|
protected |
Build point locators for the fixed and moving point sets to speed up derivative and value calculations.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
|
virtual |
|
inlineoverridevirtual |
Set fixed point set
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Definition at line 182 of file itkPointSetToPointSetMetricv4.h.
|
virtual |
Get/Set the fixed pointset.
|
inlineoverridevirtual |
Set moving point set
Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.
Definition at line 197 of file itkPointSetToPointSetMetricv4.h.
|
virtual |
Get/Set the moving point set.
|
virtual |
By default, the point set metric derivative for a displacement field transform is stored by saving the gradient for every voxel in the displacement field (see the function StorePointDerivative()). Since the "fixed points" will typically constitute a sparse set, this means that the field will have zero gradient values at every voxel that doesn't have a corresponding point. This might cause additional computation time for certain transforms (e.g. B-spline SyN). To avoid this, this option permits storing the point derivative only at the fixed point locations. If this variable is set to false, then the derivative array will be of length = PointDimension * m_FixedPointSet->GetNumberOfPoints().
|
virtual |
By default, the point set metric derivative for a displacement field transform is stored by saving the gradient for every voxel in the displacement field (see the function StorePointDerivative()). Since the "fixed points" will typically constitute a sparse set, this means that the field will have zero gradient values at every voxel that doesn't have a corresponding point. This might cause additional computation time for certain transforms (e.g. B-spline SyN). To avoid this, this option permits storing the point derivative only at the fixed point locations. If this variable is set to false, then the derivative array will be of length = PointDimension * m_FixedPointSet->GetNumberOfPoints().
|
virtual |
By default, the point set metric derivative for a displacement field transform is stored by saving the gradient for every voxel in the displacement field (see the function StorePointDerivative()). Since the "fixed points" will typically constitute a sparse set, this means that the field will have zero gradient values at every voxel that doesn't have a corresponding point. This might cause additional computation time for certain transforms (e.g. B-spline SyN). To avoid this, this option permits storing the point derivative only at the fixed point locations. If this variable is set to false, then the derivative array will be of length = PointDimension * m_FixedPointSet->GetNumberOfPoints().
|
protected |
Store a derivative from a single point in a field. Only relevant when active transform has local support.
|
inlineoverridevirtual |
Returns a flag. True if arbitrary virtual domain points will always correspond to data points. False if not. For example, point-set metrics return false because only some virtual domain points will correspond to points within the point sets.
Definition at line 300 of file itkPointSetToPointSetMetricv4.h.
|
protected |
Warp the fixed point set into the moving domain based on the fixed transform, passing through the virtual domain and storing a virtual domain set. Note that the warped moving point set is of type FixedPointSetType since the transform takes the points from the fixed to the moving domain.
|
protected |
Warp the moving point set based on the moving transform. Note that the warped moving point set is of type FixedPointSetType since the transform takes the points from the moving to the fixed domain. FIXME: needs update.
|
static |
Definition at line 131 of file itkPointSetToPointSetMetricv4.h.
|
protected |
Flag to calculate value and/or derivative at tangent space. This is needed for the diffeomorphic registration methods. The fixed and moving points are warped to the virtual domain where the metric is calculated. Derived point set metrics might have associated gradient information which will need to be warped if this flag is true. Default = false.
Definition at line 362 of file itkPointSetToPointSetMetricv4.h.
|
protected |
Definition at line 336 of file itkPointSetToPointSetMetricv4.h.
|
mutableprotected |
Definition at line 337 of file itkPointSetToPointSetMetricv4.h.
|
mutableprivate |
Definition at line 435 of file itkPointSetToPointSetMetricv4.h.
|
mutableprotected |
Definition at line 339 of file itkPointSetToPointSetMetricv4.h.
|
mutableprivate |
Definition at line 424 of file itkPointSetToPointSetMetricv4.h.
|
mutableprivate |
Definition at line 428 of file itkPointSetToPointSetMetricv4.h.
|
protected |
Definition at line 341 of file itkPointSetToPointSetMetricv4.h.
|
mutableprotected |
Definition at line 342 of file itkPointSetToPointSetMetricv4.h.
|
mutableprivate |
Definition at line 434 of file itkPointSetToPointSetMetricv4.h.
|
mutableprotected |
Definition at line 344 of file itkPointSetToPointSetMetricv4.h.
|
mutableprivate |
Definition at line 423 of file itkPointSetToPointSetMetricv4.h.
|
private |
Definition at line 432 of file itkPointSetToPointSetMetricv4.h.
|
protected |
Bool set by derived classes on whether the point set data (i.e. PixelType
) should be used. Default = false.
Definition at line 353 of file itkPointSetToPointSetMetricv4.h.
|
mutableprotected |
Holds the fixed points after transformation into virtual domain.
Definition at line 347 of file itkPointSetToPointSetMetricv4.h.
|
static |
Definition at line 139 of file itkPointSetToPointSetMetricv4.h.
|
static |
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 147 of file itkPointSetToPointSetMetricv4.h.