34#ifndef __itkGradientDifferenceImageToImageMetric2_h
35#define __itkGradientDifferenceImageToImageMetric2_h
39#include "itkSobelOperator.h"
40#include "itkNeighborhoodOperatorImageFilter.h"
42#include "itkCastImageFilter.h"
43#include "itkResampleImageFilter.h"
44#include "itkOptimizer.h"
74template<
class TFixedImage,
class TMovingImage >
95 #if defined( _MSC_VER ) && ( _MSC_VER == 1300 )
121 FixedImageType::ImageDimension );
123 MovingImageType::ImageDimension );
130 typedef itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType >
135 typedef itk::Image<
RealType, itkGetStaticConstMacro( FixedImageDimension ) >
137 typedef itk::CastImageFilter< FixedImageType, FixedGradientImageType >
141 typedef itk::Image<
RealType, itkGetStaticConstMacro( MovedImageDimension ) >
143 typedef itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType >
170 itkSetMacro( DerivativeDelta,
double );
171 itkGetConstReferenceMacro( DerivativeDelta,
double );
177 void PrintSelf( std::ostream & os, Indent indent )
const override;
187 const double * subtractionFactor )
const;
189 typedef NeighborhoodOperatorImageFilter<
192 typedef NeighborhoodOperatorImageFilter<
218 itkGetStaticConstMacro( FixedImageDimension ) >
222 ( FixedImageDimension ) ];
231 itkGetStaticConstMacro( MovedImageDimension ) >
235 ( MovedImageDimension ) ];
246#ifndef ITK_MANUAL_INSTANTIATION
247#include "itkGradientDifferenceImageToImageMetric2.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
Superclass::InterpolatorType InterpolatorType
Superclass::TransformType TransformType
Superclass::MovingImageType MovingImageType
TransformType::ScalarType ScalarType
Superclass::RealType RealType
Projective interpolation of an image at specified positions.
Computes similarity between two objects to be registered.
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &derivative) const override
SmartPointer< Self > Pointer
itk::Image< RealType, itkGetStaticConstMacro(MovedImageDimension) > MovedGradientImageType
CastMovedImageFilterPointer m_CastMovedImageFilter
Superclass::DerivativeType DerivativeType
Superclass::InterpolatorType InterpolatorType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > m_FixedBoundCond
NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > FixedSobelFilter
CastFixedImageFilterPointer m_CastFixedImageFilter
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
TransformMovingImageFilterType::Pointer m_TransformMovingImageFilter
GradientDifferenceImageToImageMetric()
FixedGradientImageType::PixelType FixedGradientPixelType
SmartPointer< const Self > ConstPointer
void operator=(const Self &)
void Initialize(void) override
CombinationTransformPointer m_CombinationTransform
TransformType::ScalarType ScalarType
MovedGradientPixelType m_Variance[FixedImageDimension]
itk::CastImageFilter< FixedImageType, FixedGradientImageType > CastFixedImageFilterType
CastMovedImageFilterType::Pointer CastMovedImageFilterPointer
FixedGradientPixelType m_MaxFixedGradient[FixedImageDimension]
itkStaticConstMacro(MovedImageDimension, unsigned int, MovingImageType::ImageDimension)
itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > TransformMovingImageFilterType
itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > CastMovedImageFilterType
Superclass::MovingImageType MovingImageType
~GradientDifferenceImageToImageMetric() override
MovedGradientPixelType m_MinMovedGradient[MovedImageDimension]
CombinationTransformType::Pointer CombinationTransformPointer
void WriteGradientImagesToFiles(void) const
MovedGradientImageType::PixelType MovedGradientPixelType
SobelOperator< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) > m_FixedSobelOperators[FixedImageDimension]
itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > RayCastInterpolatorType
void PrintSelf(std::ostream &os, Indent indent) const override
OptimizerType::ScalesType ScalesType
Superclass::MovingImageConstPointer MovingImageConstPointer
itk::Optimizer OptimizerType
NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > MovedSobelFilter
Superclass::TransformType TransformType
FixedSobelFilter::Pointer m_FixedSobelFilters[itkGetStaticConstMacro(FixedImageDimension)]
itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > TransformedMovingImageType
void ComputeMovedGradientRange(void) const
MovedGradientPixelType m_MaxMovedGradient[MovedImageDimension]
CastFixedImageFilterType::Pointer CastFixedImageFilterPointer
Superclass::FixedImageType FixedImageType
Superclass::TransformJacobianType TransformJacobianType
GradientDifferenceImageToImageMetric Self
Superclass::TransformPointer TransformPointer
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
MovingImageType::RegionType MovingImageRegionType
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > m_MovedBoundCond
void ComputeVariance(void) const
TFixedImage::PixelType FixedImagePixelType
Superclass::FixedImageConstPointer FixedImageConstPointer
FixedGradientPixelType m_MinFixedGradient[FixedImageDimension]
SobelOperator< MovedGradientPixelType, itkGetStaticConstMacro(MovedImageDimension) > m_MovedSobelOperators[MovedImageDimension]
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
Superclass::MeasureType MeasureType
Superclass::TransformParametersType TransformParametersType
MeasureType GetValue(const TransformParametersType ¶meters) const override
Superclass::RealType RealType
MeasureType ComputeMeasure(const TransformParametersType ¶meters, const double *subtractionFactor) const
TMovingImage::PixelType MovedImagePixelType
GradientDifferenceImageToImageMetric(const Self &)
RayCastInterpolatorType::Pointer RayCastInterpolatorPointer
itk::Image< RealType, itkGetStaticConstMacro(FixedImageDimension) > FixedGradientImageType
MovedSobelFilter::Pointer m_MovedSobelFilters[itkGetStaticConstMacro(MovedImageDimension)]
InterpolatorType::Pointer InterpolatorPointer