go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxCorrespondingPointsEuclideanDistanceMetric.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
16 #define __elxCorrespondingPointsEuclideanDistanceMetric_H__
17 
18 #include "elxIncludes.h"
20 
21 #include "elxTimer.h"
22 
23 namespace elastix
24 {
25 
38 template <class TElastix >
40  : public
42  typename MetricBase<TElastix>::FixedPointSetType,
43  typename MetricBase<TElastix>::MovingPointSetType >,
44  public MetricBase<TElastix>
45 {
46 public:
47 
54  typedef itk::SmartPointer<Self> Pointer;
55  typedef itk::SmartPointer<const Self> ConstPointer;
56 
58  itkNewMacro( Self );
59 
63 
68  elxClassNameMacro( "CorrespondingPointsEuclideanDistanceMetric" );
69 
76 
77 // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
84 // typedef typename Superclass1::RealType RealType;
92 
103 
105  itkStaticConstMacro( FixedImageDimension, unsigned int,
106  FixedImageType::ImageDimension );
107 
109  itkStaticConstMacro( MovingImageDimension, unsigned int,
110  MovingImageType::ImageDimension );
111 
117 
121 
125  virtual void Initialize( void ) throw ( itk::ExceptionObject );
126 
132  virtual int BeforeAllBase( void );
133 
138  virtual void BeforeRegistration( void );
139 
141  unsigned int ReadLandmarks(
142  const std::string & landmarkFileName,
143  typename PointSetType::Pointer & pointSet,
144  const typename ImageType::ConstPointer image );
145 
147  virtual void SelectNewSamples( void ){ };
148 
149 protected:
150 
155 
156 private:
157 
159  CorrespondingPointsEuclideanDistanceMetric( const Self& ); // purposely not implemented
161  void operator=( const Self& ); // purposely not implemented
162 
163 }; // end class CorrespondingPointsEuclideanDistanceMetric
164 
165 
166 } // end namespace elastix
167 
168 
169 #ifndef ITK_MANUAL_INSTANTIATION
170 #include "elxCorrespondingPointsEuclideanDistanceMetric.hxx"
171 #endif
172 
173 #endif // end #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
174 
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:85
itk::CorrespondingPointsEuclideanDistancePointMetric< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass1
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:88
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:86
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:72
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension)> MovingImageMaskType
unsigned int ReadLandmarks(const std::string &landmarkFileName, typename PointSetType::Pointer &pointSet, const typename ImageType::ConstPointer image)
itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:92
A class to time the different parts of the registration.
Definition: elxTimer.h:66
elxClassNameMacro("CorrespondingPointsEuclideanDistanceMetric")
Computes the Euclidean distance between a moving point-set and a fixed point-set. Correspondence is n...
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:81
An metric based on the itk::CorrespondingPointsEuclideanDistancePointMetric.
itk::SingleValuedCostFunction ITKBaseType
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:95
SpatialObject< itkGetStaticConstMacro(FixedPointSetDimension)> FixedImageMaskType
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:89
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:87
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:72


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo