Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkMetricParameters.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKMETRICPARAMETERS_H
18 #define MITKMETRICPARAMETERS_H
19 
21 #include "mitkCommon.h"
22 #include <itkObjectFactory.h>
23 
24 namespace mitk
25 {
43  {
44  public:
46  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
47 
48 
51  enum MetricType {
52  MEANSQUARESIMAGETOIMAGEMETRIC = 0,
53  NORMALIZEDCORRELATIONIMAGETOIMAGEMETRIC = 1,
54  GRADIENTDIFFERENCEIMAGETOIMAGEMETRIC = 2,
55  KULLBACKLEIBLERCOMPAREHISTOGRAMIMAGETOIMAGEMETRIC = 3,
56  CORRELATIONCOEFFICIENTHISTOGRAMIMAGETOIMAGEMETRIC = 4,
57  MEANSQUARESHISTOGRAMIMAGETOIMAGEMETRIC = 5,
58  MUTUALINFORMATIONHISTOGRAMIMAGETOIMAGEMETRIC = 6,
59  NORMALIZEDMUTUALINFORMATIONHISTOGRAMIMAGETOIMAGEMETRIC = 7,
60  MATTESMUTUALINFORMATIONIMAGETOIMAGEMETRIC = 8,
61  MEANRECIPROCALSQUAREDIFFERENCEIMAGETOIMAGEMETRIC = 9,
62  MUTUALINFORMATIONIMAGETOIMAGEMETRIC = 10,
63  MATCHCARDINALITYIMAGETOIMAGEMETRIC = 11,
64  KAPPASTATISTICIMAGETOIMAGEMETRIC = 12
65  };
66 
70  itkSetMacro(Metric, int);
74  itkGetMacro(Metric, int);
75 
79  itkSetMacro(ComputeGradient, bool);
83  itkGetMacro(ComputeGradient, bool);
84 
88  itkSetMacro(NumberOfHistogramBinsKullbackLeiblerCompareHistogram, unsigned int);
89 
93  itkGetMacro(NumberOfHistogramBinsKullbackLeiblerCompareHistogram, unsigned int);
94 
98  itkSetMacro(NumberOfHistogramBinsCorrelationCoefficientHistogram, unsigned int);
99 
103  itkGetMacro(NumberOfHistogramBinsCorrelationCoefficientHistogram, unsigned int);
104 
108  itkSetMacro(NumberOfHistogramBinsMeanSquaresHistogram, unsigned int);
109 
113  itkGetMacro(NumberOfHistogramBinsMeanSquaresHistogram, unsigned int);
114 
118  itkSetMacro(NumberOfHistogramBinsMutualInformationHistogram, unsigned int);
119 
123  itkGetMacro(NumberOfHistogramBinsMutualInformationHistogram, unsigned int);
124 
128  itkSetMacro(NumberOfHistogramBinsNormalizedMutualInformationHistogram, unsigned int);
129 
133  itkGetMacro(NumberOfHistogramBinsNormalizedMutualInformationHistogram, unsigned int);
134 
138  itkSetMacro(SpatialSamplesMattesMutualInformation, unsigned int);
139 
143  itkGetMacro(SpatialSamplesMattesMutualInformation, unsigned int);
144 
148  itkSetMacro(UseSamplesMattesMutualInformation, bool);
149 
153  itkGetMacro(UseSamplesMattesMutualInformation, bool);
154 
158  itkSetMacro(NumberOfHistogramBinsMattesMutualInformation, unsigned int);
159 
163  itkGetMacro(NumberOfHistogramBinsMattesMutualInformation, unsigned int);
164 
168  itkSetMacro(LambdaMeanReciprocalSquareDifference, unsigned int);
169 
173  itkGetMacro(LambdaMeanReciprocalSquareDifference, unsigned int);
174 
178  itkSetMacro(SpatialSamplesMutualInformation, unsigned int);
179 
183  itkGetMacro(SpatialSamplesMutualInformation, unsigned int);
184 
188  itkSetMacro(FixedImageStandardDeviationMutualInformation, float);
189 
193  itkGetMacro(FixedImageStandardDeviationMutualInformation, float);
194 
198  itkSetMacro(MovingImageStandardDeviationMutualInformation, float);
199 
203  itkGetMacro(MovingImageStandardDeviationMutualInformation, float);
204 
208  itkSetMacro(UseNormalizerAndSmootherMutualInformation, bool);
209 
213  itkGetMacro(UseNormalizerAndSmootherMutualInformation, bool);
214 
218  itkSetMacro(FixedSmootherVarianceMutualInformation, float);
219 
223  itkGetMacro(FixedSmootherVarianceMutualInformation, float);
224 
228  itkSetMacro(MovingSmootherVarianceMutualInformation, float);
229 
233  itkGetMacro(MovingSmootherVarianceMutualInformation, float);
234 
235  protected:
238 
239  int m_Metric;
241  // for itk::KullbackLeiblerCompareHistogramImageToImageMetric
243  // for itk::CorrelationCoefficientHistogramImageToImageMetric
245  // for itk::MeanSquaresHistogramImageToImageMetric
247  // for itk::MutualInformationHistogramImageToImageMetric
249  // for itk::NormalizedMutualInformationHistogramImageToImageMetric
251  // for itk::MattesMutualInformationImageToImageMetric
255  // for itk::MeanReciprocalSquareDifferenceImageToImageMetric
257  // for itk::MutualInformationImageToImageMetric
264  };
265 
266 } // namespace mitk
267 
268 #endif // MITKMETRICPARAMETERS_H
float m_FixedImageStandardDeviationMutualInformation
unsigned int m_NumberOfHistogramBinsMattesMutualInformation
float m_MovingImageStandardDeviationMutualInformation
unsigned int m_NumberOfHistogramBinsCorrelationCoefficientHistogram
#define MITKRIGIDREGISTRATION_EXPORT
unsigned int m_SpatialSamplesMutualInformation
DataCollection - Class to facilitate loading/accessing structured data.
unsigned int m_NumberOfHistogramBinsKullbackLeiblerCompareHistogram
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
unsigned int m_SpatialSamplesMattesMutualInformation
unsigned int m_NumberOfHistogramBinsMeanSquaresHistogram
MetricType
Unique integer value for every metric.
unsigned int m_LambdaMeanReciprocalSquareDifference
unsigned int m_NumberOfHistogramBinsNormalizedMutualInformationHistogram
unsigned int m_NumberOfHistogramBinsMutualInformationHistogram
This class is used to hold all metric parameters needed for a rigid registration process.