NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkAbsoluteManhattanDistancePointMetric.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkAbsoluteManhattanDistancePointMetric_h
16 #define itkAbsoluteManhattanDistancePointMetric_h
17 
19 #include <itkCovariantVector.h>
20 #include <itkPoint.h>
21 #include <itkPointSet.h>
22 #include <itkImage.h>
23 
24 namespace itk
25 {
42 template < class TFixedPointSet, class TMovingPointSet>
44  public PointSetToPointSetSingleValuedMetric< TFixedPointSet, TMovingPointSet>
45 {
46 public:
47 
51  typedef SmartPointer<Self> Pointer;
52  typedef SmartPointer<const Self> ConstPointer;
53 
55  itkNewMacro(Self);
56 
59 
65 
72 
75 
77  unsigned int GetNumberOfValues() const;
78 
80  void GetDerivative( const TransformParametersType & parameters, DerivativeType & Derivative ) const;
81 
83  MeasureType GetValue( const TransformParametersType & parameters ) const;
84 
86  void GetValueAndDerivative( const TransformParametersType & parameters, MeasureType& Value, DerivativeType& Derivative ) const;
87 
88 protected:
91 
93  void PrintSelf(std::ostream& os, Indent indent) const;
94 
95 private:
96  AbsoluteManhattanDistancePointMetric(const Self&); //purposely not implemented
97  void operator=(const Self&); //purposely not implemented
98 
99 };
100 
101 } // end namespace itk
102 
103 #ifndef ITK_MANUAL_INSTANTIATION
104 #include "itkAbsoluteManhattanDistancePointMetric.txx"
105 #endif
106 
107 #endif
Superclass::TransformJacobianType TransformJacobianType
Definition: itkAbsoluteManhattanDistancePointMetric.h:64
Superclass::TransformParametersType TransformParametersType
Definition: itkAbsoluteManhattanDistancePointMetric.h:63
Superclass::MovingPointSetType MovingPointSetType
Definition: itkAbsoluteManhattanDistancePointMetric.h:69
Superclass::MeasureType MeasureType
Definition: itkPointSetToPointSetSingleValuedMetric.h:89
TMovingPointSet MovingPointSetType
Definition: itkPointSetToPointSetSingleValuedMetric.h:56
Superclass::DerivativeType DerivativeType
Definition: itkAbsoluteManhattanDistancePointMetric.h:67
FixedPointSetType::PointsContainer::ConstIterator PointIterator
Definition: itkPointSetToPointSetSingleValuedMetric.h:74
Definition: niftkITKAffineResampleImage.cxx:74
Superclass::DerivativeType DerivativeType
Definition: itkPointSetToPointSetSingleValuedMetric.h:92
TransformType::Pointer TransformPointer
Definition: itkPointSetToPointSetSingleValuedMetric.h:82
SmartPointer< const Self > ConstPointer
Definition: itkAbsoluteManhattanDistancePointMetric.h:52
AbsoluteManhattanDistancePointMetric Self
Definition: itkAbsoluteManhattanDistancePointMetric.h:49
Superclass::FixedPointSetConstPointer FixedPointSetConstPointer
Definition: itkAbsoluteManhattanDistancePointMetric.h:70
SmartPointer< Self > Pointer
Definition: itkAbsoluteManhattanDistancePointMetric.h:51
FixedPointSetType::ConstPointer FixedPointSetConstPointer
Definition: itkPointSetToPointSetSingleValuedMetric.h:66
Superclass::TransformType TransformType
Definition: itkAbsoluteManhattanDistancePointMetric.h:58
Computes the sum of the absolute Manhattan Distance (L1-norm) between two point sets.
Definition: itkAbsoluteManhattanDistancePointMetric.h:43
TransformType::ParametersType TransformParametersType
Definition: itkPointSetToPointSetSingleValuedMetric.h:85
FixedPointSetType::PointDataContainer::ConstIterator PointDataIterator
Definition: itkPointSetToPointSetSingleValuedMetric.h:75
Computes similarity between two point sets, but sums it up to a single value.
Definition: itkPointSetToPointSetSingleValuedMetric.h:42
virtual ~AbsoluteManhattanDistancePointMetric()
Definition: itkAbsoluteManhattanDistancePointMetric.h:90
PointSetToPointSetSingleValuedMetric< TFixedPointSet, TMovingPointSet > Superclass
Definition: itkAbsoluteManhattanDistancePointMetric.h:50
Superclass::MovingPointSetConstPointer MovingPointSetConstPointer
Definition: itkAbsoluteManhattanDistancePointMetric.h:71
TFixedPointSet FixedPointSetType
Definition: itkPointSetToPointSetSingleValuedMetric.h:64
Superclass::MeasureType MeasureType
Definition: itkAbsoluteManhattanDistancePointMetric.h:66
Superclass::TransformPointer TransformPointer
Definition: itkAbsoluteManhattanDistancePointMetric.h:62
Superclass::PointIterator PointIterator
Definition: itkAbsoluteManhattanDistancePointMetric.h:73
MovingPointSetType::ConstPointer MovingPointSetConstPointer
Definition: itkPointSetToPointSetSingleValuedMetric.h:61
Transform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingPointSetDimension), itkGetStaticConstMacro(FixedPointSetDimension)> TransformType
Definition: itkPointSetToPointSetSingleValuedMetric.h:80
Superclass::FixedPointSetType FixedPointSetType
Definition: itkAbsoluteManhattanDistancePointMetric.h:68
TransformType::JacobianType TransformJacobianType
Definition: itkPointSetToPointSetSingleValuedMetric.h:86
Superclass::PointDataIterator PointDataIterator
Definition: itkAbsoluteManhattanDistancePointMetric.h:74