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 using namespace itk;
26 
39 template <class TElastix >
41  : public
43  typename MetricBase<TElastix>::FixedPointSetType,
44  typename MetricBase<TElastix>::MovingPointSetType >,
45  public MetricBase<TElastix>
46 {
47 public:
48 
55  typedef SmartPointer<Self> Pointer;
56  typedef SmartPointer<const Self> ConstPointer;
57 
59  itkNewMacro( Self );
60 
64 
69  elxClassNameMacro( "CorrespondingPointsEuclideanDistanceMetric" );
70 
77 
78 // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
85 // typedef typename Superclass1::RealType RealType;
93 
104 
106  itkStaticConstMacro( FixedImageDimension, unsigned int,
107  FixedImageType::ImageDimension );
108 
110  itkStaticConstMacro( MovingImageDimension, unsigned int,
111  MovingImageType::ImageDimension );
112 
118 
122 
126  virtual void Initialize( void ) throw ( ExceptionObject );
127 
133  virtual int BeforeAllBase( void );
134 
139  virtual void BeforeRegistration( void );
140 
142  unsigned int ReadLandmarks(
143  const std::string & landmarkFileName,
144  typename PointSetType::Pointer & pointSet,
145  const typename ImageType::ConstPointer image );
146 
148  virtual void SelectNewSamples( void ){ };
149 
150 protected:
151 
156 
157 private:
158 
160  CorrespondingPointsEuclideanDistanceMetric( const Self& ); // purposely not implemented
162  void operator=( const Self& ); // purposely not implemented
163 
164 }; // end class CorrespondingPointsEuclideanDistanceMetric
165 
166 
167 } // end namespace elastix
168 
169 
170 #ifndef ITK_MANUAL_INSTANTIATION
171 #include "elxCorrespondingPointsEuclideanDistanceMetric.hxx"
172 #endif
173 
174 #endif // end #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
175 
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:86
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:89
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:87
#define elxClassNameMacro(_name)
Definition: elxMacro.h:254
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension)> MovingImageMaskType
SmartPointer< Self > Pointer
Definition: elxTimer.h:73
CorrespondingPointsEuclideanDistancePointMetric< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > Superclass1
PointSet< CoordinateRepresentationType, MovingImageDimension, DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > MovingPointSetType
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:93
A class to time the different parts of the registration.
Definition: elxTimer.h:67
PointSet< CoordinateRepresentationType, FixedImageDimension, DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > FixedPointSetType
SingleValuedCostFunction ITKBaseType
Computes the Euclidean distance between a moving point-set and a fixed point-set. Correspondence is n...
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:82
An metric based on the itk::CorrespondingPointsEuclideanDistancePointMetric.
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:96
SpatialObject< itkGetStaticConstMacro(FixedPointSetDimension)> FixedImageMaskType
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:90
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:88
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73


Generated on 05-12-2013 for elastix by doxygen 1.8.5 elastix logo