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 #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
15 #define __elxCorrespondingPointsEuclideanDistanceMetric_H__
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
19 
20 #include "elxTimer.h"
21 
22 namespace elastix
23 {
24 
37 template< class TElastix >
39  public
41  typename MetricBase< TElastix >::FixedPointSetType,
42  typename MetricBase< TElastix >::MovingPointSetType >,
43  public MetricBase< TElastix >
44 {
45 public:
46 
53  typedef itk::SmartPointer< Self > Pointer;
54  typedef itk::SmartPointer< const Self > ConstPointer;
55 
57  itkNewMacro( Self );
58 
62 
67  elxClassNameMacro( "CorrespondingPointsEuclideanDistanceMetric" );
68 
75 
76 // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
83 // typedef typename Superclass1::RealType RealType;
91 
102 
104  itkStaticConstMacro( FixedImageDimension, unsigned int,
105  FixedImageType::ImageDimension );
106 
108  itkStaticConstMacro( MovingImageDimension, unsigned int,
109  MovingImageType::ImageDimension );
110 
116 
120 
124  virtual void Initialize( void ) throw ( itk::ExceptionObject );
125 
131  virtual int BeforeAllBase( void );
132 
137  virtual void BeforeRegistration( void );
138 
140  unsigned int ReadLandmarks(
141  const std::string & landmarkFileName,
142  typename PointSetType::Pointer & pointSet,
143  const typename ImageType::ConstPointer image );
144 
146  virtual void SelectNewSamples( void ){}
147 
148 protected:
149 
154 
155 private:
156 
158  CorrespondingPointsEuclideanDistanceMetric( const Self & ); // purposely not implemented
160  void operator=( const Self & ); // purposely not implemented
161 
162 };
163 
164 } // end namespace elastix
165 
166 #ifndef ITK_MANUAL_INSTANTIATION
167 #include "elxCorrespondingPointsEuclideanDistanceMetric.hxx"
168 #endif
169 
170 #endif // end #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:84
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:87
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:85
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:91
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension) > MovingImageMaskType
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:73
A class to time the different parts of the registration.
Definition: elxTimer.h:66
SpatialObject< itkGetStaticConstMacro(FixedPointSetDimension) > FixedImageMaskType
elxClassNameMacro("CorrespondingPointsEuclideanDistanceMetric")
itk::CorrespondingPointsEuclideanDistancePointMetric< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass1
Computes the Euclidean distance between a moving point-set and a fixed point-set. Correspondence is n...
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:80
An metric based on the itk::CorrespondingPointsEuclideanDistancePointMetric.
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:99
itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:94
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:88
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:86
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:71


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo