![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 #ifndef __itkCorrespondingPointsEuclideanDistancePointMetric_h 00015 #define __itkCorrespondingPointsEuclideanDistancePointMetric_h 00016 00017 #include "itkSingleValuedPointSetToPointSetMetric.h" 00018 #include "itkPoint.h" 00019 #include "itkPointSet.h" 00020 #include "itkImage.h" 00021 00022 namespace itk 00023 { 00024 00034 template < class TFixedPointSet, class TMovingPointSet > 00035 class ITK_EXPORT CorrespondingPointsEuclideanDistancePointMetric : 00036 public SingleValuedPointSetToPointSetMetric<TFixedPointSet, TMovingPointSet> 00037 { 00038 public: 00039 00041 typedef CorrespondingPointsEuclideanDistancePointMetric Self; 00042 typedef SingleValuedPointSetToPointSetMetric< 00043 TFixedPointSet, TMovingPointSet > Superclass; 00044 typedef SmartPointer<Self> Pointer; 00045 typedef SmartPointer<const Self> ConstPointer; 00046 00048 itkNewMacro( Self ); 00049 00051 itkTypeMacro( CorrespondingPointsEuclideanDistancePointMetric, 00052 SingleValuedPointSetToPointSetMetric ); 00053 00055 typedef typename Superclass::TransformType TransformType; 00056 typedef typename Superclass::TransformPointer TransformPointer; 00057 typedef typename Superclass::TransformParametersType TransformParametersType; 00058 typedef typename Superclass::TransformJacobianType TransformJacobianType; 00059 00060 typedef typename Superclass::MeasureType MeasureType; 00061 typedef typename Superclass::DerivativeType DerivativeType; 00062 typedef typename Superclass::DerivativeValueType DerivativeValueType; 00063 typedef typename Superclass::FixedPointSetType FixedPointSetType; 00064 typedef typename Superclass::MovingPointSetType MovingPointSetType; 00065 typedef typename Superclass::FixedPointSetConstPointer FixedPointSetConstPointer; 00066 typedef typename Superclass::MovingPointSetConstPointer MovingPointSetConstPointer; 00067 00068 typedef typename Superclass::PointIterator PointIterator; 00069 typedef typename Superclass::PointDataIterator PointDataIterator; 00070 00071 typedef typename Superclass::InputPointType InputPointType; 00072 typedef typename Superclass::OutputPointType OutputPointType; 00073 typedef typename OutputPointType::CoordRepType CoordRepType; 00074 typedef vnl_vector<CoordRepType> VnlVectorType; 00075 00076 typedef typename Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType; 00077 00079 MeasureType GetValue( const TransformParametersType & parameters ) const; 00080 00082 void GetDerivative( const TransformParametersType & parameters, 00083 DerivativeType & Derivative ) const; 00084 00086 void GetValueAndDerivative( const TransformParametersType & parameters, 00087 MeasureType& Value, DerivativeType& Derivative ) const; 00088 00089 protected: 00090 CorrespondingPointsEuclideanDistancePointMetric(); 00091 virtual ~CorrespondingPointsEuclideanDistancePointMetric() {}; 00092 00093 private: 00094 CorrespondingPointsEuclideanDistancePointMetric(const Self&); //purposely not implemented 00095 void operator=(const Self&); //purposely not implemented 00096 00097 }; // end class CorrespondingPointsEuclideanDistancePointMetric 00098 00099 } // end namespace itk 00100 00101 #ifndef ITK_MANUAL_INSTANTIATION 00102 #include "itkCorrespondingPointsEuclideanDistancePointMetric.txx" 00103 #endif 00104 00105 #endif
Generated on 24-05-2012 for elastix by ![]() |
![]() |