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 #ifndef __elxViolaWellsMutualInformationMetric_H__
15 #define __elxViolaWellsMutualInformationMetric_H__
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
18 #include "itkMutualInformationImageToImageMetric.h"
19 
20 #include "elxTimer.h"
21 
22 namespace elastix
23 {
24 
57 template< class TElastix >
59  public
60  itk::MutualInformationImageToImageMetric<
61  typename MetricBase< TElastix >::FixedImageType,
62  typename MetricBase< TElastix >::MovingImageType >,
63  public MetricBase< TElastix >
64 {
65 public:
66 
69  typedef itk::MutualInformationImageToImageMetric<
73  typedef itk::SmartPointer< Self > Pointer;
74  typedef itk::SmartPointer< const Self > ConstPointer;
75 
77  itkNewMacro( Self );
78 
81  itk::MutualInformationImageToImageMetric );
82 
87  elxClassNameMacro( "ViolaWellsMutualInformation" );
88 
90  typedef typename Superclass1::TransformType TransformType;
91  typedef typename Superclass1::TransformPointer TransformPointer;
92  typedef typename Superclass1::TransformJacobianType TransformJacobianType;
93  typedef typename Superclass1::InterpolatorType InterpolatorType;
94  typedef typename Superclass1::MeasureType MeasureType;
95  typedef typename Superclass1::DerivativeType DerivativeType;
96  typedef typename Superclass1::ParametersType ParametersType;
97  typedef typename Superclass1::FixedImageType FixedImageType;
98  typedef typename Superclass1::MovingImageType MovingImageType;
99  typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer;
100  typedef typename Superclass1::MovingImageConstPointer MovingImageCosntPointer;
101  typedef typename Superclass1::FixedImageIndexType FixedImageIndexType;
102  typedef typename Superclass1::FixedImageIndexValueType FixedImageIndexValueType;
103  typedef typename Superclass1::MovingImageIndexType MovingImageIndexType;
104  typedef typename Superclass1::FixedImagePointType FixedImagePointType;
105  typedef typename Superclass1::MovingImagePointType MovingImagePointType;
106 
108  itkStaticConstMacro( MovingImageDimension, unsigned int,
109  MovingImageType::ImageDimension );
110 
119 
123 
129  virtual void BeforeEachResolution( void );
130 
134  virtual void Initialize( void ) throw ( itk::ExceptionObject );
135 
136 protected:
137 
141  virtual ~ViolaWellsMutualInformationMetric() {}
142 
143 private:
144 
146  ViolaWellsMutualInformationMetric( const Self & ); // purposely not implemented
148  void operator=( const Self & ); // purposely not implemented
149 
150 };
151 
152 } // end namespace elastix
153 
154 #ifndef ITK_MANUAL_INSTANTIATION
155 #include "elxViolaWellsMutualInformationMetric.hxx"
156 #endif
157 
158 #endif // end #ifndef __elxViolaWellsMutualInformationMetric_H__
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:84
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:87
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:85
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:91
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:73
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:80
Superclass1::FixedImageIndexValueType FixedImageIndexValueType
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:99
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:94
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:88
A metric based on the itk::MutualInformationImageToImageMetric.
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:86
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:71


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo