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 #ifndef __elxMutualInformationHistogramMetric_H__
15 #define __elxMutualInformationHistogramMetric_H__
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
18 #include "itkMutualInformationHistogramImageToImageMetric.h"
19 
20 #include "elxTimer.h"
21 
22 namespace elastix
23 {
24 
43 template< class TElastix >
45  public
46  itk::MutualInformationHistogramImageToImageMetric<
47  typename MetricBase< TElastix >::FixedImageType,
48  typename MetricBase< TElastix >::MovingImageType >,
49  public MetricBase< TElastix >
50 {
51 public:
52 
55  typedef itk::MutualInformationHistogramImageToImageMetric<
59  typedef itk::SmartPointer< Self > Pointer;
60  typedef itk::SmartPointer< const Self > ConstPointer;
61 
63  itkNewMacro( Self );
64 
67  itk::MutualInformationHistogramImageToImageMetric );
68 
73  elxClassNameMacro( "MutualInformationHistogram" );
74 
76  typedef typename Superclass1::TransformType TransformType;
77  typedef typename Superclass1::TransformPointer TransformPointer;
78  typedef typename Superclass1::TransformJacobianType TransformJacobianType;
79  typedef typename Superclass1::InterpolatorType InterpolatorType;
80  typedef typename Superclass1::MeasureType MeasureType;
81  typedef typename Superclass1::DerivativeType DerivativeType;
82  typedef typename Superclass1::ParametersType ParametersType;
83  typedef typename Superclass1::FixedImageType FixedImageType;
84  typedef typename Superclass1::MovingImageType MovingImageType;
85  typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer;
86  typedef typename Superclass1::MovingImageConstPointer MovingImageCosntPointer;
87  typedef typename Superclass1::ScalesType ScalesType;
88 
90  itkStaticConstMacro( MovingImageDimension, unsigned int,
91  MovingImageType::ImageDimension );
92 
101 
105 
109  virtual void BeforeRegistration( void );
110 
114  virtual void BeforeEachResolution( void );
115 
119  virtual void Initialize( void ) throw ( itk::ExceptionObject );
120 
121 protected:
122 
126  virtual ~MutualInformationHistogramMetric() {}
127 
128 private:
129 
131  MutualInformationHistogramMetric( const Self & ); // purposely not implemented
133  void operator=( const Self & ); // purposely not implemented
134 
135 };
136 
137 } // end namespace elastix
138 
139 #ifndef ITK_MANUAL_INSTANTIATION
140 #include "elxMutualInformationHistogramMetric.hxx"
141 #endif
142 
143 #endif // end #ifndef __elxMutualInformationHistogramMetric_H__
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:84
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:87
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:85
itk::MutualInformationHistogramImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass1::FixedImageConstPointer FixedImageConstPointer
A metric based on the itk::MutualInformationHistogramImageToImageMetric.
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
Superclass1::MovingImageConstPointer MovingImageCosntPointer
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:80
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:99
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:94
elxClassNameMacro("MutualInformationHistogram")
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:88
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:86
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:71


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo