18 #ifndef itkPointSetToPointSetMetricv4_h
19 #define itkPointSetToPointSetMetricv4_h
69 template<
typename TFixedPointSet,
typename TMovingPointSet,
70 class TInternalComputationValueType =
double>
73 Image<TInternalComputationValueType, TFixedPointSet::PointDimension>, TInternalComputationValueType>
80 TMovingPointSet::PointDimension,
184 if( pointSet != ITK_NULLPTR )
190 itkExceptionMacro(
"Incorrect object type. Should be a point set." )
199 if( pointSet != ITK_NULLPTR )
205 itkExceptionMacro(
"Incorrect object type. Should be a point set." )
317 itkSetMacro( StoreDerivativeAsSparseFieldForLocalSupportTransforms,
bool );
318 itkGetConstMacro( StoreDerivativeAsSparseFieldForLocalSupportTransforms,
bool );
319 itkBooleanMacro( StoreDerivativeAsSparseFieldForLocalSupportTransforms );
325 itkSetMacro( CalculateValueAndDerivativeInTangentSpace,
bool );
326 itkGetConstMacro( CalculateValueAndDerivativeInTangentSpace,
bool );
327 itkBooleanMacro( CalculateValueAndDerivativeInTangentSpace );
441 #ifndef ITK_MANUAL_INSTANTIATION
442 #include "itkPointSetToPointSetMetricv4.hxx"
Superclass::ParametersType ParametersType
Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TMovingDimension > MovingTransformType
PointsContainer::ConstIterator PointsConstIterator
Superclass::MeasureType MeasureType
const VirtualPointSetType * GetVirtualTransformedPointSet() const
MovingTransformType::InputPointType MovingInputPointType
Superclass::VirtualImageType VirtualImageType
PointSet< FixedPixelType, itkGetStaticConstMacro(PointDimension)> FixedTransformedPointSetType
MovingPointSetType::ConstPointer m_MovingPointSet
PointsContainer::ElementIdentifier PointIdentifier
PointsLocatorType::NeighborsIdentifierType NeighborsIdentifierType
PointSetToPointSetMetricv4()
virtual void InitializeForIteration() const
Superclass::VirtualSizeType VirtualSizeType
FixedPointSetType::ConstPointer m_FixedPointSet
PointSet< MovingPixelType, itkGetStaticConstMacro(PointDimension)> MovingTransformedPointSetType
VirtualImageType::PixelType VirtualPixelType
ObjectToObjectMetric< TFixedPointSet::PointDimension, TMovingPointSet::PointDimension, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >, TInternalComputationValueType > Superclass
Superclass::FixedTransformParametersType FixedTransformParametersType
Superclass::VirtualPointSetType VirtualPointSetType
virtual void GetValueAndDerivative(MeasureType &, DerivativeType &) const override
virtual bool SupportsArbitraryVirtualDomainSamples(void) const override
MovingTransformType::ParametersType MovingTransformParametersType
Superclass::DimensionType DimensionType
TMovingPointSet MovingPointSetType
SizeValueType GetNumberOfComponents() const
unsigned long ModifiedTimeType
Computes similarity between two point sets.
Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TFixedDimension > FixedTransformType
FixedTransformType::Pointer FixedTransformPointer
Superclass::MovingInputPointType MovingInputPointType
PointsLocator< PointsContainer > PointsLocatorType
TInternalComputationValueType ParametersValueType
bool m_CalculateValueAndDerivativeInTangentSpace
virtual LocalDerivativeType GetLocalNeighborhoodDerivative(const PointType &, const PixelType &pixel) const
PointType::CoordRepType CoordRepType
virtual MetricCategoryType GetMetricCategory() const override
Superclass::MovingOutputPointType MovingOutputPointType
Computes similarity between regions of two objects.
bool m_MovingTransformPointLocatorsNeedInitialization
virtual MeasureType GetValue() const override
Superclass::VirtualPixelType VirtualPixelType
SmartPointer< const Self > ConstPointer
unsigned long SizeValueType
Superclass::DerivativeType DerivativeType
virtual void Initialize(void) override
Superclass::VirtualSpacingType VirtualSpacingType
VirtualPointSetType::Pointer VirtualPointSetPointer
TFixedPointSet::PointsContainer FixedPointsContainer
Superclass::Object ObjectType
FixedTransformType::OutputPointType FixedOutputPointType
VirtualImageType::SpacingType VirtualSpacingType
VirtualImageType::IndexType VirtualIndexType
Simulate a standard C array with copy semnatics.
Superclass::VirtualImagePointer VirtualImagePointer
FixedTransformType::ParametersType FixedTransformParametersType
Superclass::VirtualPointType VirtualPointType
TFixedPointSet FixedPointSetType
VirtualImageType::RegionType VirtualRegionType
VirtualPointSetPointer m_VirtualTransformedPointSet
FixedPointsContainer PointsContainer
void InitializePointsLocators() const
Accelerate geometric searches for points.
PointsLocatorType::Pointer m_MovingTransformedPointsLocator
Superclass::VirtualIndexType VirtualIndexType
FixedArray< DerivativeValueType, itkGetStaticConstMacro(PointDimension)> LocalDerivativeType
FixedTransformType::InputPointType FixedInputPointType
virtual ~PointSetToPointSetMetricv4()
void TransformMovingPointSet() const
bool m_HaveWarnedAboutNumberOfValidPoints
void CalculateValueAndDerivative(MeasureType &value, DerivativeType &derivative, bool calculateValue) const
SmartPointer< Self > Pointer
static const DimensionType FixedPointDimension
virtual SizeValueType CalculateNumberOfValidFixedPoints() const
Superclass::VirtualSizeType VirtualRadiusType
Superclass::FixedOutputPointType FixedOutputPointType
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::JacobianType JacobianType
Superclass::MeasureType MeasureType
static const DimensionType MovingPointDimension
VirtualImageType::DirectionType VirtualDirectionType
TFixedPointSet::PixelType FixedPixelType
static const DimensionType PointDimension
Superclass::MetricCategoryType MetricCategoryType
Superclass::DerivativeType DerivativeType
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
static const DimensionType MovingDimension
Superclass::FixedTransformPointer FixedTransformPointer
MovingTransformType::JacobianType MovingTransformJacobianType
virtual void GetDerivative(DerivativeType &) const override
Standard exception handling object.
Superclass::MovingDisplacementFieldTransformType DisplacementFieldTransformType
TFixedPointSet::PointType FixedPointType
VirtualImageType::PointType VirtualPointType
Superclass::FixedTransformJacobianType FixedTransformJacobianType
bool m_StoreDerivativeAsSparseFieldForLocalSupportTransforms
virtual void SetFixedPointSet(const FixedPointSetType *_arg)
virtual void InitializePointSets() const
ModifiedTimeType m_FixedTransformedPointSetTime
DisplacementFieldTransform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingDimension) > MovingDisplacementFieldTransformType
TMovingPointSet::PointsContainer MovingPointsContainer
TreeType::InstanceIdentifierVectorType NeighborsIdentifierType
Superclass::ObjectType ObjectType
Superclass::MovingTransformType MovingTransformType
void TransformFixedAndCreateVirtualPointSet() const
Superclass::VirtualRegionType VirtualRegionType
VirtualRegionType::SizeType VirtualSizeType
Superclass::VirtualPointType VirtualOriginType
PointsLocatorType::Pointer m_FixedTransformedPointsLocator
virtual void GetLocalNeighborhoodValueAndDerivative(const PointType &, MeasureType &, LocalDerivativeType &, const PixelType &pixel) const =0
FixedTransformType::JacobianType JacobianType
FixedTransformedPointSetType::Pointer m_FixedTransformedPointSet
PointSetToPointSetMetricv4 Self
virtual void SetMovingPointSet(const MovingPointSetType *_arg)
Superclass::ParametersType ParametersType
MovingTransformType::OutputPointType MovingOutputPointType
Superclass::MovingTransformPointer MovingTransformPointer
Superclass::MovingTransformJacobianType MovingTransformJacobianType
static const DimensionType FixedDimension
virtual void SetFixedObject(const ObjectType *object) override
virtual void SetMovingObject(const ObjectType *object) override
Control indentation during Print() invocation.
virtual MeasureType GetLocalNeighborhoodValue(const PointType &, const PixelType &pixel) const =0
MovingTransformType::Pointer MovingTransformPointer
PointSet< VirtualPixelType, itkGetStaticConstMacro(VirtualDimension)> VirtualPointSetType
Image< TInternalComputationValueType, TFixedPointSet::PointDimension > VirtualImageType
Superclass::DerivativeType DerivativeType
void StorePointDerivative(const VirtualPointType &, const DerivativeType &, DerivativeType &) const
TMovingPointSet::PixelType MovingPixelType
void operator=(const Self &)
ModifiedTimeType m_MovingTransformedPointSetTime
MovingTransformedPointSetType::Pointer m_MovingTransformedPointSet
Superclass::MeasureType MeasureType
Superclass::MetricCategoryType MetricCategoryType
Base class for most ITK classes.
Superclass::FixedInputPointType FixedInputPointType
Superclass::FixedTransformType FixedTransformType
Superclass::VirtualPointSetPointer VirtualPointSetPointer
bool m_FixedTransformPointLocatorsNeedInitialization
Superclass::ParametersValueType ParametersValueType
Superclass::NumberOfParametersType NumberOfParametersType
FixedTransformType::JacobianType FixedTransformJacobianType
SizeValueType DimensionType
Templated n-dimensional image class.
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::MovingTransformParametersType MovingTransformParametersType
TMovingPointSet::PointType MovingPointType
Superclass::VirtualDirectionType VirtualDirectionType
VirtualImageType::Pointer VirtualImagePointer
DerivativeType::ValueType DerivativeValueType