go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMutualInformationHistogramMetric.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 __elxMutualInformationHistogramMetric_H__
16 #define __elxMutualInformationHistogramMetric_H__
17 
18 #include "elxIncludes.h"
19 #include "itkMutualInformationHistogramImageToImageMetric.h"
20 
21 #include "elxTimer.h"
22 
23 namespace elastix
24 {
25 using namespace itk;
26 
45  template <class TElastix >
47  public
49  ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
50  ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
51  public MetricBase<TElastix>
52  {
53  public:
54 
61  typedef SmartPointer<Self> Pointer;
62  typedef SmartPointer<const Self> ConstPointer;
63 
65  itkNewMacro( Self );
66 
70 
75  elxClassNameMacro( "MutualInformationHistogram" );
76 
78  typedef typename Superclass1::TransformType TransformType;
79  typedef typename Superclass1::TransformPointer TransformPointer;
80  typedef typename Superclass1::TransformJacobianType TransformJacobianType;
81  typedef typename Superclass1::InterpolatorType InterpolatorType;
82  typedef typename Superclass1::MeasureType MeasureType;
83  typedef typename Superclass1::DerivativeType DerivativeType;
84  typedef typename Superclass1::ParametersType ParametersType;
85  typedef typename Superclass1::FixedImageType FixedImageType;
86  typedef typename Superclass1::MovingImageType MovingImageType;
87  typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer;
88  typedef typename Superclass1::MovingImageConstPointer MovingImageCosntPointer;
89  typedef typename Superclass1::ScalesType ScalesType;
90 
92  itkStaticConstMacro( MovingImageDimension, unsigned int,
93  MovingImageType::ImageDimension );
94 
103 
107 
111  virtual void BeforeRegistration(void);
112 
116  virtual void BeforeEachResolution(void);
117 
121  virtual void Initialize(void) throw (ExceptionObject);
122 
123  protected:
124 
128  virtual ~MutualInformationHistogramMetric() {}
129 
130  private:
131 
133  MutualInformationHistogramMetric( const Self& ); // purposely not implemented
135  void operator=( const Self& ); // purposely not implemented
136 
137  }; // end class MutualInformationHistogramMetric
138 
139 
140 } // end namespace elastix
141 
142 
143 #ifndef ITK_MANUAL_INSTANTIATION
144 #include "elxMutualInformationHistogramMetric.hxx"
145 #endif
146 
147 #endif // end #ifndef __elxMutualInformationHistogramMetric_H__


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