go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkAdvancedImageToImageMetric.h>

Detailed Description

template<typename TFixedImage, typename TMovingImage>
class itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >

An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.

This class inherits from the itk::ImageToImageMetric. The additional features of this class that makes it an AdvancedImageToImageMetric are:

  • The use of an ImageSampler, which selects the fixed image samples over which the metric is evaluated. In the derived metric you simply need to loop over the image sample container, instead over the fixed image. This way it is easy to create different samplers, without the derived metric needing to know.
  • Gray value limiters: for some metrics it is important to know the range of expected gray values in the fixed and moving image, beforehand. However, when a third order B-spline interpolator is used to interpolate the images, the interpolated values may be larger than the range of voxel values, because of so-called overshoot. The gray-value limiters make sure this doesn't happen.
  • Fast implementation when a B-spline transform is used. The B-spline transform has a sparse Jacobian. The AdvancedImageToImageMetric provides functions that make it easier for inheriting metrics to exploit this fact.
  • MovingImageDerivativeScales: an experimental option, which allows scaling of the moving image derivatives. This is a kind of fast hack, which makes it possible to avoid transformation in one direction (x, y, or z). Do not use this functionality unless you have a good reason for it...
  • Some convenience functions are provided, such as the IsInsideMovingMask and CheckNumberOfSamples.

The parameters used in this class are:

Parameters
MovingImageDerivativeScales: scale the moving image derivatives. Use
(MovingImageDerivativeScales 1 1 0)
to penalize deformations in the z-direction. The default value is that this feature is not used.

Definition at line 84 of file itkAdvancedImageToImageMetric.h.

Inheritance diagram for itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >:

Classes

struct  DummyMask
struct  GetValueAndDerivativePerThreadStruct
struct  MultiThreaderParameterType

Public Types

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 void BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageLimiterTypeGetFixedImageLimiter ()
const FixedImageMaskTypeGetFixedImageMask () const override
virtual double GetFixedLimitRangeRatio () const
ImageSamplerTypeGetImageSampler () const
virtual const MovingImageDerivativeScalesTypeGetMovingImageDerivativeScales ()
virtual const MovingImageLimiterTypeGetMovingImageLimiter ()
const MovingImageMaskTypeGetMovingImageMask () const override
virtual double GetMovingLimitRangeRatio () const
virtual double GetRequiredRatioOfValidSamples () const
virtual bool GetScaleGradientWithRespectToMovingImageOrientation () const
const AdvancedTransformTypeGetTransform () const override
AdvancedTransformTypeGetTransform () override
virtual bool GetUseFixedImageLimiter () const
virtual bool GetUseImageSampler () const
virtual const boolGetUseMetricSingleThreaded ()
virtual bool GetUseMovingImageDerivativeScales () const
virtual bool GetUseMovingImageLimiter () const
virtual const boolGetUseMultiThread ()
void Initialize () override
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric)
 itkOverrideGetNameOfClassMacro (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)
void SetRandomVariateGenerator (Statistics::MersenneTwisterRandomVariateGenerator &randomVariateGenerator)
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 ()

Protected Types

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

 AdvancedImageToImageMetric ()
virtual void AfterThreadedGetValue (MeasureType &) const
virtual void AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const
void CheckForAdvancedTransform ()
void CheckForBSplineInterpolator ()
void CheckForBSplineTransform () const
void CheckNumberOfSamples () 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
Statistics::MersenneTwisterRandomVariateGenerator & GetMutableRandomVariateGenerator () const
Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator ()
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

Static Protected Member Functions

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

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 }

Private Member Functions

template<typename... TOptionalThreadId>
bool EvaluateMovingImageValueAndDerivativeWithOptionalThreadId (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const TOptionalThreadId... optionalThreadId) const

Private Attributes

BSplineInterpolatorPointer m_BSplineInterpolator { nullptr }
BSplineInterpolatorFloatPointer m_BSplineInterpolatorFloat { nullptr }
elx::DefaultConstruct< Statistics::MersenneTwisterRandomVariateGenerator > m_DefaultRandomVariateGenerator {}
FixedImageLimiterPointer m_FixedImageLimiter { nullptr }
LinearInterpolatorPointer m_LinearInterpolator { nullptr }
MovingImageDerivativeScalesType m_MovingImageDerivativeScales { MovingImageDerivativeScalesType::Filled(1.0) }
MovingImageLimiterPointer m_MovingImageLimiter { nullptr }
Statistics::MersenneTwisterRandomVariateGenerator * m_RandomVariateGenerator { &m_DefaultRandomVariateGenerator }
ReducedBSplineInterpolatorPointer m_ReducedBSplineInterpolator { nullptr }
double m_RequiredRatioOfValidSamples { 0.25 }
bool m_ScaleGradientWithRespectToMovingImageOrientation { false }
bool m_UseFixedImageLimiter { false }
bool m_UseImageSampler { false }
bool m_UseMovingImageDerivativeScales { false }
bool m_UseMovingImageLimiter { false }

Static Private Attributes

static constexpr DummyMask m_FixedImageMask {}
static constexpr DummyMask m_MovingImageMask {}

Member Typedef Documentation

◆ AdvancedTransformType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension>

Definition at line 159 of file itkAdvancedImageToImageMetric.h.

◆ BSplineInterpolatorFloatPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer
protected

Definition at line 355 of file itkAdvancedImageToImageMetric.h.

◆ BSplineInterpolatorFloatType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorFloatType
protected
Initial value:
BSplineInterpolateImageFunction<MovingImageType, CoordinateRepresentationType, float>

Definition at line 353 of file itkAdvancedImageToImageMetric.h.

◆ BSplineInterpolatorPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer
protected

Definition at line 352 of file itkAdvancedImageToImageMetric.h.

◆ BSplineInterpolatorType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType
protected
Initial value:
BSplineInterpolateImageFunction<MovingImageType, CoordinateRepresentationType, double>

Typedefs used for computing image derivatives.

Definition at line 350 of file itkAdvancedImageToImageMetric.h.

◆ BSplineOrder1TransformPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer

Definition at line 167 of file itkAdvancedImageToImageMetric.h.

◆ BSplineOrder1TransformType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1>

Definition at line 164 of file itkAdvancedImageToImageMetric.h.

◆ BSplineOrder2TransformPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer

Definition at line 168 of file itkAdvancedImageToImageMetric.h.

◆ BSplineOrder2TransformType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2>

Definition at line 165 of file itkAdvancedImageToImageMetric.h.

◆ BSplineOrder3TransformPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer

Definition at line 169 of file itkAdvancedImageToImageMetric.h.

◆ BSplineOrder3TransformType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3>

Definition at line 166 of file itkAdvancedImageToImageMetric.h.

◆ CombinationTransformType

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

Typedef's for the B-spline transform.

Definition at line 163 of file itkAdvancedImageToImageMetric.h.

◆ ConstPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self>

Definition at line 93 of file itkAdvancedImageToImageMetric.h.

◆ DerivativeValueType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType = typename DerivativeType::ValueType

Definition at line 135 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageIndexType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType = typename FixedImageType::IndexType
protected

Protected Typedefs Typedefs for indices and points.

Definition at line 342 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageIndexValueType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType
protected

Definition at line 343 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageLimiterOutputType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType

Definition at line 152 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageLimiterPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer

Definition at line 151 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageLimiterType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension>

Typedefs for Limiter support.

Definition at line 150 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageMaskConstPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType>

Definition at line 128 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageMaskPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer = SmartPointer<FixedImageMaskType>

Definition at line 127 of file itkAdvancedImageToImageMetric.h.

◆ FixedImageMaskType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>

Definition at line 126 of file itkAdvancedImageToImageMetric.h.

◆ FixedImagePixelType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename FixedImageType::PixelType

Some useful extra typedefs.

Definition at line 139 of file itkAdvancedImageToImageMetric.h.

◆ FixedImagePointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointer = typename FixedImageType::Pointer

Definition at line 109 of file itkAdvancedImageToImageMetric.h.

◆ FixedImagePointType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType = typename TransformType::InputPointType
protected

Definition at line 345 of file itkAdvancedImageToImageMetric.h.

◆ ImageSampleContainerPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer

Definition at line 147 of file itkAdvancedImageToImageMetric.h.

◆ ImageSampleContainerType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType

Definition at line 146 of file itkAdvancedImageToImageMetric.h.

◆ ImageSamplerPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer = typename ImageSamplerType::Pointer

Definition at line 145 of file itkAdvancedImageToImageMetric.h.

◆ ImageSamplerType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType = ImageSamplerBase<FixedImageType>

Typedefs for the ImageSampler.

Definition at line 144 of file itkAdvancedImageToImageMetric.h.

◆ LinearInterpolatorPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LinearInterpolatorPointer = typename LinearInterpolatorType::Pointer
protected

Definition at line 360 of file itkAdvancedImageToImageMetric.h.

◆ LinearInterpolatorType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LinearInterpolatorType = AdvancedLinearInterpolateImageFunction<MovingImageType, CoordinateRepresentationType>
protected

Definition at line 359 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageContinuousIndexType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
protected

Definition at line 347 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageDerivativeScalesType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension>

Definition at line 141 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageDerivativeType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType
protected

Definition at line 361 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageIndexType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType = typename MovingImageType::IndexType
protected

Definition at line 344 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageLimiterOutputType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType

Definition at line 155 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageLimiterPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer

Definition at line 154 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageLimiterType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension>

Definition at line 153 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageMaskConstPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType>

Definition at line 131 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageMaskPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer = SmartPointer<MovingImageMaskType>

Definition at line 130 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageMaskType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension>

Definition at line 129 of file itkAdvancedImageToImageMetric.h.

◆ MovingImagePointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointer = typename MovingImageType::Pointer

Definition at line 106 of file itkAdvancedImageToImageMetric.h.

◆ MovingImagePointType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType = typename TransformType::OutputPointType
protected

Definition at line 346 of file itkAdvancedImageToImageMetric.h.

◆ MovingImageRegionType

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

Definition at line 140 of file itkAdvancedImageToImageMetric.h.

◆ NonZeroJacobianIndicesType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType
protected

Typedefs for support of sparse Jacobians and compact support of transformations.

Definition at line 364 of file itkAdvancedImageToImageMetric.h.

◆ NumberOfParametersType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType

Definition at line 160 of file itkAdvancedImageToImageMetric.h.

◆ Pointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self>

Definition at line 92 of file itkAdvancedImageToImageMetric.h.

◆ ReducedBSplineInterpolatorPointer

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ReducedBSplineInterpolatorPointer = typename ReducedBSplineInterpolatorType::Pointer
protected

Definition at line 358 of file itkAdvancedImageToImageMetric.h.

◆ ReducedBSplineInterpolatorType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ReducedBSplineInterpolatorType
protected

◆ ScalarType

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

Advanced transform.

Definition at line 158 of file itkAdvancedImageToImageMetric.h.

◆ Self

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Self = AdvancedImageToImageMetric

Standard class typedefs.

Definition at line 90 of file itkAdvancedImageToImageMetric.h.

◆ Superclass

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage>

Definition at line 91 of file itkAdvancedImageToImageMetric.h.

◆ ThreadInfoType

template<typename TFixedImage, typename TMovingImage>
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType = MultiThreaderBase::WorkUnitInfo

Typedef for multi-threading.

Definition at line 172 of file itkAdvancedImageToImageMetric.h.

Constructor & Destructor Documentation

◆ AdvancedImageToImageMetric()

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedImageToImageMetric ( )
protected

Constructor.

◆ ~AdvancedImageToImageMetric()

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::~AdvancedImageToImageMetric ( )
overrideprotecteddefault

Destructor.

Member Function Documentation

◆ AccumulateDerivativesThreaderCallback()

template<typename TFixedImage, typename TMovingImage>
ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AccumulateDerivativesThreaderCallback ( void * arg)
staticprotected

AccumulateDerivatives threader callback function.

◆ AfterThreadedGetValue()

◆ AfterThreadedGetValueAndDerivative()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AfterThreadedGetValueAndDerivative ( MeasureType & ,
DerivativeType &  ) const
inlineprotectedvirtual

Finalize multi-threaded metric computation.

Reimplemented in itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedKappaStatisticImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, and itk::TransformBendingEnergyPenaltyTerm< typename MetricBase< TElastix >::FixedImageType, double >.

Definition at line 416 of file itkAdvancedImageToImageMetric.h.

◆ BeforeThreadedGetValueAndDerivative()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BeforeThreadedGetValueAndDerivative ( const TransformParametersType & parameters) const
virtual

Contains calls from GetValueAndDerivative that are thread-unsafe, together with preparation for multi-threading. Note that the only reason why this function is not protected, is because the ComboMetric needs to call it.

◆ CheckForAdvancedTransform()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckForAdvancedTransform ( )
protected

Methods to support transforms with sparse Jacobians, like the BSplineTransform Check if the transform is an AdvancedTransform. Called by Initialize. If so, we can speed up derivative calculations by only inspecting the parameters in the support region of a point.

◆ CheckForBSplineInterpolator()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckForBSplineInterpolator ( )
protected

Methods for image derivative evaluation support Initialize variables for image derivative computation; this method is called by Initialize.

◆ CheckForBSplineTransform()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckForBSplineTransform ( ) const
protected

Check if the transform is a B-spline. Called by Initialize.

◆ CheckNumberOfSamples()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckNumberOfSamples ( ) const
protected

Check if enough samples have been found to compute a reliable estimate of the value/derivative; throws an exception if not.

◆ EvaluateMovingImageValueAndDerivative()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMovingImageValueAndDerivative ( const MovingImagePointType & mappedPoint,
RealType & movingImageValue,
MovingImageDerivativeType * gradient ) const
inlineprotectedvirtual

Compute the image value (and possibly derivative) at a transformed point. Checks if the point lies within the moving image buffer (bool return). If no gradient is wanted, set the gradient argument to 0. If a BSplineInterpolationFunction or AdvacnedLinearInterpolationFunction is used, this class obtains image derivatives from the B-spline or linear interpolator. Otherwise, image derivatives are computed using nearest neighbor interpolation of a precomputed (central difference) gradient image.

Reimplemented in itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >, and itk::MultiInputImageToImageMetricBase< TFixedImage, MetricBase< TElastix >::MovingImageType >.

Definition at line 512 of file itkAdvancedImageToImageMetric.h.

◆ EvaluateMovingImageValueAndDerivativeWithOptionalThreadId()

template<typename TFixedImage, typename TMovingImage>
template<typename... TOptionalThreadId>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMovingImageValueAndDerivativeWithOptionalThreadId ( const MovingImagePointType & mappedPoint,
RealType & movingImageValue,
MovingImageDerivativeType * gradient,
const TOptionalThreadId... optionalThreadId ) const
private

◆ EvaluateTransformJacobian()

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateTransformJacobian ( const FixedImagePointType & fixedImagePoint,
TransformJacobianType & jacobian,
NonZeroJacobianIndicesType & nzji ) const
protected

This function returns a reference to the transform Jacobians. This is either a reference to the full TransformJacobian or a reference to a sparse Jacobians. The m_NonZeroJacobianIndices contains the indices that are nonzero. The length of NonZeroJacobianIndices is set in the CheckForAdvancedTransform function.

◆ EvaluateTransformJacobianInnerProduct()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateTransformJacobianInnerProduct ( const TransformJacobianType & jacobian,
const MovingImageDerivativeType & movingImageDerivative,
DerivativeType & imageJacobian ) const
protectedvirtual

Computes the inner product of transform Jacobian with moving image gradient. The results are stored in imageJacobian, which is supposed to have the right size (same length as Jacobian's number of columns).

Reimplemented in itk::PCAMetric2< TFixedImage, TMovingImage >, itk::PCAMetric2< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric2< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumOfPairwiseCorrelationCoefficientsMetric< TFixedImage, TMovingImage >, itk::SumOfPairwiseCorrelationCoefficientsMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumOfPairwiseCorrelationCoefficientsMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::VarianceOverLastDimensionImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >.

◆ FastEvaluateMovingImageValueAndDerivative()

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FastEvaluateMovingImageValueAndDerivative ( const MovingImagePointType & mappedPoint,
RealType & movingImageValue,
MovingImageDerivativeType * gradient,
const ThreadIdType threadId ) const
inlineprotected

Definition at line 522 of file itkAdvancedImageToImageMetric.h.

◆ GetFixedImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual const FixedImageLimiterType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageLimiter ( )
virtual

◆ GetFixedImageMask()

template<typename TFixedImage, typename TMovingImage>
const FixedImageMaskType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageMask ( ) const
inlineoverride

Definition at line 191 of file itkAdvancedImageToImageMetric.h.

◆ GetFixedLimitRangeRatio()

template<typename TFixedImage, typename TMovingImage>
virtual double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetFixedLimitRangeRatio ( ) const
virtual

◆ GetImageSampler()

template<typename TFixedImage, typename TMovingImage>
ImageSamplerType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetImageSampler ( ) const
inline

Definition at line 237 of file itkAdvancedImageToImageMetric.h.

◆ GetMovingImageDerivativeScales()

template<typename TFixedImage, typename TMovingImage>
virtual const MovingImageDerivativeScalesType & itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageDerivativeScales ( )
virtual

◆ GetMovingImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual const MovingImageLimiterType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageLimiter ( )
virtual

◆ GetMovingImageMask()

template<typename TFixedImage, typename TMovingImage>
const MovingImageMaskType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageMask ( ) const
inlineoverride

Definition at line 199 of file itkAdvancedImageToImageMetric.h.

◆ GetMovingLimitRangeRatio()

template<typename TFixedImage, typename TMovingImage>
virtual double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingLimitRangeRatio ( ) const
virtual

◆ GetMutableRandomVariateGenerator()

template<typename TFixedImage, typename TMovingImage>
Statistics::MersenneTwisterRandomVariateGenerator & itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMutableRandomVariateGenerator ( ) const
inlineprotected

Definition at line 617 of file itkAdvancedImageToImageMetric.h.

◆ GetRandomVariateGenerator()

template<typename TFixedImage, typename TMovingImage>
Statistics::MersenneTwisterRandomVariateGenerator & itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetRandomVariateGenerator ( )
inlineprotected

Definition at line 610 of file itkAdvancedImageToImageMetric.h.

◆ GetRequiredRatioOfValidSamples()

template<typename TFixedImage, typename TMovingImage>
virtual double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetRequiredRatioOfValidSamples ( ) const
virtual

◆ GetScaleGradientWithRespectToMovingImageOrientation()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetScaleGradientWithRespectToMovingImageOrientation ( ) const
virtual

◆ GetTransform() [1/2]

template<typename TFixedImage, typename TMovingImage>
const AdvancedTransformType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetTransform ( ) const
inlineoverride

Get the advanced transform. Const overload.

Definition at line 228 of file itkAdvancedImageToImageMetric.h.

◆ GetTransform() [2/2]

template<typename TFixedImage, typename TMovingImage>
AdvancedTransformType * itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetTransform ( )
inlineoverride

Get the advanced transform.

Definition at line 221 of file itkAdvancedImageToImageMetric.h.

◆ GetUseFixedImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageLimiter ( ) const
virtual

Inheriting classes can specify whether they use the image limiter functionality. This method allows the user to inspect this setting.

◆ GetUseImageSampler()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseImageSampler ( ) const
virtual

Inheriting classes can specify whether they use the image sampler functionality; This method allows the user to inspect this setting.

◆ GetUseMetricSingleThreaded()

template<typename TFixedImage, typename TMovingImage>
virtual const bool & itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMetricSingleThreaded ( )
virtual

◆ GetUseMovingImageDerivativeScales()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMovingImageDerivativeScales ( ) const
virtual

◆ GetUseMovingImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMovingImageLimiter ( ) const
virtual

◆ GetUseMultiThread()

template<typename TFixedImage, typename TMovingImage>
virtual const bool & itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMultiThread ( )
virtual

◆ GetValueAndDerivativeThreaderCallback()

template<typename TFixedImage, typename TMovingImage>
ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreaderCallback ( void * arg)
staticprotected

GetValueAndDerivative threader callback function.

◆ GetValueThreaderCallback()

template<typename TFixedImage, typename TMovingImage>
ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreaderCallback ( void * arg)
staticprotected

GetValue threader callback function.

◆ Initialize()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( )
override

Initialize the Metric by making sure that all the components are present and plugged together correctly.

  • Call the superclass' implementation
  • Cache the number of transform parameters
  • Initialize the image sampler, if used.
  • Check if a B-spline interpolator has been set
  • Check if an AdvancedTransform has been set

◆ InitializeImageSampler()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InitializeImageSampler ( )
protectedvirtual

Protected methods ************** Methods for image sampler support Initialize variables related to the image sampler; called by Initialize.

Reimplemented in itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >, and itk::MultiInputImageToImageMetricBase< TFixedImage, MetricBase< TElastix >::MovingImageType >.

◆ InitializeLimiters()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InitializeLimiters ( )
protected

Initialize the {Fixed,Moving}[True]{Max,Min}[Limit] and the {Fixed,Moving}ImageLimiter Only does something when Use{Fixed,Moving}Limiter is set to true;

◆ InitializeThreadingParameters()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InitializeThreadingParameters ( ) const
protectedvirtual

Initialize some multi-threading related parameters.

Reimplemented in itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedKappaStatisticImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::CombinationImageToImageMetric< FixedImageType, MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::PCAMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >.

◆ IsInsideMovingMask()

template<typename TFixedImage, typename TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::IsInsideMovingMask ( const MovingImagePointType & point) const
protectedvirtual

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE ( AdvancedImageToImageMetric< TFixedImage, TMovingImage > )

◆ itkAlignedTypedef()

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT ,
PaddedGetValueAndDerivativePerThreadStruct ,
AlignedGetValueAndDerivativePerThreadStruct  )
protected

◆ itkOverrideGetNameOfClassMacro()

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkOverrideGetNameOfClassMacro ( AdvancedImageToImageMetric< TFixedImage, TMovingImage > )

Run-time type information (and related methods).

◆ itkPadStruct()

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT ,
GetValueAndDerivativePerThreadStruct ,
PaddedGetValueAndDerivativePerThreadStruct  )
protected

◆ itkStaticConstMacro() [1/2]

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( FixedImageDimension ,
unsigned int ,
TFixedImage::ImageDimension  )

◆ itkStaticConstMacro() [2/2]

template<typename TFixedImage, typename TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( MovingImageDimension ,
unsigned int ,
TMovingImage::ImageDimension  )

Constants for the image dimensions.

◆ LaunchGetValueAndDerivativeThreaderCallback()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LaunchGetValueAndDerivativeThreaderCallback ( ) const
protected

Launch MultiThread GetValueAndDerivative.

◆ LaunchGetValueThreaderCallback()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LaunchGetValueThreaderCallback ( ) const
protected

Launch MultiThread GetValue.

◆ PrintSelf()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream & os,
Indent indent ) const
overrideprotected

PrintSelf.

◆ SetFixedImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageLimiter ( FixedImageLimiterType * _arg)
virtual

◆ SetFixedImageMask() [1/3]

◆ SetFixedImageMask() [2/3]

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask ( const typename Superclass::FixedImageMaskType * )
inlinefinalprotected

Definition at line 592 of file itkAdvancedImageToImageMetric.h.

◆ SetFixedImageMask() [3/3]

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask ( typename Superclass::FixedImageMaskType * )
inlinefinalprotected

Definition at line 586 of file itkAdvancedImageToImageMetric.h.

◆ SetFixedLimitRangeRatio()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetFixedLimitRangeRatio ( double _arg)
virtual

◆ SetImageSampler()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetImageSampler ( ImageSamplerType * _arg)
virtual

Set/Get the image sampler.

◆ SetMovingImageDerivativeScales()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageDerivativeScales ( MovingImageDerivativeScalesType _arg)
virtual

◆ SetMovingImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageLimiter ( MovingImageLimiterType * _arg)
virtual

Set/Get the Moving/Fixed limiter. Its thresholds and bounds are set by the metric. Setting a limiter is only mandatory if GetUse{Fixed,Moving}Limiter() returns true.

◆ SetMovingImageMask() [1/3]

◆ SetMovingImageMask() [2/3]

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( const typename Superclass::MovingImageMaskType * )
inlinefinalprotected

Definition at line 604 of file itkAdvancedImageToImageMetric.h.

◆ SetMovingImageMask() [3/3]

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( typename Superclass::MovingImageMaskType * )
inlinefinalprotected

Definition at line 598 of file itkAdvancedImageToImageMetric.h.

◆ SetMovingLimitRangeRatio()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingLimitRangeRatio ( double _arg)
virtual

A percentage that defines how much the gray value range is extended maxlimit = max + LimitRangeRatio * (max - min) minlimit = min - LimitRangeRatio * (max - min) Default: 0.01; If you use a nearest neighbor or linear interpolator, set it to zero and use a hard limiter.

◆ SetRandomVariateGenerator()

template<typename TFixedImage, typename TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetRandomVariateGenerator ( Statistics::MersenneTwisterRandomVariateGenerator & randomVariateGenerator)
inline

Definition at line 323 of file itkAdvancedImageToImageMetric.h.

◆ SetRequiredRatioOfValidSamples()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetRequiredRatioOfValidSamples ( double _arg)
virtual

Set/Get the required ratio of valid samples; default 0.25. When less than this ratio*numberOfSamplesTried samples map inside the moving image buffer, an exception will be thrown.

◆ SetScaleGradientWithRespectToMovingImageOrientation()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetScaleGradientWithRespectToMovingImageOrientation ( bool _arg)
virtual

◆ SetTransform()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetTransform ( AdvancedTransformType * arg)
inlinevirtual

◆ SetUseFixedImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageLimiter ( bool _arg)
protectedvirtual

Inheriting classes can specify whether they use the image limiter functionality Make sure to set it before calling Initialize; default: false.

◆ SetUseImageSampler()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseImageSampler ( bool _arg)
protectedvirtual

Inheriting classes can specify whether they use the image sampler functionality Make sure to set it before calling Initialize; default: false.

◆ SetUseMetricSingleThreaded()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMetricSingleThreaded ( bool _arg)
virtual

Switch the function BeforeThreadedGetValueAndDerivative on or off.

◆ SetUseMovingImageDerivativeScales()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMovingImageDerivativeScales ( bool _arg)
virtual

You may specify a scaling vector for the moving image derivatives. If the UseMovingImageDerivativeScales is true, the moving image derivatives are multiplied by the moving image derivative scales (element-wise) You may use this to avoid deformations in the z-dimension, for example, by setting the moving image derivative scales to (1,1,0). This is a rather experimental feature. In most cases you do not need it.

◆ SetUseMovingImageLimiter()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMovingImageLimiter ( bool _arg)
protectedvirtual

◆ SetUseMultiThread()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMultiThread ( bool _arg)
virtual

Select the use of multi-threading

◆ ThreadedGetValue()

◆ ThreadedGetValueAndDerivative()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadedGetValueAndDerivative ( ThreadIdType ) const
inlineprotectedvirtual

Multi-threaded version of GetValueAndDerivative().

Reimplemented in itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedKappaStatisticImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, and itk::TransformBendingEnergyPenaltyTerm< typename MetricBase< TElastix >::FixedImageType, double >.

Definition at line 411 of file itkAdvancedImageToImageMetric.h.

◆ TransformPoint()

template<typename TFixedImage, typename TMovingImage>
MovingImagePointType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::TransformPoint ( const FixedImagePointType & fixedImagePoint) const
protected

Transform a point from FixedImage domain to MovingImage domain.

◆ UseMetricSingleThreadedOff()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMetricSingleThreadedOff ( )
virtual

◆ UseMetricSingleThreadedOn()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMetricSingleThreadedOn ( )
virtual

◆ UseMultiThreadOff()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMultiThreadOff ( )
virtual

◆ UseMultiThreadOn()

template<typename TFixedImage, typename TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMultiThreadOn ( )
virtual

Member Data Documentation

◆ m_AdvancedTransform

template<typename TFixedImage, typename TMovingImage>
AdvancedTransformType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_AdvancedTransform { nullptr }
protected

Variables to store the AdvancedTransform.

Definition at line 374 of file itkAdvancedImageToImageMetric.h.

◆ m_BSplineInterpolator

template<typename TFixedImage, typename TMovingImage>
BSplineInterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineInterpolator { nullptr }
private

Definition at line 637 of file itkAdvancedImageToImageMetric.h.

◆ m_BSplineInterpolatorFloat

template<typename TFixedImage, typename TMovingImage>
BSplineInterpolatorFloatPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineInterpolatorFloat { nullptr }
private

Definition at line 638 of file itkAdvancedImageToImageMetric.h.

◆ m_DefaultRandomVariateGenerator

template<typename TFixedImage, typename TMovingImage>
elx::DefaultConstruct<Statistics::MersenneTwisterRandomVariateGenerator> itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_DefaultRandomVariateGenerator {}
mutableprivate

Definition at line 651 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedImageLimiter

template<typename TFixedImage, typename TMovingImage>
FixedImageLimiterPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageLimiter { nullptr }
private

Private member variables for limiters and for image derivative computation.

Definition at line 634 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedImageMask

template<typename TFixedImage, typename TMovingImage>
DummyMask itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMask {}
staticconstexprprivate

Definition at line 661 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedImageMaxLimit

template<typename TFixedImage, typename TMovingImage>
FixedImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMaxLimit { 1 }
protected

Definition at line 385 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedImageMinLimit

template<typename TFixedImage, typename TMovingImage>
FixedImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMinLimit { 0 }
protected

Definition at line 384 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedImageTrueMax

template<typename TFixedImage, typename TMovingImage>
FixedImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageTrueMax { 1 }
protected

Definition at line 381 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedImageTrueMin

template<typename TFixedImage, typename TMovingImage>
FixedImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageTrueMin { 0 }
protected

Variables for the Limiters.

Definition at line 380 of file itkAdvancedImageToImageMetric.h.

◆ m_FixedLimitRangeRatio

template<typename TFixedImage, typename TMovingImage>
double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedLimitRangeRatio { 0.01 }
protected

Definition at line 581 of file itkAdvancedImageToImageMetric.h.

◆ m_GetValueAndDerivativePerThreadVariables

template<typename TFixedImage, typename TMovingImage>
std::unique_ptr<AlignedGetValueAndDerivativePerThreadStruct[]> itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_GetValueAndDerivativePerThreadVariables
mutableprotected
Initial value:
{
nullptr
}

Definition at line 470 of file itkAdvancedImageToImageMetric.h.

◆ m_GetValueAndDerivativePerThreadVariablesSize

template<typename TFixedImage, typename TMovingImage>
ThreadIdType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_GetValueAndDerivativePerThreadVariablesSize { 0 }
mutableprotected

Definition at line 473 of file itkAdvancedImageToImageMetric.h.

◆ m_ImageSampler

template<typename TFixedImage, typename TMovingImage>
ImageSamplerPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ImageSampler { nullptr }
mutableprotected

Protected Variables Variables for ImageSampler support. m_ImageSampler is mutable, because it is changed in the GetValue(), etc, which are const functions.

Definition at line 371 of file itkAdvancedImageToImageMetric.h.

◆ m_LinearInterpolator

template<typename TFixedImage, typename TMovingImage>
LinearInterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_LinearInterpolator { nullptr }
private

Definition at line 636 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageDerivativeScales

template<typename TFixedImage, typename TMovingImage>
MovingImageDerivativeScalesType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageDerivativeScales { MovingImageDerivativeScalesType::Filled(1.0) }
private

Definition at line 649 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageLimiter

template<typename TFixedImage, typename TMovingImage>
MovingImageLimiterPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageLimiter { nullptr }
private

Definition at line 635 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageMask

template<typename TFixedImage, typename TMovingImage>
DummyMask itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMask {}
staticconstexprprivate

Definition at line 662 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageMaxLimit

template<typename TFixedImage, typename TMovingImage>
MovingImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMaxLimit { 1 }
protected

Definition at line 387 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageMinLimit

template<typename TFixedImage, typename TMovingImage>
MovingImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMinLimit { 0 }
protected

Definition at line 386 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageTrueMax

template<typename TFixedImage, typename TMovingImage>
MovingImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageTrueMax { 1 }
protected

Definition at line 383 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingImageTrueMin

template<typename TFixedImage, typename TMovingImage>
MovingImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageTrueMin { 0 }
protected

Definition at line 382 of file itkAdvancedImageToImageMetric.h.

◆ m_MovingLimitRangeRatio

template<typename TFixedImage, typename TMovingImage>
double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingLimitRangeRatio { 0.01 }
protected

Definition at line 582 of file itkAdvancedImageToImageMetric.h.

◆ m_RandomVariateGenerator

template<typename TFixedImage, typename TMovingImage>
Statistics::MersenneTwisterRandomVariateGenerator* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_RandomVariateGenerator { &m_DefaultRandomVariateGenerator }
private

Definition at line 652 of file itkAdvancedImageToImageMetric.h.

◆ m_ReducedBSplineInterpolator

template<typename TFixedImage, typename TMovingImage>
ReducedBSplineInterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ReducedBSplineInterpolator { nullptr }
private

Definition at line 639 of file itkAdvancedImageToImageMetric.h.

◆ m_RequiredRatioOfValidSamples

template<typename TFixedImage, typename TMovingImage>
double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_RequiredRatioOfValidSamples { 0.25 }
private

Definition at line 645 of file itkAdvancedImageToImageMetric.h.

◆ m_ScaleGradientWithRespectToMovingImageOrientation

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ScaleGradientWithRespectToMovingImageOrientation { false }
private

Definition at line 647 of file itkAdvancedImageToImageMetric.h.

◆ m_ThreaderMetricParameters

template<typename TFixedImage, typename TMovingImage>
MultiThreaderParameterType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderMetricParameters {}
mutableprotected

Definition at line 446 of file itkAdvancedImageToImageMetric.h.

◆ m_TransformIsBSpline

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_TransformIsBSpline { false }
mutableprotected

◆ m_UseFixedImageLimiter

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseFixedImageLimiter { false }
private

Definition at line 643 of file itkAdvancedImageToImageMetric.h.

◆ m_UseImageSampler

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseImageSampler { false }
private

Other private member variables.

Definition at line 642 of file itkAdvancedImageToImageMetric.h.

◆ m_UseMetricSingleThreaded

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMetricSingleThreaded { true }
protected

Variables for multi-threading.

Definition at line 432 of file itkAdvancedImageToImageMetric.h.

◆ m_UseMovingImageDerivativeScales

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMovingImageDerivativeScales { false }
private

Definition at line 646 of file itkAdvancedImageToImageMetric.h.

◆ m_UseMovingImageLimiter

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMovingImageLimiter { false }
private

Definition at line 644 of file itkAdvancedImageToImageMetric.h.

◆ m_UseMultiThread

template<typename TFixedImage, typename TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMultiThread { false }
protected

Definition at line 433 of file itkAdvancedImageToImageMetric.h.



Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo