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 
44  template <class TElastix >
46  public
47  itk::MutualInformationHistogramImageToImageMetric<
48  typename MetricBase<TElastix>::FixedImageType,
49  typename MetricBase<TElastix>::MovingImageType >,
50  public MetricBase<TElastix>
51  {
52  public:
53 
56  typedef itk::MutualInformationHistogramImageToImageMetric<
60  typedef itk::SmartPointer<Self> Pointer;
61  typedef itk::SmartPointer<const Self> ConstPointer;
62 
64  itkNewMacro( Self );
65 
68  itk::MutualInformationHistogramImageToImageMetric );
69 
74  elxClassNameMacro( "MutualInformationHistogram" );
75 
77  typedef typename Superclass1::TransformType TransformType;
78  typedef typename Superclass1::TransformPointer TransformPointer;
79  typedef typename Superclass1::TransformJacobianType TransformJacobianType;
80  typedef typename Superclass1::InterpolatorType InterpolatorType;
81  typedef typename Superclass1::MeasureType MeasureType;
82  typedef typename Superclass1::DerivativeType DerivativeType;
83  typedef typename Superclass1::ParametersType ParametersType;
84  typedef typename Superclass1::FixedImageType FixedImageType;
85  typedef typename Superclass1::MovingImageType MovingImageType;
86  typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer;
87  typedef typename Superclass1::MovingImageConstPointer MovingImageCosntPointer;
88  typedef typename Superclass1::ScalesType ScalesType;
89 
91  itkStaticConstMacro( MovingImageDimension, unsigned int,
92  MovingImageType::ImageDimension );
93 
102 
106 
110  virtual void BeforeRegistration(void);
111 
115  virtual void BeforeEachResolution(void);
116 
120  virtual void Initialize(void) throw (itk::ExceptionObject);
121 
122  protected:
123 
127  virtual ~MutualInformationHistogramMetric() {}
128 
129  private:
130 
132  MutualInformationHistogramMetric( const Self& ); // purposely not implemented
134  void operator=( const Self& ); // purposely not implemented
135 
136  }; // end class MutualInformationHistogramMetric
137 
138 
139 } // end namespace elastix
140 
141 
142 #ifndef ITK_MANUAL_INSTANTIATION
143 #include "elxMutualInformationHistogramMetric.hxx"
144 #endif
145 
146 #endif // end #ifndef __elxMutualInformationHistogramMetric_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
Superclass1::FixedImageConstPointer FixedImageConstPointer
A metric based on the itk::MutualInformationHistogramImageToImageMetric.
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:92
A class to time the different parts of the registration.
Definition: elxTimer.h:66
itk::MutualInformationHistogramImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass1::MovingImageConstPointer MovingImageCosntPointer
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:81
itk::SingleValuedCostFunction ITKBaseType
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:95
elxClassNameMacro("MutualInformationHistogram")
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:89
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:87
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:72


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