go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxNormalizedMutualInformationMetric.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 __elxNormalizedMutualInformationMetric_H__
16 #define __elxNormalizedMutualInformationMetric_H__
17 
18 #include "elxIncludes.h"
20 
21 #include "elxTimer.h"
22 
23 namespace elastix
24 {
25 
71  template <class TElastix >
73  public
75  typename MetricBase<TElastix>::FixedImageType,
76  typename MetricBase<TElastix>::MovingImageType >,
77  public MetricBase<TElastix>
78  {
79  public:
80 
87  typedef itk::SmartPointer<Self> Pointer;
88  typedef itk::SmartPointer<const Self> ConstPointer;
89 
91  itkNewMacro( Self );
92 
96 
101  elxClassNameMacro( "NormalizedMutualInformation" );
102 
104  typedef typename
120  typedef typename Superclass1::RealType RealType;
138  typedef typename
142  typedef typename
144  typedef typename
146  typedef typename
148 
150  itkStaticConstMacro( FixedImageDimension, unsigned int,
151  FixedImageType::ImageDimension );
152 
154  itkStaticConstMacro( MovingImageDimension, unsigned int,
155  MovingImageType::ImageDimension );
156 
165 
170 
176  virtual void BeforeEachResolution( void );
177 
180  virtual void Initialize(void) throw (itk::ExceptionObject);
181 
182  protected:
183 
186  {
187  this->SetUseDerivative(true);
188  };
189 
192 
193  private:
194 
196  NormalizedMutualInformationMetric( const Self& ); // purposely not implemented
198  void operator=( const Self& ); // purposely not implemented
199 
200  }; // end class NormalizedMutualInformationMetric
201 
202 
203 } // end namespace elastix
204 
205 
206 #ifndef ITK_MANUAL_INSTANTIATION
207 #include "elxNormalizedMutualInformationMetric.hxx"
208 #endif
209 
210 #endif // end #ifndef __elxNormalizedMutualInformationMetric_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::ImageSampleContainerType ImageSampleContainerType
itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
A metric based on the itk::ParzenWindowNormalizedMutualInformationImageToImageMetric.
elxClassNameMacro("NormalizedMutualInformation")
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:92
A class to time the different parts of the registration.
Definition: elxTimer.h:66
Superclass1::GradientImageFilterPointer GradientImageFilterPointer
Superclass1::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:81
itk::SingleValuedCostFunction ITKBaseType
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:95
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:89
Superclass1::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass1::FixedImageLimiterOutputType FixedImageLimiterOutputType
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:87
Superclass1::ImageSampleContainerPointer ImageSampleContainerPointer
Computes the normalized mutual information between two images to be registered using a method based o...
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:72
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)


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