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 
58  template <class TElastix >
60  public
61  itk::MutualInformationImageToImageMetric<
62  typename MetricBase<TElastix>::FixedImageType,
63  typename MetricBase<TElastix>::MovingImageType >,
64  public MetricBase<TElastix>
65  {
66  public:
67 
70  typedef itk::MutualInformationImageToImageMetric<
74  typedef itk::SmartPointer<Self> Pointer;
75  typedef itk::SmartPointer<const Self> ConstPointer;
76 
78  itkNewMacro( Self );
79 
82  itk::MutualInformationImageToImageMetric );
83 
88  elxClassNameMacro( "ViolaWellsMutualInformation" );
89 
91  typedef typename Superclass1::TransformType TransformType;
92  typedef typename Superclass1::TransformPointer TransformPointer;
93  typedef typename Superclass1::TransformJacobianType TransformJacobianType;
94  typedef typename Superclass1::InterpolatorType InterpolatorType;
95  typedef typename Superclass1::MeasureType MeasureType;
96  typedef typename Superclass1::DerivativeType DerivativeType;
97  typedef typename Superclass1::ParametersType ParametersType;
98  typedef typename Superclass1::FixedImageType FixedImageType;
99  typedef typename Superclass1::MovingImageType MovingImageType;
100  typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer;
101  typedef typename Superclass1::MovingImageConstPointer MovingImageCosntPointer;
102  typedef typename Superclass1::FixedImageIndexType FixedImageIndexType;
103  typedef typename Superclass1::FixedImageIndexValueType FixedImageIndexValueType;
104  typedef typename Superclass1::MovingImageIndexType MovingImageIndexType;
105  typedef typename Superclass1::FixedImagePointType FixedImagePointType;
106  typedef typename Superclass1::MovingImagePointType MovingImagePointType;
107 
109  itkStaticConstMacro( MovingImageDimension, unsigned int,
110  MovingImageType::ImageDimension );
111 
120 
124 
130  virtual void BeforeEachResolution(void);
131 
135  virtual void Initialize(void) throw (itk::ExceptionObject);
136 
137  protected:
138 
142  virtual ~ViolaWellsMutualInformationMetric() {}
143 
144  private:
145 
147  ViolaWellsMutualInformationMetric( const Self& ); // purposely not implemented
149  void operator=( const Self& ); // purposely not implemented
150 
151  }; // end class ViolaWellsMutualInformationMetric
152 
153 
154 } // end namespace elastix
155 
156 
157 #ifndef ITK_MANUAL_INSTANTIATION
158 #include "elxViolaWellsMutualInformationMetric.hxx"
159 #endif
160 
161 #endif // end #ifndef __elxViolaWellsMutualInformationMetric_H__
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:85
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:88
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:86
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:72
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:92
A class to time the different parts of the registration.
Definition: elxTimer.h:66
elxClassNameMacro("ViolaWellsMutualInformation")
itk::MutualInformationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:81
Superclass1::FixedImageIndexValueType FixedImageIndexValueType
itk::SingleValuedCostFunction ITKBaseType
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:95
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:89
A metric based on the itk::MutualInformationImageToImageMetric.
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:87
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:72


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo