go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxPatternIntensityMetric.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 __elxPatternIntensityMetric_H__
16 #define __elxPatternIntensityMetric_H__
17 
18 #include "elxIncludes.h"
20 
21 #include "elxTimer.h"
22 
23 namespace elastix
24 {
25 using namespace itk;
26 
36 template <class TElastix >
38 public
40  ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
41  ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
42 public MetricBase<TElastix>
43 {
44 public:
45 
52  typedef SmartPointer<Self> Pointer;
53  typedef SmartPointer<const Self> ConstPointer;
54 
56  itkNewMacro( Self );
57 
60 
65  elxClassNameMacro( "PatternIntensity" );
66 
68  typedef typename
84  typedef typename Superclass1::RealType RealType;
102  typedef typename
106  typedef typename
108  typedef typename
110  typedef typename
112 
114  itkStaticConstMacro( FixedImageDimension, unsigned int,
115  FixedImageType::ImageDimension );
116 
118  itkStaticConstMacro( MovingImageDimension, unsigned int,
119  MovingImageType::ImageDimension );
120 
129 
134 
138  virtual void Initialize( void ) throw (ExceptionObject);
139 
145  virtual void BeforeRegistration( void );
146 
147  virtual void BeforeEachResolution( void );
148 
149 protected:
150 
155 
156 private:
157 
159  PatternIntensityMetric( const Self& ); // purposely not implemented
161  void operator=( const Self& ); // purposely not implemented
162 
163 }; // end class PatternIntensityMetric
164 
165 
166 } // end namespace elastix
167 
168 
169 #ifndef ITK_MANUAL_INSTANTIATION
170 #include "elxPatternIntensityMetric.hxx"
171 #endif
172 
173 #endif // end #ifndef __elxPatternIntensityMetric_H__
174 


Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo