go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxNormalizedMutualInformationMetric.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 __elxNormalizedMutualInformationMetric_H__
16 #define __elxNormalizedMutualInformationMetric_H__
17 
18 #include "elxIncludes.h"
20 
21 #include "elxTimer.h"
22 
23 namespace elastix
24 {
25 using namespace itk;
26 
72  template <class TElastix >
74  public
76  ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
77  ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
78  public MetricBase<TElastix>
79  {
80  public:
81 
88  typedef SmartPointer<Self> Pointer;
89  typedef SmartPointer<const Self> ConstPointer;
90 
92  itkNewMacro( Self );
93 
97 
102  elxClassNameMacro( "NormalizedMutualInformation" );
103 
105  typedef typename
121  typedef typename Superclass1::RealType RealType;
139  typedef typename
143  typedef typename
145  typedef typename
147  typedef typename
149 
151  itkStaticConstMacro( FixedImageDimension, unsigned int,
152  FixedImageType::ImageDimension );
153 
155  itkStaticConstMacro( MovingImageDimension, unsigned int,
156  MovingImageType::ImageDimension );
157 
166 
171 
177  virtual void BeforeEachResolution( void );
178 
181  virtual void Initialize(void) throw (ExceptionObject);
182 
183  protected:
184 
187  {
188  this->SetUseDerivative(true);
189  };
190 
193 
194  private:
195 
197  NormalizedMutualInformationMetric( const Self& ); // purposely not implemented
199  void operator=( const Self& ); // purposely not implemented
200 
201  }; // end class NormalizedMutualInformationMetric
202 
203 
204 } // end namespace elastix
205 
206 
207 #ifndef ITK_MANUAL_INSTANTIATION
208 #include "elxNormalizedMutualInformationMetric.hxx"
209 #endif
210 
211 #endif // end #ifndef __elxNormalizedMutualInformationMetric_H__


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