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" 43 template<
class TFixedImage,
class TMovingImage >
63 #if defined( _MSC_VER ) && ( _MSC_VER == 1300 ) 99 typedef itk::Image<
unsigned char,
102 typedef itk::ResampleImageFilter<
127 virtual void GetDerivative(
const TransformParametersType & parameters,
128 DerivativeType & derivative )
const;
131 virtual MeasureType
GetValue(
const TransformParametersType & parameters )
const;
135 MeasureType & Value, DerivativeType & derivative )
const;
140 virtual void Initialize(
void ) throw ( ExceptionObject );
146 itkSetMacro( Scales, ScalesType );
147 itkGetConstReferenceMacro( Scales, ScalesType );
152 itkSetMacro( DerivativeDelta,
double );
153 itkGetConstReferenceMacro( DerivativeDelta,
double );
161 virtual ~NormalizedGradientCorrelationImageToImageMetric() {}
162 virtual void PrintSelf( std::ostream & os, Indent indent )
const;
170 MeasureType
ComputeMeasure(
const TransformParametersType & parameters )
const;
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" Superclass::TransformJacobianType TransformJacobianType
Superclass::MeasureType MeasureType
itkStaticConstMacro(FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
InterpolatorType::Pointer InterpolatorPointer
MeasureType ComputeMeasure(const TransformParametersType ¶meters) const
void ComputeMeanFixedGradient(void) const
NormalizedGradientCorrelationImageToImageMetric()
MovedSobelFilter::Pointer m_MovedSobelFilters[itkGetStaticConstMacro(MovedImageDimension)]
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageType MovingImageType
void WriteGradientImagesToFiles(void) const
CastFixedImageFilterType::Pointer CastFixedImageFilterPointer
MovedGradientPixelType m_MeanMovedGradient[MovedImageDimension]
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...
TransformType::ScalarType ScalarType
NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > FixedSobelFilter
virtual void Initialize(void)
virtual void PrintSelf(std::ostream &os, Indent indent) const
CombinationTransformType::Pointer CombinationTransformPointer
Superclass::TransformType TransformType
CastMovedImageFilterType::Pointer CastMovedImageFilterPointer
Superclass::FixedImageRegionType FixedImageRegionType
SmartPointer< Self > Pointer
itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > TransformedMovingImageType
Superclass::TransformParametersType TransformParametersType
CastFixedImageFilterPointer m_CastFixedImageFilter
RayCastInterpolatorType::Pointer RayCastInterpolatorPointer
TransformType::ConstPointer TransformConstPointer
virtual void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &derivative) const
Superclass::FixedImageConstPointer FixedImageConstPointer
FixedGradientImageType::PixelType FixedGradientPixelType
FixedGradientPixelType m_MeanFixedGradient[FixedImageDimension]
Superclass::FixedImageType FixedImageType
Superclass::TransformType TransformType
FixedSobelFilter::Pointer m_FixedSobelFilters[itkGetStaticConstMacro(FixedImageDimension)]
virtual void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const
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
void ComputeMeanMovedGradient(void) const
itk::Optimizer OptimizerType
void SetTransformParameters(const TransformParametersType ¶meters) const
Superclass::FixedImageType FixedImageType
MovedGradientImageType::PixelType MovedGradientPixelType
Superclass::TransformPointer TransformPointer
CastMovedImageFilterPointer m_CastMovedImageFilter
itk::Image< unsigned char, itkGetStaticConstMacro(FixedImageDimension) > MaskImageType
itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > RayCastInterpolatorType
TransformMovingImageFilterPointer m_TransformMovingImageFilter
Superclass::MovingImageConstPointer MovingImageConstPointer
MovingImageType::RegionType MovingImageRegionType
SobelOperator< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) > m_FixedSobelOperators[FixedImageDimension]
SmartPointer< const Self > ConstPointer
Superclass::InterpolatorType InterpolatorType
Superclass::FixedImageRegionType FixedImageRegionType
void operator=(const Self &)
Projective interpolation of an image at specified positions.
Superclass::TransformJacobianType TransformJacobianType
MovingImageType::Pointer MovingImagePointer
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
TransformMovingImageFilterType::Pointer TransformMovingImageFilterPointer
TMovingImage::PixelType MovedImagePixelType
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::RealType RealType
SobelOperator< MovedGradientPixelType, itkGetStaticConstMacro(MovedImageDimension) > m_MovedSobelOperators[MovedImageDimension]
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > m_FixedBoundCond
Superclass::MovingImageType MovingImageType
Superclass::DerivativeType DerivativeType
TFixedImage::PixelType FixedImagePixelType
virtual MeasureType GetValue(const TransformParametersType ¶meters) const
Superclass::InterpolatorType InterpolatorType
An metric based on the itk::NormalizedGradientCorrelationImageToImageMetric.
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
Superclass::MeasureType MeasureType
itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > TransformMovingImageFilterType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::RealType RealType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::DerivativeType DerivativeType
NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > MovedSobelFilter
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > m_MovedBoundCond