ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet > Class Template Reference

#include <itkPointSetToPointSetMetricv4.h>

+ Inheritance diagram for itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >:
+ Collaboration diagram for itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef PointType::CoordRepType CoordRepType
typedef Superclass::DerivativeType DerivativeType
typedef DerivativeType::ValueType DerivativeValueType
typedef Superclass::DimensionType DimensionType
typedef
Superclass::FixedInputPointType 
FixedInputPointType
typedef
Superclass::FixedOutputPointType 
FixedOutputPointType
typedef TFixedPointSet::PixelType FixedPixelType
typedef
TFixedPointSet::PointsContainer 
FixedPointsContainer
typedef TFixedPointSet FixedPointSetType
typedef TFixedPointSet::PointType FixedPointType
typedef PointSet
< FixedPixelType,
itkGetStaticConstMacro(PointDimension)> 
FixedTransformedPointSetType
typedef
Superclass::FixedTransformJacobianType 
FixedTransformJacobianType
typedef
Superclass::FixedTransformParametersType 
FixedTransformParametersType
typedef
Superclass::FixedTransformPointer 
FixedTransformPointer
typedef
Superclass::FixedTransformType 
FixedTransformType
typedef Superclass::JacobianType JacobianType
typedef FixedArray
< DerivativeValueType,
itkGetStaticConstMacro(PointDimension)> 
LocalDerivativeType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingInputPointType 
MovingInputPointType
typedef
Superclass::MovingOutputPointType 
MovingOutputPointType
typedef TMovingPointSet::PixelType MovingPixelType
typedef
TMovingPointSet::PointsContainer 
MovingPointsContainer
typedef TMovingPointSet MovingPointSetType
typedef TMovingPointSet::PointType MovingPointType
typedef PointSet
< MovingPixelType,
itkGetStaticConstMacro(PointDimension)> 
MovingTransformedPointSetType
typedef
Superclass::MovingTransformJacobianType 
MovingTransformJacobianType
typedef
Superclass::MovingTransformParametersType 
MovingTransformParametersType
typedef
Superclass::MovingTransformPointer 
MovingTransformPointer
typedef
Superclass::MovingTransformType 
MovingTransformType
typedef
PointsLocatorType::NeighborsIdentifierType 
NeighborsIdentifierType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef
PointsContainer::ElementIdentifier 
PointIdentifier
typedef
PointsContainer::ConstIterator 
PointsConstIterator
typedef FixedPointsContainer PointsContainer
typedef PointsLocator
< PointIdentifier,
itkGetStaticConstMacro(PointDimension),
CoordRepType, PointsContainer
PointsLocatorType
typedef FixedPointType PointType
typedef PointSetToPointSetMetricv4 Self
typedef ObjectToObjectMetric
< TFixedPointSet::PointDimension,
TMovingPointSet::PointDimension > 
Superclass
typedef
Superclass::VirtualDirectionType 
VirtualDirectionType
typedef
Superclass::VirtualImagePointer 
VirtualImagePointer
typedef
Superclass::VirtualImageType 
VirtualImageType
typedef
Superclass::VirtualIndexType 
VirtualIndexType
typedef
Superclass::VirtualPointType 
VirtualOriginType
typedef
Superclass::VirtualPixelType 
VirtualPixelType
typedef
Superclass::VirtualPointSetPointer 
VirtualPointSetPointer
typedef
Superclass::VirtualPointSetType 
VirtualPointSetType
typedef
Superclass::VirtualPointType 
VirtualPointType
typedef Superclass::VirtualSizeType VirtualRadiusType
typedef
Superclass::VirtualRegionType 
VirtualRegionType
typedef Superclass::VirtualSizeType VirtualSizeType
typedef
Superclass::VirtualSpacingType 
VirtualSpacingType
- Public Types inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef
Superclass::InternalComputationValueType 
InternalComputationValueType
typedef
DisplacementFieldTransform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingDimension) > 
MovingDisplacementFieldTransformType
typedef
VirtualImageType::ConstPointer 
VirtualImageConstPointer
- Public Types inherited from itk::ObjectToObjectMetricBase
enum  GradientSourceType {
  GRADIENT_SOURCE_FIXED = 0,
  GRADIENT_SOURCE_MOVING,
  GRADIENT_SOURCE_BOTH
}
- Public Types inherited from itk::SingleValuedCostFunctionv4
- Public Types inherited from itk::CostFunction
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

virtual void GetDerivative (DerivativeType &) const
virtual const FixedPointSetTypeGetFixedPointSet ()
virtual const
FixedTransformedPointSetType
GetFixedTransformedPointSet ()
virtual LocalDerivativeType GetLocalNeighborhoodDerivative (const PointType &) const
virtual MeasureType GetLocalNeighborhoodValue (const PointType &) const =0
virtual void GetLocalNeighborhoodValueAndDerivative (const PointType &, MeasureType &, LocalDerivativeType &) const =0
virtual const MovingPointSetTypeGetMovingPointSet ()
virtual const
MovingTransformedPointSetType
GetMovingTransformedPointSet ()
virtual const char * GetNameOfClass () const
SizeValueType GetNumberOfComponents () const
virtual MeasureType GetValue () const
virtual void GetValueAndDerivative (MeasureType &, DerivativeType &) const
const VirtualPointSetTypeGetVirtualTransformedPointSet ()
virtual void Initialize (void) throw ( ExceptionObject )
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
virtual void SetMovingPointSet (MovingPointSetType *_arg)
virtual bool SupportsArbitraryVirtualDomainSamples (void) const
- Public Member Functions inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
OffsetValueType ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
OffsetValueType ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
virtual const FixedTransformTypeGetFixedTransform ()
virtual const MovingTransformTypeGetMovingTransform ()
virtual NumberOfParametersType GetNumberOfLocalParameters () const
virtual NumberOfParametersType GetNumberOfParameters () const
virtual SizeValueType GetNumberOfValidPoints () const
virtual const ParametersTypeGetParameters () const
const MovingTransformTypeGetTransform ()
VirtualDirectionType GetVirtualDirection (void) const
virtual const TimeStampGetVirtualDomainTimeStamp (void) const
virtual const VirtualImageTypeGetVirtualImage ()
VirtualOriginType GetVirtualOrigin (void) const
const VirtualRegionTypeGetVirtualRegion (void) const
VirtualSpacingType GetVirtualSpacing (void) const
virtual bool HasLocalSupport () const
virtual void SetFixedTransform (FixedTransformType *_arg)
virtual void SetMovingTransform (MovingTransformType *_arg)
virtual void SetParameters (ParametersType &params)
void SetTransform (MovingTransformType *transform)
void SetVirtualDomain (const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType &region)
virtual void UpdateTransformParameters (const DerivativeType &derivative, ParametersValueType factor)
void SetVirtualDomainFromImage (VirtualImageType *virtualImage)
void SetVirtualDomainFromImage (const VirtualImageType *virtualImage)
bool IsInsideVirtualDomain (const VirtualPointType &point) const
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
- Public Member Functions inherited from itk::ObjectToObjectMetricBase
MeasureType GetCurrentValue () const
virtual GradientSourceType GetGradientSource () const
bool GetGradientSourceIncludesFixed () const
bool GetGradientSourceIncludesMoving () const
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0
virtual void SetGradientSource (GradientSourceType _arg)
- Public Member Functions inherited from itk::SingleValuedCostFunctionv4
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0

Static Public Attributes

static const DimensionType FixedPointDimension = Superclass::FixedDimension
static const DimensionType MovingPointDimension = Superclass::MovingDimension
static const DimensionType PointDimension = Superclass::FixedDimension
- Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
static const DimensionType FixedDimension
static const DimensionType MovingDimension
static const DimensionType VirtualDimension

Protected Member Functions

virtual SizeValueType CalculateNumberOfValidFixedPoints (void) const
void CalculateValueAndDerivative (MeasureType &value, DerivativeType &derivative, bool calculateValue) const
virtual void InitializeForIteration (void) const
virtual void InitializePointSets (void) const
void InitializePointsLocators () const
 PointSetToPointSetMetricv4 ()
void PrintSelf (std::ostream &os, Indent indent) const
void StorePointDerivative (const VirtualPointType &, const DerivativeType &, DerivativeType &) const
void TransformFixedAndCreateVirtualPointSet () const
void TransformMovingPointSet () const
virtual ~PointSetToPointSetMetricv4 ()
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
MovingDisplacementFieldTransformTypeGetMovingDisplacementFieldTransform () const
 ObjectToObjectMetric ()
bool TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const
void TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace ()
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
virtual ~ObjectToObjectMetric ()
- Protected Member Functions inherited from itk::ObjectToObjectMetricBase
 ObjectToObjectMetricBase ()
virtual ~ObjectToObjectMetricBase ()
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4
 SingleValuedCostFunctionv4 ()
virtual ~SingleValuedCostFunctionv4 ()
- Protected Member Functions inherited from itk::CostFunction
 CostFunction ()
virtual ~CostFunction ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Protected Attributes

FixedPointSetType::ConstPointer m_FixedPointSet
FixedTransformedPointSetType::Pointer m_FixedTransformedPointSet
PointsLocatorType::Pointer m_FixedTransformedPointsLocator
MovingPointSetType::ConstPointer m_MovingPointSet
MovingTransformedPointSetType::Pointer m_MovingTransformedPointSet
PointsLocatorType::Pointer m_MovingTransformedPointsLocator
VirtualPointSetPointer m_VirtualTransformedPointSet
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >
FixedTransformPointer m_FixedTransform
MovingTransformPointer m_MovingTransform
SizeValueType m_NumberOfValidPoints
bool m_UserHasSetVirtualDomain
VirtualImagePointer m_VirtualImage
- Protected Attributes inherited from itk::ObjectToObjectMetricBase
GradientSourceType m_GradientSource
MeasureType m_Value

Private Member Functions

void operator= (const Self &)
 PointSetToPointSetMetricv4 (const Self &)

Private Attributes

unsigned long m_FixedTransformedPointSetTime
bool m_FixedTransformPointLocatorsNeedInitialization
bool m_HaveWarnedAboutNumberOfValidPoints
unsigned long m_MovingTransformedPointSetTime
bool m_MovingTransformPointLocatorsNeedInitialization

Detailed Description

template<class TFixedPointSet, class TMovingPointSet>
class itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >

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.

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.

Note:
When used with an RegistrationParameterScalesEstimator estimator, a VirtualDomainPointSet must be defined and assigned to the estimator, for use in shift estimation. The virtual domain point set can be retrieved from the metric using the GetVirtualTransformedPointSet() method.

Definition at line 64 of file itkPointSetToPointSetMetricv4.h.


Member Typedef Documentation

template<class TFixedPointSet, class TMovingPointSet>
typedef SmartPointer<const Self> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::ConstPointer
template<class TFixedPointSet, class TMovingPointSet>
typedef PointType::CoordRepType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::CoordRepType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::DerivativeType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::DerivativeType
template<class TFixedPointSet, class TMovingPointSet>
typedef DerivativeType::ValueType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::DerivativeValueType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::DimensionType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::DimensionType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::FixedInputPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedInputPointType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::FixedOutputPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedOutputPointType
template<class TFixedPointSet, class TMovingPointSet>
typedef TFixedPointSet::PixelType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedPixelType

Definition at line 112 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef TFixedPointSet::PointsContainer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedPointsContainer

Definition at line 113 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef TFixedPointSet itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedPointSetType

Type of the fixed point set.

Definition at line 110 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef TFixedPointSet::PointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedPointType

Definition at line 111 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef PointSet<FixedPixelType, itkGetStaticConstMacro( PointDimension )> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedTransformedPointSetType

Definition at line 143 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::FixedTransformJacobianType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedTransformJacobianType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::FixedTransformParametersType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedTransformParametersType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::FixedTransformPointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedTransformPointer
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::FixedTransformType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedTransformType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::JacobianType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::JacobianType
template<class TFixedPointSet, class TMovingPointSet>
typedef FixedArray<DerivativeValueType, itkGetStaticConstMacro( PointDimension )> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::LocalDerivativeType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MeasureType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MeasureType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MovingInputPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingInputPointType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MovingOutputPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingOutputPointType
template<class TFixedPointSet, class TMovingPointSet>
typedef TMovingPointSet::PixelType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingPixelType

Definition at line 120 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef TMovingPointSet::PointsContainer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingPointsContainer

Definition at line 121 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef TMovingPointSet itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingPointSetType

Type of the moving point set.

Definition at line 118 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef TMovingPointSet::PointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingPointType

Definition at line 119 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef PointSet<MovingPixelType, itkGetStaticConstMacro( PointDimension )> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingTransformedPointSetType

Definition at line 144 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MovingTransformJacobianType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingTransformJacobianType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MovingTransformParametersType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingTransformParametersType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MovingTransformPointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingTransformPointer
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::MovingTransformType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingTransformType
template<class TFixedPointSet, class TMovingPointSet>
typedef PointsLocatorType::NeighborsIdentifierType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::NeighborsIdentifierType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::NumberOfParametersType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::NumberOfParametersType

Type to represent the number of parameters that are being optimized at any given iteration of the optimizer.

Reimplemented from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >.

Reimplemented in itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet >.

Definition at line 84 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::ParametersType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::ParametersType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::ParametersValueType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::ParametersValueType

ParametersType typedef. It defines a position in the optimization search space.

Reimplemented from itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >.

Definition at line 83 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef SmartPointer<Self> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Pointer
template<class TFixedPointSet, class TMovingPointSet>
typedef PointsContainer::ElementIdentifier itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointIdentifier
template<class TFixedPointSet, class TMovingPointSet>
typedef PointsContainer::ConstIterator itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointsConstIterator

Definition at line 136 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef FixedPointsContainer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointsContainer
template<class TFixedPointSet, class TMovingPointSet>
typedef PointsLocator<PointIdentifier, itkGetStaticConstMacro( PointDimension ), CoordRepType, PointsContainer> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointsLocatorType

Typedef for points locator class to speed up finding neighboring points

Definition at line 140 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
typedef FixedPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointType
template<class TFixedPointSet, class TMovingPointSet>
typedef PointSetToPointSetMetricv4 itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Self
template<class TFixedPointSet, class TMovingPointSet>
typedef ObjectToObjectMetric<TFixedPointSet::PointDimension, TMovingPointSet::PointDimension> itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Superclass
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualDirectionType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualDirectionType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualImagePointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualImagePointer
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualImageType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualImageType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualIndexType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualIndexType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualOriginType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualPixelType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualPixelType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualPointSetPointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualPointSetPointer
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualPointSetType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualPointSetType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualPointType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualPointType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualSizeType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualRadiusType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualRegionType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualRegionType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualSizeType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualSizeType
template<class TFixedPointSet, class TMovingPointSet>
typedef Superclass::VirtualSpacingType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::VirtualSpacingType

Constructor & Destructor Documentation

template<class TFixedPointSet, class TMovingPointSet>
itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointSetToPointSetMetricv4 ( )
protected
template<class TFixedPointSet, class TMovingPointSet>
virtual itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::~PointSetToPointSetMetricv4 ( )
protectedvirtual
template<class TFixedPointSet, class TMovingPointSet>
itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointSetToPointSetMetricv4 ( const Self )
private

Member Function Documentation

template<class TFixedPointSet, class TMovingPointSet>
virtual SizeValueType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::CalculateNumberOfValidFixedPoints ( void  ) const
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.

template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::CalculateValueAndDerivative ( MeasureType value,
DerivativeType derivative,
bool  calculateValue 
) const
protected

Helper method allows for code reuse while skipping the metric value calculation when appropriate

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetDerivative ( DerivativeType ) const
virtual

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::ObjectToObjectMetricBase.

template<class TFixedPointSet, class TMovingPointSet>
virtual const FixedPointSetType* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetFixedPointSet ( )
virtual

Get the fixed point set.

template<class TFixedPointSet, class TMovingPointSet>
virtual const FixedTransformedPointSetType* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetFixedTransformedPointSet ( )
virtual

Get the moving transformed point set.

template<class TFixedPointSet, class TMovingPointSet>
virtual LocalDerivativeType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetLocalNeighborhoodDerivative ( const PointType ) const
virtual

Calculates the local derivative for a single point.

template<class TFixedPointSet, class TMovingPointSet>
virtual MeasureType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetLocalNeighborhoodValue ( const PointType ) const
pure virtual

Function to be defined in the appropriate derived classes. Calculates the local metric value for a single point.

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetLocalNeighborhoodValueAndDerivative ( const PointType ,
MeasureType ,
LocalDerivativeType  
) const
pure virtual

Calculates the local value/derivative for a single point.

template<class TFixedPointSet, class TMovingPointSet>
virtual const MovingPointSetType* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetMovingPointSet ( )
virtual

Get the moving point set.

template<class TFixedPointSet, class TMovingPointSet>
virtual const MovingTransformedPointSetType* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetMovingTransformedPointSet ( )
virtual

Get the moving transformed point set.

template<class TFixedPointSet, class TMovingPointSet>
virtual const char* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetNameOfClass ( ) const
virtual
template<class TFixedPointSet, class TMovingPointSet>
SizeValueType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetNumberOfComponents ( ) const

For now return the number of points used in the value/derivative calculations.

template<class TFixedPointSet, class TMovingPointSet>
virtual MeasureType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetValue ( ) const
virtual

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::ObjectToObjectMetricBase.

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetValueAndDerivative ( MeasureType ,
DerivativeType  
) const
virtual

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.

template<class TFixedPointSet, class TMovingPointSet>
const VirtualPointSetType* itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::GetVirtualTransformedPointSet ( )

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.

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::Initialize ( void  ) throw ( ExceptionObject )
virtual
template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::InitializeForIteration ( void  ) const
protectedvirtual

Initialize to prepare for a particular iteration, generally an iteration of optimization. Distinct from Initialize() which is a one-time initialization.

Reimplemented in itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet >.

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::InitializePointSets ( void  ) const
protectedvirtual

Prepare point sets for use.

template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::InitializePointsLocators ( ) const
protected

Build point locators for the fixed and moving point sets to speed up derivative and value calculations.

template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::operator= ( const Self )
private
template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

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::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >.

Reimplemented in itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet >, itk::ExpectationBasedPointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >, and itk::EuclideanDistancePointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >.

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::SetFixedPointSet ( const FixedPointSetType _arg)
virtual

Connect the fixed pointset.

template<class TFixedPointSet, class TMovingPointSet>
virtual void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::SetMovingPointSet ( MovingPointSetType _arg)
virtual

Connect the moving point set.

template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::StorePointDerivative ( const VirtualPointType ,
const DerivativeType ,
DerivativeType  
) const
protected

Store a derivative from a single point in a field. Only relevant when active transform has local support.

template<class TFixedPointSet, class TMovingPointSet>
virtual bool itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::SupportsArbitraryVirtualDomainSamples ( void  ) const
inlinevirtual

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.

Implements itk::ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension >.

Definition at line 252 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::TransformFixedAndCreateVirtualPointSet ( ) const
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.

template<class TFixedPointSet, class TMovingPointSet>
void itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::TransformMovingPointSet ( ) const
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.


Member Data Documentation

template<class TFixedPointSet, class TMovingPointSet>
const DimensionType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::FixedPointDimension = Superclass::FixedDimension
static

Definition at line 115 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
FixedPointSetType::ConstPointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_FixedPointSet
protected

Definition at line 264 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
FixedTransformedPointSetType::Pointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_FixedTransformedPointSet
mutableprotected

Definition at line 265 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
unsigned long itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_FixedTransformedPointSetTime
mutableprivate

Definition at line 338 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
PointsLocatorType::Pointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_FixedTransformedPointsLocator
mutableprotected

Definition at line 267 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
bool itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_FixedTransformPointLocatorsNeedInitialization
mutableprivate

Definition at line 331 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
bool itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_HaveWarnedAboutNumberOfValidPoints
mutableprivate

Definition at line 335 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
MovingPointSetType::ConstPointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_MovingPointSet
protected

Definition at line 269 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
MovingTransformedPointSetType::Pointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_MovingTransformedPointSet
mutableprotected

Definition at line 270 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
unsigned long itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_MovingTransformedPointSetTime
mutableprivate

Definition at line 337 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
PointsLocatorType::Pointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_MovingTransformedPointsLocator
mutableprotected

Definition at line 272 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
bool itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_MovingTransformPointLocatorsNeedInitialization
mutableprivate

Definition at line 330 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
VirtualPointSetPointer itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::m_VirtualTransformedPointSet
mutableprotected

Holds the fixed points after transformation into virtual domain.

Definition at line 275 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
const DimensionType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::MovingPointDimension = Superclass::MovingDimension
static

Definition at line 123 of file itkPointSetToPointSetMetricv4.h.

template<class TFixedPointSet, class TMovingPointSet>
const DimensionType itk::PointSetToPointSetMetricv4< TFixedPointSet, TMovingPointSet >::PointDimension = Superclass::FixedDimension
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.

Reimplemented in itk::JensenHavrdaCharvatTsallisPointSetToPointSetMetricv4< TPointSet >.

Definition at line 131 of file itkPointSetToPointSetMetricv4.h.


The documentation for this class was generated from the following file: