go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxAdvancedMattesMutualInformationMetric.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef __elxAdvancedMattesMutualInformationMetric_H__
19#define __elxAdvancedMattesMutualInformationMetric_H__
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23
24namespace elastix
25{
26
99template< class TElastix >
101 public
103 typename MetricBase< TElastix >::FixedImageType,
104 typename MetricBase< TElastix >::MovingImageType >,
105 public MetricBase< TElastix >
106{
107public:
108
115 typedef itk::SmartPointer< Self > Pointer;
116 typedef itk::SmartPointer< const Self > ConstPointer;
117
119 itkNewMacro( Self );
120
124
129 elxClassNameMacro( "AdvancedMattesMutualInformation" );
130
132 typedef typename
166 typedef typename
170 typedef typename
172 typedef typename
174 typedef typename
176
178 itkStaticConstMacro( FixedImageDimension, unsigned int,
179 FixedImageType::ImageDimension );
180
182 itkStaticConstMacro( MovingImageDimension, unsigned int,
183 MovingImageType::ImageDimension );
184
193
199 void BeforeEachResolution( void ) override;
200
204 void AfterEachIteration( void ) override;
205
208 void Initialize( void ) override;
209
211 itkSetMacro( Param_c, double );
212 itkGetConstMacro( Param_c, double );
213
215 itkSetMacro( Param_gamma, double );
216 itkGetConstMacro( Param_gamma, double );
217
219 itkSetMacro( CurrentIteration, unsigned int );
220 itkGetConstMacro( CurrentIteration, unsigned int );
221
222protected:
223
226
229
230 unsigned long m_CurrentIteration;
231
233 double Compute_c( unsigned long k ) const;
234
235private:
236
238 AdvancedMattesMutualInformationMetric( const Self & ); // purposely not implemented
240 void operator=( const Self & ); // purposely not implemented
241
242 double m_Param_c;
244
245};
246
247} // end namespace elastix
248
249#ifndef ITK_MANUAL_INSTANTIATION
250#include "elxAdvancedMattesMutualInformationMetric.hxx"
251#endif
252
253#endif // end #ifndef __elxAdvancedMattesMutualInformationMetric_H__
A metric based on the itk::ParzenWindowMutualInformationImageToImageMetric.
Superclass1::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
double Compute_c(unsigned long k) const
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
elxClassNameMacro("AdvancedMattesMutualInformation")
Superclass1::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
itk::ParzenWindowMutualInformationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73
itk::SingleValuedCostFunction ITKBaseType
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:89
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:84
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:95
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:92
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:87
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:88
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:85
Computes the mutual information between two images to be registered using the method of Mattes et al.


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo