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  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
19 #define __elxCorrespondingPointsEuclideanDistanceMetric_H__
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
23 
24 
25 namespace elastix
26 {
27 
40 template< class TElastix >
42  public
44  typename MetricBase< TElastix >::FixedPointSetType,
45  typename MetricBase< TElastix >::MovingPointSetType >,
46  public MetricBase< TElastix >
47 {
48 public:
49 
56  typedef itk::SmartPointer< Self > Pointer;
57  typedef itk::SmartPointer< const Self > ConstPointer;
58 
60  itkNewMacro( Self );
61 
65 
70  elxClassNameMacro( "CorrespondingPointsEuclideanDistanceMetric" );
71 
78 
79 // typedef typename Superclass1::FixedImageRegionType FixedImageRegionType;
86 // typedef typename Superclass1::RealType RealType;
94 
105 
107  itkStaticConstMacro( FixedImageDimension, unsigned int,
108  FixedImageType::ImageDimension );
109 
111  itkStaticConstMacro( MovingImageDimension, unsigned int,
112  MovingImageType::ImageDimension );
113 
117  typedef FixedPointSetType PointSetType;
118  typedef FixedImageType ImageType;
119 
123  virtual void Initialize( void ) throw ( itk::ExceptionObject );
124 
130  virtual int BeforeAllBase( void );
131 
136  virtual void BeforeRegistration( void );
137 
139  unsigned int ReadLandmarks(
140  const std::string & landmarkFileName,
141  typename PointSetType::Pointer & pointSet,
142  const typename ImageType::ConstPointer image );
143 
145  virtual void SelectNewSamples( void ){}
146 
147 protected:
148 
153 
154 private:
155 
157  CorrespondingPointsEuclideanDistanceMetric( const Self & ); // purposely not implemented
159  void operator=( const Self & ); // purposely not implemented
160 
161 };
162 
163 } // end namespace elastix
164 
165 #ifndef ITK_MANUAL_INSTANTIATION
166 #include "elxCorrespondingPointsEuclideanDistanceMetric.hxx"
167 #endif
168 
169 #endif // end #ifndef __elxCorrespondingPointsEuclideanDistanceMetric_H__
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:86
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:89
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:87
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:93
SpatialObject< itkGetStaticConstMacro(MovingPointSetDimension) > MovingImageMaskType
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:82
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:96
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 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo