go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxVarianceOverLastDimensionMetric.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 __elxVarianceOverLastDimensionMetric_H__
16 #define __elxVarianceOverLastDimensionMetric_H__
17 
18 #include "elxIncludes.h"
21 #include "../Transforms/StackTransform/itkStackTransform.h"
22 
23 #include "elxTimer.h"
24 
25 namespace elastix
26 {
27 using namespace itk;
28 
66  template <class TElastix >
68  public
70  ITK_TYPENAME MetricBase<TElastix>::FixedImageType,
71  ITK_TYPENAME MetricBase<TElastix>::MovingImageType >,
72  public MetricBase<TElastix>
73  {
74  public:
75 
82  typedef SmartPointer<Self> Pointer;
83  typedef SmartPointer<const Self> ConstPointer;
84 
86  itkNewMacro( Self );
87 
90 
95  elxClassNameMacro( "VarianceOverLastDimensionMetric" );
96 
98  typedef typename
116  typedef typename Superclass1::RealType RealType;
134  typedef typename
138  typedef typename
140  typedef typename
142  typedef typename
144 
146  itkStaticConstMacro( FixedImageDimension, unsigned int,
147  FixedImageType::ImageDimension );
148 
150  itkStaticConstMacro( MovingImageDimension, unsigned int,
151  MovingImageType::ImageDimension );
152 
161 
164  ScalarType, FixedImageDimension > BSplineTransformBaseType;
166  ScalarType, FixedImageDimension > CombinationTransformType;
167  typedef StackTransform<
168  ScalarType, FixedImageDimension, MovingImageDimension > StackTransformType;
171 
176 
180  virtual void Initialize(void) throw (ExceptionObject);
181 
187  virtual void BeforeEachResolution(void);
188 
189  protected:
190 
195 
196  private:
197 
199  VarianceOverLastDimensionMetric( const Self& ); // purposely not implemented
201  void operator=( const Self& ); // purposely not implemented
202 
203  }; // end class VarianceOverLastDimensionMetric
204 
205 
206 } // end namespace elastix
207 
208 
209 #ifndef ITK_MANUAL_INSTANTIATION
210 #include "elxVarianceOverLastDimensionMetric.hxx"
211 #endif
212 
213 #endif // end #ifndef __elxVarianceOverLastDimensionMetric_H__
214 
Superclass1::MovingImageConstPointer MovingImageConstPointer
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:86
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:89
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass1::GradientImageFilterPointer GradientImageFilterPointer
Superclass1::TransformParametersType TransformParametersType
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:87
Superclass::GradientImageFilterPointer GradientImageFilterPointer
#define elxClassNameMacro(_name)
Definition: elxMacro.h:254
SmartPointer< Self > Pointer
Definition: elxTimer.h:73
Superclass1::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:93
AdvancedBSplineDeformableTransformBase< ScalarType, FixedImageDimension-1 > ReducedDimensionBSplineTransformBaseType
A class to time the different parts of the registration.
Definition: elxTimer.h:67
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Implements stack of transforms: one for every last dimension index.
Superclass1::MovingImageMaskPointer MovingImageMaskPointer
Compute the sum of variances over the slowest varying dimension in the moving image.
VarianceOverLastDimensionImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass1::GradientImageFilterType GradientImageFilterType
Superclass1::FixedImageLimiterOutputType FixedImageLimiterOutputType
SingleValuedCostFunction ITKBaseType
AdvancedBSplineDeformableTransformBase< ScalarType, FixedImageDimension > BSplineTransformBaseType
Superclass1::ImageSampleContainerType ImageSampleContainerType
Superclass1::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass1::MovingImageLimiterType MovingImageLimiterType
Superclass1::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass1::FixedImageConstPointer FixedImageConstPointer
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:82
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:96
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:90
StackTransform< ScalarType, FixedImageDimension, MovingImageDimension > StackTransformType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Base class for deformable transform using a B-spline representation.
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:88
Compute the sum of variances over the slowest varying dimension in the moving image.
AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73


Generated on 06-12-2013 for elastix by doxygen 1.8.5 elastix logo