14 #ifndef __itkNormalizedGradientCorrelationImageToImageMetric_h
15 #define __itkNormalizedGradientCorrelationImageToImageMetric_h
18 #include "itkSobelOperator.h"
19 #include "itkNeighborhoodOperatorImageFilter.h"
21 #include "itkCastImageFilter.h"
22 #include "itkResampleImageFilter.h"
23 #include "itkOptimizer.h"
39 template <
class TFixedImage,
class TMovingImage >
59 #if defined(_MSC_VER) && (_MSC_VER == 1300)
62 typedef typename Superclass::RealType
RealType;
87 itkStaticConstMacro( FixedImageDimension,
unsigned int, TFixedImage::ImageDimension );
95 typedef itk::Image<
unsigned char,
98 typedef itk::ResampleImageFilter<
114 itkStaticConstMacro( MovedImageDimension,
unsigned int, MovingImageType::ImageDimension );
136 virtual void Initialize(
void ) throw ( ExceptionObject );
139 void WriteGradientImagesToFiles(
void ) const;
143 itkGetConstReferenceMacro( Scales, ScalesType );
148 itkSetMacro( DerivativeDelta,
double );
149 itkGetConstReferenceMacro( DerivativeDelta,
double );
156 virtual ~NormalizedGradientCorrelationImageToImageMetric() {};
157 virtual void PrintSelf( std::ostream& os, Indent indent )
const;
160 void ComputeMeanMovedGradient(
void )
const;
161 void ComputeMeanFixedGradient(
void )
const;
164 MeasureType ComputeMeasure(
const TransformParametersType & parameters )
const;
165 typedef NeighborhoodOperatorImageFilter<
167 typedef NeighborhoodOperatorImageFilter<
172 void operator=(
const Self&);
191 itkGetStaticConstMacro(FixedImageDimension) >
192 m_FixedSobelOperators[FixedImageDimension];
194 typename FixedSobelFilter::Pointer m_FixedSobelFilters
195 [itkGetStaticConstMacro( FixedImageDimension )];
203 itkGetStaticConstMacro(MovedImageDimension) >
204 m_MovedSobelOperators[MovedImageDimension];
206 typename MovedSobelFilter::Pointer m_MovedSobelFilters[
207 itkGetStaticConstMacro( MovedImageDimension ) ];
214 #ifndef ITK_MANUAL_INSTANTIATION
215 #include "itkNormalizedGradientCorrelationImageToImageMetric.hxx"
Superclass::TransformJacobianType TransformJacobianType
Superclass::MeasureType MeasureType
SmartPointer< Self > Pointer
InterpolatorType::Pointer InterpolatorPointer
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageType MovingImageType
CastFixedImageFilterType::Pointer CastFixedImageFilterPointer
itk::Image< RealType, itkGetStaticConstMacro(MovedImageDimension) > MovedGradientImageType
CombinationTransformPointer m_CombinationTransform
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
SmartPointer< const Self > ConstPointer
TransformType::ScalarType ScalarType
NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > FixedSobelFilter
CombinationTransformType::Pointer CombinationTransformPointer
CastMovedImageFilterType::Pointer CastMovedImageFilterPointer
itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > TransformedMovingImageType
Superclass::TransformParametersType TransformParametersType
CastFixedImageFilterPointer m_CastFixedImageFilter
RayCastInterpolatorType::Pointer RayCastInterpolatorPointer
TransformType::ConstPointer TransformConstPointer
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::FixedImageConstPointer FixedImageConstPointer
FixedGradientImageType::PixelType FixedGradientPixelType
Superclass::FixedImageType FixedImageType
Superclass::TransformType TransformType
itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > CastMovedImageFilterType
Superclass::MovingImagePointer MovingImagePointer
OptimizerType::ScalesType ScalesType
itk::CastImageFilter< FixedImageType, FixedGradientImageType > CastFixedImageFilterType
NormalizedGradientCorrelationImageToImageMetric Self
itk::Image< RealType, itkGetStaticConstMacro(FixedImageDimension) > FixedGradientImageType
MaskImageType::Pointer MaskImageTypePointer
Superclass::TransformPointer TransformPointer
TransformType::ScalarType ScalarType
itk::Optimizer OptimizerType
Superclass::FixedImageType FixedImageType
MovedGradientImageType::PixelType MovedGradientPixelType
CastMovedImageFilterPointer m_CastMovedImageFilter
itk::Image< unsigned char, itkGetStaticConstMacro(FixedImageDimension) > MaskImageType
itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > RayCastInterpolatorType
TransformMovingImageFilterPointer m_TransformMovingImageFilter
Superclass::MovingImageConstPointer MovingImageConstPointer
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
Superclass::FixedImageRegionType FixedImageRegionType
Projective interpolation of an image at specified positions.
TransformMovingImageFilterType::Pointer TransformMovingImageFilterPointer
TMovingImage::PixelType MovedImagePixelType
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::RealType RealType
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > m_FixedBoundCond
Superclass::MovingImageType MovingImageType
FixedImageType::PixelType FixedImagePixelType
Superclass::DerivativeType DerivativeType
TFixedImage::PixelType FixedImagePixelType
Superclass::InterpolatorType InterpolatorType
An metric based on the itk::NormalizedGradientCorrelationImageToImageMetric.
SmartPointer< Self > Pointer
Superclass::MeasureType MeasureType
itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > TransformMovingImageFilterType
Superclass::RealType RealType
Superclass::DerivativeType DerivativeType
NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > MovedSobelFilter
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > m_MovedBoundCond