Loading...
Searching...
No Matches
itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

`#include <itkGradientDifferenceImageToImageMetric2.h>`

## Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >

Computes similarity between two objects to be registered.

This Class is templated over the type of the Images to be compared and over the type of transformation and Iterpolator to be used.

This metric computes the sum of squared differences between pixels in the derivatives of the moving and fixed images after passing the squared difference through a function of type .

Spatial correspondance between both images is established through a Transform. Pixel values are taken from the Moving image. Their positions are mapped to the Fixed image and result in general in non-grid position on it. Values at these non-grid position of the Fixed image are interpolated using a user-selected Interpolator.

Implementation of this class is based on: Hipwell, J. H., et. al. (2003), "Intensity-Based 2-D-3D Registration of Cerebral Angiograms,", IEEE Transactions on Medical Imaging, 22(11):1417-1426.

Definition at line 74 of file itkGradientDifferenceImageToImageMetric2.h.

Inheritance diagram for itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >:
[legend]

## Public Types

using | CastFixedImageFilterPointer = typename CastFixedImageFilterType::Pointer
using | CastFixedImageFilterType = itk::CastImageFilter<FixedImageType, FixedGradientImageType>
using | CastMovedImageFilterPointer = typename CastMovedImageFilterType::Pointer
using | CastMovedImageFilterType = itk::CastImageFilter<TransformedMovingImageType, MovedGradientImageType>
using | CombinationTransformPointer = typename CombinationTransformType::Pointer
using | CombinationTransformType = typename itk::AdvancedCombinationTransform<ScalarType, FixedImageDimension>
using | ConstPointer = SmartPointer<const Self>
using | FixedGradientImageType = itk::Image<RealType, Self::FixedImageDimension>
using | FixedGradientPixelType = typename FixedGradientImageType::PixelType
using | FixedImagePixelType = typename TFixedImage::PixelType
using | InterpolatorPointer = typename InterpolatorType::Pointer
using | MovedGradientImageType = itk::Image<RealType, Self::MovedImageDimension>
using | MovedGradientPixelType = typename MovedGradientImageType::PixelType
using | MovedImagePixelType = typename TMovingImage::PixelType
using | MovingImageRegionType = typename MovingImageType::RegionType
using | Pointer = SmartPointer<Self>
using | RayCastInterpolatorPointer = typename RayCastInterpolatorType::Pointer
using | RayCastInterpolatorType = typename itk::AdvancedRayCastInterpolateImageFunction<MovingImageType, ScalarType>
using | ScalarType = typename TransformType::ScalarType
using | ScalesType = typename Optimizer::ScalesType
using | Self = GradientDifferenceImageToImageMetric
using | Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage>
using | TransformedMovingImageType = itk::Image<FixedImagePixelType, Self::FixedImageDimension>
using | TransformMovingImageFilterType = itk::ResampleImageFilter<MovingImageType, TransformedMovingImageType>
Public Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
using | AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension>
using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer
using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1>
using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer
using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2>
using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer
using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3>
using | CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension>
using | ConstPointer = SmartPointer<const Self>
using | DerivativeValueType = typename DerivativeType::ValueType
using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType
using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer
using | FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension>
using | FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType>
using | FixedImageMaskPointer = SmartPointer<FixedImageMaskType>
using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>
using | FixedImagePixelType = typename FixedImageType::PixelType
using | FixedImagePointer = typename FixedImageType::Pointer
using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer
using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType
using | ImageSamplerPointer = typename ImageSamplerType::Pointer
using | ImageSamplerType = ImageSamplerBase<FixedImageType>
using | MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension>
using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType
using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer
using | MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension>
using | MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType>
using | MovingImageMaskPointer = SmartPointer<MovingImageMaskType>
using | MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension>
using | MovingImagePointer = typename MovingImageType::Pointer
using | MovingImageRegionType = typename MovingImageType::RegionType
using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType
using | Pointer = SmartPointer<Self>
using | ScalarType = typename TransformType::ScalarType
using | Self = AdvancedImageToImageMetric
using | Superclass = ImageToImageMetric<TFixedImage, TMovingImage>
using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo

## Public Member Functions

virtual const char * | GetClassName () const
void | GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const override
virtual const double & | GetDerivativeDelta ()
virtual const ScalesType & | GetScales ()
MeasureType | GetValue (const TransformParametersType &parameters) const override
void | GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &derivative) const override
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (GradientDifferenceImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovedImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SetDerivativeDelta (double _arg)
virtual void | SetScales (ScalesType _arg)
void | WriteGradientImagesToFiles () const
Public Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageLimiterType * | GetFixedImageLimiter ()
const FixedImageMaskType * | GetFixedImageMask () const override
virtual double | GetFixedLimitRangeRatio () const
ImageSamplerType * | GetImageSampler () const
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales ()
virtual const MovingImageLimiterType * | GetMovingImageLimiter ()
const MovingImageMaskType * | GetMovingImageMask () const override
virtual double | GetMovingLimitRangeRatio () const
virtual double | GetRequiredRatioOfValidSamples () const
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const
const AdvancedTransformType * | GetTransform () const override
AdvancedTransformType * | GetTransform () override
virtual bool | GetUseFixedImageLimiter () const
virtual bool | GetUseImageSampler () const
virtual const bool & | GetUseMetricSingleThreaded ()
virtual bool | GetUseMovingImageDerivativeScales () const
virtual bool | GetUseMovingImageLimiter () const
virtual const bool & | GetUseMultiThread ()
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg)
virtual void | SetFixedImageMask (const FixedImageMaskType *const arg)
virtual void | SetFixedLimitRangeRatio (double _arg)
virtual void | SetImageSampler (ImageSamplerType *_arg)
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg)
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg)
virtual void | SetMovingImageMask (const MovingImageMaskType *const arg)
virtual void | SetMovingLimitRangeRatio (double _arg)
virtual void | SetRequiredRatioOfValidSamples (double _arg)
virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg)
virtual void | SetTransform (AdvancedTransformType *arg)
virtual void | SetUseMetricSingleThreaded (bool _arg)
virtual void | SetUseMovingImageDerivativeScales (bool _arg)
virtual void | SetUseMultiThread (bool _arg)
virtual void | UseMetricSingleThreadedOff ()
virtual void | UseMetricSingleThreadedOn ()
virtual void | UseMultiThreadOff ()
virtual void | UseMultiThreadOn ()

## Static Public Member Functions

static Pointer | New ()

## Protected Types

using | FixedSobelFilter = NeighborhoodOperatorImageFilter<FixedGradientImageType, FixedGradientImageType>
using | MovedSobelFilter = NeighborhoodOperatorImageFilter<MovedGradientImageType, MovedGradientImageType>
Protected Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
using | BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer
using | BSplineInterpolatorFloatType
using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer
using | BSplineInterpolatorType
using | FixedImageIndexType = typename FixedImageType::IndexType
using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType
using | FixedImagePointType = typename TransformType::InputPointType
using | LinearInterpolatorPointer = typename LinearInterpolatorType::Pointer
using | LinearInterpolatorType = AdvancedLinearInterpolateImageFunction<MovingImageType, CoordinateRepresentationType>
using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType
using | MovingImageIndexType = typename MovingImageType::IndexType
using | MovingImagePointType = typename TransformType::OutputPointType
using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType
using | ReducedBSplineInterpolatorPointer = typename ReducedBSplineInterpolatorType::Pointer
using | ReducedBSplineInterpolatorType

## Protected Member Functions

MeasureType | ComputeMeasure (const TransformParametersType &parameters, const double *subtractionFactor) const
void | ComputeMovedGradientRange () const
void | ComputeVariance () const
| GradientDifferenceImageToImageMetric ()=default
void | PrintSelf (std::ostream &os, Indent indent) const override
| ~GradientDifferenceImageToImageMetric () override=default
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
| AdvancedImageToImageMetric ()
virtual void | AfterThreadedGetValue (MeasureType &) const
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const
void | CheckForAdvancedTransform ()
void | CheckForBSplineInterpolator ()
void | CheckForBSplineTransform () const
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const
virtual void | InitializeImageSampler ()
void | InitializeLimiters ()
virtual void | InitializeThreadingParameters () const
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
void | LaunchGetValueAndDerivativeThreaderCallback () const
void | LaunchGetValueThreaderCallback () const
void | PrintSelf (std::ostream &os, Indent indent) const override
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final
virtual void | SetUseFixedImageLimiter (bool _arg)
virtual void | SetUseImageSampler (bool _arg)
virtual void | SetUseMovingImageLimiter (bool _arg)
virtual void | ThreadedGetValue (ThreadIdType) const
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const
| ~AdvancedImageToImageMetric () override=default

## Private Attributes

CastFixedImageFilterPointer | m_CastFixedImageFilter { CastFixedImageFilterType::New() }
CastMovedImageFilterPointer | m_CastMovedImageFilter { CastMovedImageFilterType::New() }
CombinationTransformPointer | m_CombinationTransform { CombinationTransformType::New() }
double | m_DerivativeDelta { 0.001 }
ZeroFluxNeumannBoundaryCondition< FixedGradientImageType > | m_FixedBoundCond {}
FixedSobelFilter::Pointer | m_FixedSobelFilters [Self::FixedImageDimension] {}
SobelOperator< FixedGradientPixelType, Self::FixedImageDimension > | m_FixedSobelOperators [FixedImageDimension] {}
FixedGradientPixelType | m_MaxFixedGradient [FixedImageDimension] {}
MovedGradientPixelType | m_MaxMovedGradient [MovedImageDimension] {}
FixedGradientPixelType | m_MinFixedGradient [FixedImageDimension] {}
MovedGradientPixelType | m_MinMovedGradient [MovedImageDimension] {}
ZeroFluxNeumannBoundaryCondition< MovedGradientImageType > | m_MovedBoundCond {}
MovedSobelFilter::Pointer | m_MovedSobelFilters [Self::MovedImageDimension] {}
SobelOperator< MovedGradientPixelType, Self::MovedImageDimension > | m_MovedSobelOperators [MovedImageDimension] {}
double | m_Rescalingfactor { 1.0 }
ScalesType | m_Scales {}
TransformMovingImageFilterType::Pointer | m_TransformMovingImageFilter
MovedGradientPixelType | m_Variance [FixedImageDimension] {}

## Additional Inherited Members

Static Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueThreaderCallback (void *arg)
Protected Attributes inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
AdvancedTransformType::Pointer | m_AdvancedTransform { nullptr }
FixedImageLimiterOutputType | m_FixedImageMaxLimit { 1 }
FixedImageLimiterOutputType | m_FixedImageMinLimit { 0 }
FixedImagePixelType | m_FixedImageTrueMax { 1 }
FixedImagePixelType | m_FixedImageTrueMin { 0 }
double | m_FixedLimitRangeRatio { 0.01 }
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> | m_GetValueAndDerivativePerThreadVariables
ThreadIdType | m_GetValueAndDerivativePerThreadVariablesSize { 0 }
ImageSamplerPointer | m_ImageSampler { nullptr }
MovingImageLimiterOutputType | m_MovingImageMaxLimit { 1 }
MovingImageLimiterOutputType | m_MovingImageMinLimit { 0 }
MovingImagePixelType | m_MovingImageTrueMax { 1 }
MovingImagePixelType | m_MovingImageTrueMin { 0 }
double | m_MovingLimitRangeRatio { 0.01 }
MultiThreaderParameterType | m_ThreaderMetricParameters {}
bool | m_TransformIsBSpline { false }
bool | m_UseMetricSingleThreaded { true }
bool | m_UseMultiThread { false }

## Member Typedef Documentation

## CastFixedImageFilterPointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastFixedImageFilterPointer = typename CastFixedImageFilterType::Pointer

Definition at line 130 of file itkGradientDifferenceImageToImageMetric2.h.

## CastFixedImageFilterType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastFixedImageFilterType = itk::CastImageFilter<FixedImageType, FixedGradientImageType>

Definition at line 129 of file itkGradientDifferenceImageToImageMetric2.h.

## CastMovedImageFilterPointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastMovedImageFilterPointer = typename CastMovedImageFilterType::Pointer

Definition at line 134 of file itkGradientDifferenceImageToImageMetric2.h.

## CastMovedImageFilterType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CastMovedImageFilterType = itk::CastImageFilter<TransformedMovingImageType, MovedGradientImageType>

Definition at line 133 of file itkGradientDifferenceImageToImageMetric2.h.

## CombinationTransformPointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CombinationTransformPointer = typename CombinationTransformType::Pointer

Definition at line 123 of file itkGradientDifferenceImageToImageMetric2.h.

## CombinationTransformType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::CombinationTransformType = typename itk::AdvancedCombinationTransform<ScalarType, FixedImageDimension>

Definition at line 122 of file itkGradientDifferenceImageToImageMetric2.h.

## ConstPointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self>

Definition at line 85 of file itkGradientDifferenceImageToImageMetric2.h.

## FixedGradientImageType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedGradientImageType = itk::Image<RealType, Self::FixedImageDimension>

Definition at line 128 of file itkGradientDifferenceImageToImageMetric2.h.

## FixedGradientPixelType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedGradientPixelType = typename FixedGradientImageType::PixelType

Definition at line 131 of file itkGradientDifferenceImageToImageMetric2.h.

## FixedImagePixelType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename TFixedImage::PixelType

Definition at line 114 of file itkGradientDifferenceImageToImageMetric2.h.

## FixedSobelFilter

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::FixedSobelFilter = NeighborhoodOperatorImageFilter<FixedGradientImageType, FixedGradientImageType>

protected

Definition at line 185 of file itkGradientDifferenceImageToImageMetric2.h.

## InterpolatorPointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer = typename InterpolatorType::Pointer

Definition at line 107 of file itkGradientDifferenceImageToImageMetric2.h.

## MovedGradientImageType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedGradientImageType = itk::Image<RealType, Self::MovedImageDimension>

Definition at line 132 of file itkGradientDifferenceImageToImageMetric2.h.

## MovedGradientPixelType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedGradientPixelType = typename MovedGradientImageType::PixelType

Definition at line 135 of file itkGradientDifferenceImageToImageMetric2.h.

## MovedImagePixelType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedImagePixelType = typename TMovingImage::PixelType

Definition at line 115 of file itkGradientDifferenceImageToImageMetric2.h.

## MovedSobelFilter

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovedSobelFilter = NeighborhoodOperatorImageFilter<MovedGradientImageType, MovedGradientImageType>

protected

Definition at line 187 of file itkGradientDifferenceImageToImageMetric2.h.

## MovingImageRegionType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType = typename MovingImageType::RegionType

Definition at line 116 of file itkGradientDifferenceImageToImageMetric2.h.

## Pointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self>

Definition at line 84 of file itkGradientDifferenceImageToImageMetric2.h.

## RayCastInterpolatorPointer

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::RayCastInterpolatorPointer = typename RayCastInterpolatorType::Pointer

Definition at line 127 of file itkGradientDifferenceImageToImageMetric2.h.

## RayCastInterpolatorType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::RayCastInterpolatorType = typename itk::AdvancedRayCastInterpolateImageFunction<MovingImageType, ScalarType>

Definition at line 126 of file itkGradientDifferenceImageToImageMetric2.h.

## ScalarType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ScalarType = typename TransformType::ScalarType

Definition at line 102 of file itkGradientDifferenceImageToImageMetric2.h.

## ScalesType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ScalesType = typename Optimizer::ScalesType

Definition at line 117 of file itkGradientDifferenceImageToImageMetric2.h.

## Self

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Self = GradientDifferenceImageToImageMetric

Standard class typedefs.

Definition at line 81 of file itkGradientDifferenceImageToImageMetric2.h.

## Superclass

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage>

Definition at line 82 of file itkGradientDifferenceImageToImageMetric2.h.

## TransformedMovingImageType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformedMovingImageType = itk::Image<FixedImagePixelType, Self::FixedImageDimension>

Definition at line 124 of file itkGradientDifferenceImageToImageMetric2.h.

## TransformMovingImageFilterType

template<class TFixedImage, class TMovingImage>

using itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::TransformMovingImageFilterType = itk::ResampleImageFilter<MovingImageType, TransformedMovingImageType>

Definition at line 125 of file itkGradientDifferenceImageToImageMetric2.h.

## Constructor & Destructor Documentation

## GradientDifferenceImageToImageMetric()

template<class TFixedImage, class TMovingImage>

itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GradientDifferenceImageToImageMetric | ( |  | ) |

protected default

## ~GradientDifferenceImageToImageMetric()

template<class TFixedImage, class TMovingImage>

itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::~GradientDifferenceImageToImageMetric | ( |  | ) |

override protected default

## Member Function Documentation

## ComputeMeasure()

template<class TFixedImage, class TMovingImage>

MeasureType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeMeasure | ( | const TransformParametersType & | parameters,
|  | const double * | subtractionFactor ) const

protected

Compute the similarity measure using a specified subtraction factor.

## ComputeMovedGradientRange()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeMovedGradientRange | ( |  | ) | const

protected

Compute the range of the moved image gradients.

## ComputeVariance()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ComputeVariance | ( |  | ) | const

protected

Compute the variance and range of the moving image gradients.

## GetClassName()

template<class TFixedImage, class TMovingImage>

virtual const char * itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Reimplemented in elastix::GradientDifferenceMetric< TElastix >.

## GetDerivative()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative | ( | const TransformParametersType & | parameters,
|  | DerivativeType & | derivative ) const

override

Get the derivatives of the match measure.

## GetDerivativeDelta()

template<class TFixedImage, class TMovingImage>

virtual const double & itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetDerivativeDelta | ( |  | ) |

virtual

## GetScales()

template<class TFixedImage, class TMovingImage>

virtual const ScalesType & itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetScales | ( |  | ) |

virtual

## GetValue()

template<class TFixedImage, class TMovingImage>

MeasureType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetValue | ( | const TransformParametersType & | parameters | ) | const

override

Get the value for single valued optimizers.

## GetValueAndDerivative()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative | ( | const TransformParametersType & | parameters,
|  | MeasureType & | Value,
|  | DerivativeType & | derivative ) const

override

Get value and derivatives for multiple valued optimizers.

## Initialize()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Initialize | ( |  | ) |

override

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage, class TMovingImage>

itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TFixedImage, class TMovingImage>

itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

## itkStaticConstMacro() [2/2]

template<class TFixedImage, class TMovingImage>

itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | MovedImageDimension | ,
|  | unsigned int | ,
|  | MovingImageType::ImageDimension | )

## New()

template<class TFixedImage, class TMovingImage>

Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::New | ( |  | ) |

static

Method for creation through the object factory.

## PrintSelf()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf | ( | std::ostream & | os,
|  | Indent | indent ) const

override protected

## SetDerivativeDelta()

template<class TFixedImage, class TMovingImage>

virtual void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::SetDerivativeDelta | ( | double | _arg | ) |

virtual

Set/Get the value of Delta used for computing derivatives by finite differences in the GetDerivative() method

## SetScales()

template<class TFixedImage, class TMovingImage>

virtual void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::SetScales | ( | ScalesType | _arg | ) |

virtual

Set/Get Scales

## WriteGradientImagesToFiles()

template<class TFixedImage, class TMovingImage>

void itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::WriteGradientImagesToFiles | ( |  | ) | const

Write gradient images to a files for debugging purposes.

## Field Documentation

## m_CastFixedImageFilter

template<class TFixedImage, class TMovingImage>

CastFixedImageFilterPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_CastFixedImageFilter { CastFixedImageFilterType::New() }

private

The Sobel gradients of the fixed image

Definition at line 207 of file itkGradientDifferenceImageToImageMetric2.h.

## m_CastMovedImageFilter

template<class TFixedImage, class TMovingImage>

CastMovedImageFilterPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_CastMovedImageFilter { CastMovedImageFilterType::New() }

private

The Sobel gradients of the moving image

Definition at line 217 of file itkGradientDifferenceImageToImageMetric2.h.

## m_CombinationTransform

template<class TFixedImage, class TMovingImage>

CombinationTransformPointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_CombinationTransform { CombinationTransformType::New() }

private

Definition at line 226 of file itkGradientDifferenceImageToImageMetric2.h.

## m_DerivativeDelta

template<class TFixedImage, class TMovingImage>

double itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_DerivativeDelta { 0.001 }

private

Definition at line 224 of file itkGradientDifferenceImageToImageMetric2.h.

## m_FixedBoundCond

template<class TFixedImage, class TMovingImage>

ZeroFluxNeumannBoundaryCondition<FixedGradientImageType> itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_FixedBoundCond {}

private

Definition at line 214 of file itkGradientDifferenceImageToImageMetric2.h.

## m_FixedSobelFilters

template<class TFixedImage, class TMovingImage>

FixedSobelFilter::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_FixedSobelFilters[Self::FixedImageDimension] {}

private

Definition at line 211 of file itkGradientDifferenceImageToImageMetric2.h.

## m_FixedSobelOperators

template<class TFixedImage, class TMovingImage>

SobelOperator<FixedGradientPixelType, Self::FixedImageDimension> itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_FixedSobelOperators[FixedImageDimension] {}

private

Definition at line 209 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MaxFixedGradient

template<class TFixedImage, class TMovingImage>

FixedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MaxFixedGradient[FixedImageDimension] {}

mutable private

Definition at line 199 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MaxMovedGradient

template<class TFixedImage, class TMovingImage>

MovedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MaxMovedGradient[MovedImageDimension] {}

mutable private

Definition at line 195 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MinFixedGradient

template<class TFixedImage, class TMovingImage>

FixedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MinFixedGradient[FixedImageDimension] {}

mutable private

The range of the fixed image gradients.

Definition at line 198 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MinMovedGradient

template<class TFixedImage, class TMovingImage>

MovedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MinMovedGradient[MovedImageDimension] {}

mutable private

The range of the moving image gradients.

Definition at line 194 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MovedBoundCond

template<class TFixedImage, class TMovingImage>

ZeroFluxNeumannBoundaryCondition<MovedGradientImageType> itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MovedBoundCond {}

private

Definition at line 213 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MovedSobelFilters

template<class TFixedImage, class TMovingImage>

MovedSobelFilter::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MovedSobelFilters[Self::MovedImageDimension] {}

private

Definition at line 221 of file itkGradientDifferenceImageToImageMetric2.h.

## m_MovedSobelOperators

template<class TFixedImage, class TMovingImage>

SobelOperator<MovedGradientPixelType, Self::MovedImageDimension> itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_MovedSobelOperators[MovedImageDimension] {}

private

Definition at line 219 of file itkGradientDifferenceImageToImageMetric2.h.

## m_Rescalingfactor

template<class TFixedImage, class TMovingImage>

double itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_Rescalingfactor { 1.0 }

private

Definition at line 225 of file itkGradientDifferenceImageToImageMetric2.h.

## m_Scales

template<class TFixedImage, class TMovingImage>

ScalesType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_Scales {}

private

Definition at line 223 of file itkGradientDifferenceImageToImageMetric2.h.

## m_TransformMovingImageFilter

template<class TFixedImage, class TMovingImage>

TransformMovingImageFilterType::Pointer itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_TransformMovingImageFilter

private

Initial value:
{
TransformMovingImageFilterType::New()
}

The filter for transforming the moving image.

Definition at line 202 of file itkGradientDifferenceImageToImageMetric2.h.

## m_Variance

template<class TFixedImage, class TMovingImage>

MovedGradientPixelType itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >::m_Variance[FixedImageDimension] {}

mutable private

The variance of the moving image gradients.

Definition at line 191 of file itkGradientDifferenceImageToImageMetric2.h.

Generated on 1768596610 for elastix by 1.15.0 |