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  * 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 __elxNormalizedMutualInformationMetric_H__
19 #define __elxNormalizedMutualInformationMetric_H__
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
23 
24 namespace elastix
25 {
26 
72 template< class TElastix >
74  public
76  typename MetricBase< TElastix >::FixedImageType,
77  typename MetricBase< TElastix >::MovingImageType >,
78  public MetricBase< TElastix >
79 {
80 public:
81 
88  typedef itk::SmartPointer< Self > Pointer;
89  typedef itk::SmartPointer< const Self > ConstPointer;
90 
92  itkNewMacro( Self );
93 
97 
102  elxClassNameMacro( "NormalizedMutualInformation" );
103 
105  typedef typename
121  typedef typename Superclass1::RealType RealType;
139  typedef typename
143  typedef typename
145  typedef typename
147  typedef typename
149 
151  itkStaticConstMacro( FixedImageDimension, unsigned int,
152  FixedImageType::ImageDimension );
153 
155  itkStaticConstMacro( MovingImageDimension, unsigned int,
156  MovingImageType::ImageDimension );
157 
166 
172  void BeforeEachResolution( void ) override;
173 
176  void Initialize( void ) override;
177 
178 protected:
179 
182  {
183  this->SetUseDerivative( true );
184  }
185 
186 
189 
190 private:
191 
193  NormalizedMutualInformationMetric( const Self & ); // purposely not implemented
195  void operator=( const Self & ); // purposely not implemented
196 
197 };
198 
199 } // end namespace elastix
200 
201 #ifndef ITK_MANUAL_INSTANTIATION
202 #include "elxNormalizedMutualInformationMetric.hxx"
203 #endif
204 
205 #endif // end #ifndef __elxNormalizedMutualInformationMetric_H__
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:81
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
A metric based on the itk::ParzenWindowNormalizedMutualInformationImageToImageMetric.
Superclass1::FixedImageLimiterOutputType FixedImageLimiterOutputType
elxClassNameMacro("NormalizedMutualInformation")
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass1::MovingImageLimiterOutputType MovingImageLimiterOutputType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass1::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass1::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass1::GradientImageFilterPointer GradientImageFilterPointer
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass1::ImageSampleContainerType ImageSampleContainerType
Computes the normalized mutual information between two images to be registered using a method based o...


Generated on 1667476801 for elastix by doxygen 1.9.1 elastix logo