go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxViolaWellsMutualInformationMetric.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 __elxViolaWellsMutualInformationMetric_H__
16 #define __elxViolaWellsMutualInformationMetric_H__
17 
18 #include "elxIncludes.h"
19 #include "itkMutualInformationImageToImageMetric.h"
20 
21 #include "elxTimer.h"
22 
23 namespace elastix
24 {
25 using namespace itk;
26 
59  template <class TElastix >
61  public
63  ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
64  ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
65  public MetricBase<TElastix>
66  {
67  public:
68 
75  typedef SmartPointer<Self> Pointer;
76  typedef SmartPointer<const Self> ConstPointer;
77 
79  itkNewMacro( Self );
80 
84 
89  elxClassNameMacro( "ViolaWellsMutualInformation" );
90 
92  typedef typename Superclass1::TransformType TransformType;
93  typedef typename Superclass1::TransformPointer TransformPointer;
94  typedef typename Superclass1::TransformJacobianType TransformJacobianType;
95  typedef typename Superclass1::InterpolatorType InterpolatorType;
96  typedef typename Superclass1::MeasureType MeasureType;
97  typedef typename Superclass1::DerivativeType DerivativeType;
98  typedef typename Superclass1::ParametersType ParametersType;
99  typedef typename Superclass1::FixedImageType FixedImageType;
100  typedef typename Superclass1::MovingImageType MovingImageType;
101  typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer;
102  typedef typename Superclass1::MovingImageConstPointer MovingImageCosntPointer;
103  typedef typename Superclass1::FixedImageIndexType FixedImageIndexType;
104  typedef typename Superclass1::FixedImageIndexValueType FixedImageIndexValueType;
105  typedef typename Superclass1::MovingImageIndexType MovingImageIndexType;
106  typedef typename Superclass1::FixedImagePointType FixedImagePointType;
107  typedef typename Superclass1::MovingImagePointType MovingImagePointType;
108 
110  itkStaticConstMacro( MovingImageDimension, unsigned int,
111  MovingImageType::ImageDimension );
112 
121 
125 
131  virtual void BeforeEachResolution(void);
132 
136  virtual void Initialize(void) throw (ExceptionObject);
137 
138  protected:
139 
143  virtual ~ViolaWellsMutualInformationMetric() {}
144 
145  private:
146 
148  ViolaWellsMutualInformationMetric( const Self& ); // purposely not implemented
150  void operator=( const Self& ); // purposely not implemented
151 
152  }; // end class ViolaWellsMutualInformationMetric
153 
154 
155 } // end namespace elastix
156 
157 
158 #ifndef ITK_MANUAL_INSTANTIATION
159 #include "elxViolaWellsMutualInformationMetric.hxx"
160 #endif
161 
162 #endif // end #ifndef __elxViolaWellsMutualInformationMetric_H__


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