go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAdvancedNormalizedCorrelationImageToImageMetric.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 __itkAdvancedNormalizedCorrelationImageToImageMetric_h
16 #define __itkAdvancedNormalizedCorrelationImageToImageMetric_h
17 
19 
20 
21 namespace itk
22 {
82 template < class TFixedImage, class TMovingImage >
84  public AdvancedImageToImageMetric< TFixedImage, TMovingImage >
85 {
86 public:
87 
91  TFixedImage, TMovingImage > Superclass;
92  typedef SmartPointer<Self> Pointer;
93  typedef SmartPointer<const Self> ConstPointer;
94 
96  itkNewMacro( Self );
97 
100 
102  typedef typename
118  typedef typename Superclass::RealType RealType;
136  typedef typename
140  typedef typename
142  typedef typename
144  typedef typename
146 
148  itkStaticConstMacro( FixedImageDimension, unsigned int,
149  FixedImageType::ImageDimension );
150 
152  itkStaticConstMacro( MovingImageDimension, unsigned int,
153  MovingImageType::ImageDimension );
154 
156  MeasureType GetValue( const TransformParametersType & parameters ) const;
157 
159  void GetDerivative( const TransformParametersType & parameters,
160  DerivativeType & Derivative ) const;
161 
163  void GetValueAndDerivative( const TransformParametersType & parameters,
164  MeasureType& Value, DerivativeType& Derivative ) const;
165 
170  itkSetMacro( SubtractMean, bool );
171  itkGetConstReferenceMacro( SubtractMean, bool );
172  itkBooleanMacro( SubtractMean );
173 
174 protected:
177  void PrintSelf( std::ostream& os, Indent indent ) const;
178 
192 
197  const TransformJacobianType & jacobian,
198  const MovingImageDerivativeType & movingImageDerivative,
199  DerivativeType & imageJacobian) const;
200 
204  const RealType fixedImageValue,
205  const RealType movingImageValue,
206  const DerivativeType & imageJacobian,
207  const NonZeroJacobianIndicesType & nzji,
208  DerivativeType & derivativeF,
209  DerivativeType & derivativeM,
210  DerivativeType & differential ) const;
211 
212 private:
213  AdvancedNormalizedCorrelationImageToImageMetric(const Self&); //purposely not implemented
214  void operator=(const Self&); //purposely not implemented
215 
217 
218 }; // end class AdvancedNormalizedCorrelationImageToImageMetric
219 
220 } // end namespace itk
221 
222 #ifndef ITK_MANUAL_INSTANTIATION
223 #include "itkAdvancedNormalizedCorrelationImageToImageMetric.txx"
224 #endif
225 
226 #endif // end #ifndef __itkAdvancedNormalizedCorrelationImageToImageMetric_h
227 
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageType MovingImageType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
void GetValueAndDerivative(const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
Superclass::GradientPixelType GradientPixelType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
Superclass::FixedImageRegionType FixedImageRegionType
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
MovingImageType::IndexType MovingImageIndexType
InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
TransformType::InputPointType FixedImagePointType
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
ImageSamplerBase< FixedImageType > ImageSamplerType
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::InterpolatorPointer InterpolatorPointer
FixedArray< double, itkGetStaticConstMacro(MovingImageDimension) > MovingImageDerivativeScalesType
FixedImageIndexType::IndexValueType FixedImageIndexValueType
TransformType::OutputPointType MovingImagePointType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::GradientImageType GradientImageType
Superclass::TransformPointer TransformPointer
void UpdateDerivativeTerms(const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &derivativeF, DerivativeType &derivativeM, DerivativeType &differential) const
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::GradientImageFilterType GradientImageFilterType
MovingImageType::RegionType MovingImageRegionType
Superclass::InterpolatorType InterpolatorType
Superclass::TransformJacobianType TransformJacobianType
GradientImageFilter< MovingImageType, RealType, RealType > CentralDifferenceGradientFilterType
Computes normalized correlation between two images, based on AdvancedImageToImageMetric...
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
void GetDerivative(const TransformParametersType &parameters, DerivativeType &Derivative) const
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
Superclass::FixedImageMaskType FixedImageMaskType
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
MeasureType GetValue(const TransformParametersType &parameters) const
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImagePointer GradientImagePointer


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo