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 #ifndef __elxVarianceOverLastDimensionMetric_H__
15 #define __elxVarianceOverLastDimensionMetric_H__
16 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
20 #include "../Transforms/StackTransform/itkStackTransform.h"
21 
22 #include "elxTimer.h"
23 
24 namespace elastix
25 {
26 
64 template< class TElastix >
66  public
68  typename MetricBase< TElastix >::FixedImageType,
69  typename MetricBase< TElastix >::MovingImageType >,
70  public MetricBase< TElastix >
71 {
72 public:
73 
80  typedef itk::SmartPointer< Self > Pointer;
81  typedef itk::SmartPointer< const Self > ConstPointer;
82 
84  itkNewMacro( Self );
85 
88 
93  elxClassNameMacro( "VarianceOverLastDimensionMetric" );
94 
96  typedef typename
114  typedef typename Superclass1::RealType RealType;
132  typedef typename
136  typedef typename
138  typedef typename
140  typedef typename
142 
144  itkStaticConstMacro( FixedImageDimension, unsigned int,
145  FixedImageType::ImageDimension );
146 
148  itkStaticConstMacro( MovingImageDimension, unsigned int,
149  MovingImageType::ImageDimension );
150 
159 
162  ScalarType, FixedImageDimension > BSplineTransformBaseType;
164  ScalarType, FixedImageDimension > CombinationTransformType;
165  typedef itk::StackTransform<
166  ScalarType, FixedImageDimension, MovingImageDimension > StackTransformType;
169 
174 
178  virtual void Initialize( void ) throw ( itk::ExceptionObject );
179 
185  virtual void BeforeEachResolution( void );
186 
187 protected:
188 
193 
194 private:
195 
197  VarianceOverLastDimensionMetric( const Self & ); // purposely not implemented
199  void operator=( const Self & ); // purposely not implemented
200 
201 };
202 
203 } // end namespace elastix
204 
205 #ifndef ITK_MANUAL_INSTANTIATION
206 #include "elxVarianceOverLastDimensionMetric.hxx"
207 #endif
208 
209 #endif // end #ifndef __elxVarianceOverLastDimensionMetric_H__
Superclass1::MovingImageConstPointer MovingImageConstPointer
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::ElastixPointer ElastixPointer
Definition: elxMetricBase.h:84
Superclass::RegistrationType RegistrationType
Definition: elxMetricBase.h:87
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass1::GradientImageFilterPointer GradientImageFilterPointer
Superclass1::TransformParametersType TransformParametersType
Superclass::ConfigurationType ConfigurationType
Definition: elxMetricBase.h:85
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass1::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass1::CoordinateRepresentationType CoordinateRepresentationType
ElastixType::FixedImageType FixedImageType
Definition: elxMetricBase.h:91
itk::SmartPointer< Self > Pointer
Definition: elxTimer.h:73
A class to time the different parts of the registration.
Definition: elxTimer.h:66
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
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.
Superclass1::GradientImageFilterType GradientImageFilterType
Superclass1::FixedImageLimiterOutputType FixedImageLimiterOutputType
itk::VarianceOverLastDimensionImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType > Superclass1
Superclass1::ImageSampleContainerType ImageSampleContainerType
Superclass1::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass1::MovingImageLimiterType MovingImageLimiterType
itk::AdvancedBSplineDeformableTransformBase< ScalarType, FixedImageDimension-1 > ReducedDimensionBSplineTransformBaseType
itk::AdvancedBSplineDeformableTransformBase< ScalarType, FixedImageDimension > BSplineTransformBaseType
Superclass1::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass1::FixedImageConstPointer FixedImageConstPointer
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::ElastixType ElastixType
Definition: elxMetricBase.h:80
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:99
elxClassNameMacro("VarianceOverLastDimensionMetric")
ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:94
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxMetricBase.h:88
itk::StackTransform< ScalarType, FixedImageDimension, MovingImageDimension > StackTransformType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Base class for deformable transform using a B-spline representation.
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxMetricBase.h:86
Compute the sum of variances over the slowest varying dimension in the moving image.
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:71
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo