go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxGradientDifferenceMetric.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 __elxGradientDifferenceMetric_H__
15 #define __elxGradientDifferenceMetric_H__
16 
17 #include "elxIncludes.h"
19 
20 #include "elxTimer.h"
21 
22 namespace elastix
23 {
24 using namespace itk;
25 
35 template <class TElastix >
37 public
39  ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
40  ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
41  public MetricBase<TElastix>
42 {
43 public:
44 
51  typedef SmartPointer<Self> Pointer;
52  typedef SmartPointer<const Self> ConstPointer;
53 
55  itkNewMacro( Self );
56 
59 
64  elxClassNameMacro( "GradientDifference" );
65 
67  typedef typename
83  typedef typename Superclass1::RealType RealType;
101  typedef typename
105  typedef typename
107  typedef typename
109  typedef typename
111 
113  itkStaticConstMacro( FixedImageDimension, unsigned int,
114  FixedImageType::ImageDimension );
115 
117  itkStaticConstMacro( MovingImageDimension, unsigned int,
118  MovingImageType::ImageDimension );
119 
128 
131 
134 
138  virtual void Initialize(void) throw (ExceptionObject);
139 
146  virtual void BeforeRegistration( void );
147 
148  virtual void BeforeEachResolution( void );
149 
150 protected:
151 
154 
157 
158 private:
159 
161  GradientDifferenceMetric( const Self& ); // purposely not implemented
163  void operator=( const Self& ); // purposely not implemented
164 
165 }; // end class GradientDifferenceMetric
166 
167 
168 } // end namespace elastix
169 
170 
171 #ifndef ITK_MANUAL_INSTANTIATION
172 #include "elxGradientDifferenceMetric.hxx"
173 #endif
174 
175 #endif // end #ifndef __elxGradientDifferenceMetric_H__


Generated on 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo