Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
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.