go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkParzenWindowNormalizedMutualInformationImageToImageMetric.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 __itkParzenWindowNormalizedMutualInformationImageToImageMetric_H__
16 #define __itkParzenWindowNormalizedMutualInformationImageToImageMetric_H__
17 
19 
20 namespace itk
21 {
22 
67  template <class TFixedImage,class TMovingImage >
69  public ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >
70  {
71  public:
72 
76  TFixedImage, TMovingImage > Superclass;
77  typedef SmartPointer<Self> Pointer;
78  typedef SmartPointer<const Self> ConstPointer;
79 
81  itkNewMacro( Self );
82 
84  itkTypeMacro(
87 
89  typedef typename
105  typedef typename Superclass::RealType RealType;
123  typedef typename
127  typedef typename
129  typedef typename
131  typedef typename
133 
135  itkStaticConstMacro( FixedImageDimension, unsigned int,
136  FixedImageType::ImageDimension );
137 
139  itkStaticConstMacro( MovingImageDimension, unsigned int,
140  MovingImageType::ImageDimension );
141 
143  MeasureType GetValue( const ParametersType& parameters ) const;
144 
146  void GetValueAndDerivative( const ParametersType& parameters,
147  MeasureType& Value, DerivativeType& Derivative ) const;
148 
149  protected:
150 
153 
156 
158  void PrintSelf( std::ostream& os, Indent indent ) const;
159 
186 
189  virtual void ComputeLogMarginalPDF( MarginalPDFType & pdf ) const;
190 
197  virtual MeasureType ComputeNormalizedMutualInformation( MeasureType & jointEntropy ) const;
198 
199  private:
200 
202  ParzenWindowNormalizedMutualInformationImageToImageMetric( const Self& ); // purposely not implemented
204  void operator=( const Self& ); // purposely not implemented
205 
206  }; // end class ParzenWindowNormalizedMutualInformationImageToImageMetric
207 
208 } // end namespace itk
209 
210 #ifndef ITK_MANUAL_INSTANTIATION
211 #include "itkParzenWindowNormalizedMutualInformationImageToImageMetric.hxx"
212 #endif
213 
214 #endif // end #ifndef __itkParzenWindowNormalizedMutualInformationImageToImageMetric_H__
215 
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
virtual MeasureType ComputeNormalizedMutualInformation(MeasureType &jointEntropy) const
Superclass::CoordinateRepresentationType CoordinateRepresentationType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
void GetValueAndDerivative(const ParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
A base class for image metrics based on a joint histogram computed using Parzen Windowing.
virtual void ComputeLogMarginalPDF(MarginalPDFType &pdf) const
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
Computes the normalized mutual information between two images to be registered using a method based o...
MeasureType GetValue(const ParametersType &parameters) const


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