30 #ifndef __itkGradientDifferenceImageToImageMetric2_h
31 #define __itkGradientDifferenceImageToImageMetric2_h
35 #include "itkSobelOperator.h"
36 #include "itkNeighborhoodOperatorImageFilter.h"
38 #include "itkCastImageFilter.h"
39 #include "itkResampleImageFilter.h"
40 #include "itkOptimizer.h"
70 template<
class TFixedImage,
class TMovingImage >
91 #if defined( _MSC_VER ) && ( _MSC_VER == 1300 )
117 FixedImageType::ImageDimension );
119 MovingImageType::ImageDimension );
124 typedef itk::Image< FixedImagePixelType, itkGetStaticConstMacro( FixedImageDimension ) >
126 typedef itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType >
131 typedef itk::Image< RealType, itkGetStaticConstMacro( FixedImageDimension ) >
133 typedef itk::CastImageFilter< FixedImageType, FixedGradientImageType >
137 typedef itk::Image< RealType, itkGetStaticConstMacro( MovedImageDimension ) >
139 typedef itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType >
155 virtual void Initialize(
void ) throw ( ExceptionObject );
162 itkGetConstReferenceMacro( Scales, ScalesType );
166 itkSetMacro( DerivativeDelta,
double );
167 itkGetConstReferenceMacro( DerivativeDelta,
double );
172 virtual ~GradientDifferenceImageToImageMetric() {}
173 void PrintSelf( std::ostream & os, Indent indent )
const;
183 const double * subtractionFactor )
const;
185 typedef NeighborhoodOperatorImageFilter<
188 typedef NeighborhoodOperatorImageFilter<
214 itkGetStaticConstMacro( FixedImageDimension ) >
218 ( FixedImageDimension ) ];
227 itkGetStaticConstMacro( MovedImageDimension ) >
231 ( MovedImageDimension ) ];
242 #ifndef ITK_MANUAL_INSTANTIATION
243 #include "itkGradientDifferenceImageToImageMetric2.hxx"
Superclass::MeasureType MeasureType
MeasureType ComputeMeasure(const TransformParametersType ¶meters, const double *subtractionFactor) const
NeighborhoodOperatorImageFilter< FixedGradientImageType, FixedGradientImageType > FixedSobelFilter
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageType MovingImageType
TFixedImage::PixelType FixedImagePixelType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
TMovingImage::PixelType MovedImagePixelType
SobelOperator< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) > m_FixedSobelOperators[FixedImageDimension]
CastFixedImageFilterPointer m_CastFixedImageFilter
GradientDifferenceImageToImageMetric Self
FixedGradientPixelType m_MinFixedGradient[FixedImageDimension]
CastFixedImageFilterType::Pointer CastFixedImageFilterPointer
Superclass::TransformType TransformType
Superclass::TransformType TransformType
OptimizerType::ScalesType ScalesType
RayCastInterpolatorType::Pointer RayCastInterpolatorPointer
virtual void Initialize(void)
CombinationTransformPointer m_CombinationTransform
CastMovedImageFilterType::Pointer CastMovedImageFilterPointer
MovedGradientPixelType m_Variance[FixedImageDimension]
FixedSobelFilter::Pointer m_FixedSobelFilters[itkGetStaticConstMacro(FixedImageDimension)]
Superclass::FixedImageType FixedImageType
void PrintSelf(std::ostream &os, Indent indent) const
InterpolatorType::Pointer InterpolatorPointer
Superclass::DerivativeType DerivativeType
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const
itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > TransformedMovingImageType
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
Superclass::MeasureType MeasureType
MovedSobelFilter::Pointer m_MovedSobelFilters[itkGetStaticConstMacro(MovedImageDimension)]
SmartPointer< Self > Pointer
SmartPointer< Self > Pointer
itk::Image< RealType, itkGetStaticConstMacro(FixedImageDimension) > FixedGradientImageType
itk::Optimizer OptimizerType
SmartPointer< const Self > ConstPointer
Superclass::RealType RealType
FixedGradientPixelType m_MaxFixedGradient[FixedImageDimension]
TransformType::ScalarType ScalarType
void WriteGradientImagesToFiles(void) const
Superclass::FixedImageConstPointer FixedImageConstPointer
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::FixedImageType FixedImageType
NeighborhoodOperatorImageFilter< MovedGradientImageType, MovedGradientImageType > MovedSobelFilter
itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > TransformMovingImageFilterType
Superclass::TransformPointer TransformPointer
MovedGradientPixelType m_MinMovedGradient[MovedImageDimension]
Superclass::MovingImageType MovingImageType
MovedGradientImageType::PixelType MovedGradientPixelType
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > m_FixedBoundCond
itk::Image< RealType, itkGetStaticConstMacro(MovedImageDimension) > MovedGradientImageType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
void operator=(const Self &)
TransformMovingImageFilterType::Pointer m_TransformMovingImageFilter
Superclass::TransformPointer TransformPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
FixedGradientImageType::PixelType FixedGradientPixelType
Superclass::InterpolatorType InterpolatorType
Projective interpolation of an image at specified positions.
Superclass::TransformJacobianType TransformJacobianType
CastMovedImageFilterPointer m_CastMovedImageFilter
void ComputeMovedGradientRange(void) const
Superclass::TransformParametersType TransformParametersType
Computes similarity between two objects to be registered.
void ComputeVariance(void) const
itk::CastImageFilter< TransformedMovingImageType, MovedGradientImageType > CastMovedImageFilterType
MovingImageType::RegionType MovingImageRegionType
SobelOperator< MovedGradientPixelType, itkGetStaticConstMacro(MovedImageDimension) > m_MovedSobelOperators[MovedImageDimension]
Superclass::RealType RealType
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &derivative) const
Superclass::TransformJacobianType TransformJacobianType
itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > RayCastInterpolatorType
MovedGradientPixelType m_MaxMovedGradient[MovedImageDimension]
itk::CastImageFilter< FixedImageType, FixedGradientImageType > CastFixedImageFilterType
Superclass::InterpolatorType InterpolatorType
CombinationTransformType::Pointer CombinationTransformPointer
TransformType::ScalarType ScalarType
Superclass::FixedImageConstPointer FixedImageConstPointer
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > m_MovedBoundCond
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::DerivativeType DerivativeType
GradientDifferenceImageToImageMetric()
MeasureType GetValue(const TransformParametersType ¶meters) const