18#ifndef __itkNormalizedGradientCorrelationImageToImageMetric_h
19#define __itkNormalizedGradientCorrelationImageToImageMetric_h
22#include "itkSobelOperator.h"
23#include "itkNeighborhoodOperatorImageFilter.h"
25#include "itkCastImageFilter.h"
26#include "itkResampleImageFilter.h"
27#include "itkOptimizer.h"
43template<
class TFixedImage,
class TMovingImage >
63 #if defined( _MSC_VER ) && ( _MSC_VER == 1300 )
99 typedef itk::Image<
unsigned char,
102 typedef itk::ResampleImageFilter<
152 itkSetMacro( DerivativeDelta,
double );
153 itkGetConstReferenceMacro( DerivativeDelta,
double );
162 void PrintSelf( std::ostream & os, Indent indent )
const override;
172 typedef NeighborhoodOperatorImageFilter<
174 typedef NeighborhoodOperatorImageFilter<
199 itkGetStaticConstMacro( FixedImageDimension ) >
203 [ itkGetStaticConstMacro( FixedImageDimension ) ];
211 itkGetStaticConstMacro( MovedImageDimension ) >
215 itkGetStaticConstMacro( MovedImageDimension ) ];
221#ifndef ITK_MANUAL_INSTANTIATION
222#include "itkNormalizedGradientCorrelationImageToImageMetric.hxx"
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::TransformJacobianType TransformJacobianType
Superclass::DerivativeType DerivativeType
Superclass::TransformPointer TransformPointer
Superclass::FixedImageType FixedImageType
Superclass::MeasureType MeasureType
MovingImageType::RegionType MovingImageRegionType
MovingImageType::Pointer MovingImagePointer
Superclass::InterpolatorType InterpolatorType
Superclass::TransformType TransformType
Superclass::MovingImageType MovingImageType
TransformType::ScalarType ScalarType
Superclass::RealType RealType
Superclass::FixedImageRegionType FixedImageRegionType
Projective interpolation of an image at specified positions.
An metric based on the itk::NormalizedGradientCorrelationImageToImageMetric.
SmartPointer< Self > Pointer
TransformType::ConstPointer TransformConstPointer
TransformMovingImageFilterType::Pointer TransformMovingImageFilterPointer
Superclass::DerivativeType DerivativeType
MovedSobelFilter::Pointer m_MovedSobelFilters[itkGetStaticConstMacro(MovedImageDimension)]
TransformMovingImageFilterPointer m_TransformMovingImageFilter
itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > TransformMovingImageFilterType
itk::Optimizer OptimizerType
FixedSobelFilter::Pointer m_FixedSobelFilters[itkGetStaticConstMacro(FixedImageDimension)]
CombinationTransformType::Pointer CombinationTransformPointer
void PrintSelf(std::ostream &os, Indent indent) const override
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
CastFixedImageFilterPointer m_CastFixedImageFilter
Superclass::TransformParametersType TransformParametersType
Superclass::TransformJacobianType TransformJacobianType
Superclass::MovingImageRegionType MovingImageRegionType
itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > TransformedMovingImageType
itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > RayCastInterpolatorType
itk::CastImageFilter< FixedImageType, FixedGradientImageType > CastFixedImageFilterType
SobelOperator< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) > m_FixedSobelOperators[FixedImageDimension]
Superclass::TransformPointer TransformPointer
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > m_FixedBoundCond
Superclass::TransformType TransformType
Superclass::MeasureType MeasureType
NormalizedGradientCorrelationImageToImageMetric Self
Superclass::FixedImageType FixedImageType
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > m_MovedBoundCond
NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > FixedSobelFilter
SmartPointer< const Self > ConstPointer
TMovingImage::PixelType MovedImagePixelType
TransformType::ScalarType ScalarType
void WriteGradientImagesToFiles(void) const
CastMovedImageFilterType::Pointer CastMovedImageFilterPointer
void ComputeMeanFixedGradient(void) const
Superclass::InterpolatorType InterpolatorType
MaskImageType::Pointer MaskImageTypePointer
MovedGradientPixelType m_MeanMovedGradient[MovedImageDimension]
FixedGradientImageType::PixelType FixedGradientPixelType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
Superclass::MovingImageType MovingImageType
Superclass::MovingImagePointer MovingImagePointer
RayCastInterpolatorType::Pointer RayCastInterpolatorPointer
void operator=(const Self &)
MovedGradientImageType::PixelType MovedGradientPixelType
Superclass::FixedImageConstPointer FixedImageConstPointer
itk::Image< RealType, itkGetStaticConstMacro(MovedImageDimension) > MovedGradientImageType
Superclass::RealType RealType
void SetTransformParameters(const TransformParametersType ¶meters) const
MeasureType ComputeMeasure(const TransformParametersType ¶meters) const
itkStaticConstMacro(FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
~NormalizedGradientCorrelationImageToImageMetric() override
Superclass::FixedImageRegionType FixedImageRegionType
itkStaticConstMacro(MovedImageDimension, unsigned int, MovingImageType::ImageDimension)
NormalizedGradientCorrelationImageToImageMetric(const Self &)
Superclass::MovingImageConstPointer MovingImageConstPointer
SobelOperator< MovedGradientPixelType, itkGetStaticConstMacro(MovedImageDimension) > m_MovedSobelOperators[MovedImageDimension]
MeasureType GetValue(const TransformParametersType ¶meters) const override
InterpolatorType::Pointer InterpolatorPointer
CombinationTransformPointer m_CombinationTransform
void Initialize(void) override
NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > MovedSobelFilter
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &derivative) const override
CastFixedImageFilterType::Pointer CastFixedImageFilterPointer
CastMovedImageFilterPointer m_CastMovedImageFilter
void ComputeMeanMovedGradient(void) const
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
itk::Image< unsigned char, itkGetStaticConstMacro(FixedImageDimension) > MaskImageType
itk::Image< RealType, itkGetStaticConstMacro(FixedImageDimension) > FixedGradientImageType
NormalizedGradientCorrelationImageToImageMetric()
OptimizerType::ScalesType ScalesType
itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > CastMovedImageFilterType
FixedGradientPixelType m_MeanFixedGradient[FixedImageDimension]
TFixedImage::PixelType FixedImagePixelType