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,
183 FixedPointSetType *pointSet =
dynamic_cast<FixedPointSetType *
>(
const_cast<ObjectType *
>( object ) );
184 if( pointSet != ITK_NULLPTR )
190 itkExceptionMacro(
"Incorrect object type. Should be a point set." )
198 MovingPointSetType *pointSet =
dynamic_cast<MovingPointSetType *
>(
const_cast<ObjectType *
>( object ) );
199 if( pointSet != ITK_NULLPTR )
205 itkExceptionMacro(
"Incorrect object type. Should be a point set." )
211 itkSetConstObjectMacro( FixedPointSet, FixedPointSetType );
212 itkGetConstObjectMacro( FixedPointSet, FixedPointSetType );
216 itkGetModifiableObjectMacro( FixedTransformedPointSet, FixedTransformedPointSetType );
219 itkSetConstObjectMacro( MovingPointSet, MovingPointSetType );
220 itkGetConstObjectMacro( MovingPointSet, MovingPointSetType );
224 itkGetModifiableObjectMacro( MovingTransformedPointSet, MovingTransformedPointSetType );
241 virtual MeasureType
GetValue()
const ITK_OVERRIDE;
253 virtual void GetDerivative( DerivativeType & )
const ITK_OVERRIDE;
285 MeasureType &, LocalDerivativeType &,
const PixelType & pixel )
const = 0;
317 itkSetMacro( StoreDerivativeAsSparseFieldForLocalSupportTransforms,
bool );
318 itkGetConstMacro( StoreDerivativeAsSparseFieldForLocalSupportTransforms,
bool );
319 itkBooleanMacro( StoreDerivativeAsSparseFieldForLocalSupportTransforms );
325 itkSetMacro( CalculateValueAndDerivativeInTangentSpace,
bool );
326 itkGetConstMacro( CalculateValueAndDerivativeInTangentSpace,
bool );
327 itkBooleanMacro( CalculateValueAndDerivativeInTangentSpace );
410 void StorePointDerivative(
const VirtualPointType &,
const DerivativeType &, DerivativeType & )
const;
423 void operator=(
const Self & ) ITK_DELETE_FUNCTION;
441 #ifndef ITK_MANUAL_INSTANTIATION 442 #include "itkPointSetToPointSetMetricv4.hxx" virtual MetricCategoryType GetMetricCategory() const override
Superclass::ParametersType ParametersType
Transform< TInternalComputationValueType, Image< TInternalComputationValueType, TFixedPointSet::PointDimension >::ImageDimension, TMovingDimension > MovingTransformType
PointsContainer::ConstIterator PointsConstIterator
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
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
virtual void GetDerivative(DerivativeType &) const override
PointsLocator< PointsContainer > PointsLocatorType
TInternalComputationValueType ParametersValueType
bool m_CalculateValueAndDerivativeInTangentSpace
virtual LocalDerivativeType GetLocalNeighborhoodDerivative(const PointType &, const PixelType &pixel) const
PointType::CoordRepType CoordRepType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Superclass::MovingOutputPointType MovingOutputPointType
Computes similarity between regions of two objects.
bool m_MovingTransformPointLocatorsNeedInitialization
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
virtual MeasureType GetLocalNeighborhoodValue(const PointType &, const PixelType &pixel) const =0
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
void operator=(const Self &) ITK_DELETE_FUNCTION
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
Superclass::JacobianType JacobianType
Superclass::MeasureType MeasureType
virtual bool SupportsArbitraryVirtualDomainSamples(void) const override
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
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
virtual MeasureType GetValue() const override
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
void PrintSelf(std::ostream &os, Indent indent) const override
static const DimensionType FixedDimension
virtual void SetFixedObject(const ObjectType *object) override
virtual void SetMovingObject(const ObjectType *object) override
Control indentation during Print() invocation.
MovingTransformType::Pointer MovingTransformPointer
PointSet< VirtualPixelType, itkGetStaticConstMacro(VirtualDimension)> VirtualPointSetType
Image< TInternalComputationValueType, TFixedPointSet::PointDimension > VirtualImageType
void StorePointDerivative(const VirtualPointType &, const DerivativeType &, DerivativeType &) const
TMovingPointSet::PixelType MovingPixelType
virtual void GetValueAndDerivative(MeasureType &, DerivativeType &) const override
ModifiedTimeType m_MovingTransformedPointSetTime
MovingTransformedPointSetType::Pointer m_MovingTransformedPointSet
Superclass::MeasureType MeasureType
Superclass::MetricCategoryType MetricCategoryType
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