ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > Class Template Reference

#include <itkImageToImageMetricv4.h>

Detailed Description

template<typename TFixedImage, typename TMovingImage, typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
class itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >

Computes similarity between regions of two images, using two user-supplied transforms, a 'fixed' transform and a 'moving' transform.

Warning
Integer-type images are not yet supported. See concept-checking in DefaultImageToImageMetricTraitsv4.

Templated over the fixed and moving image types, as well as an optional VirtualImage type to define the virtual domain. The VirtualImage type defaults to TFixedImage.

Note
If TFixedImage is type VectorImage, then TVirtualImage must be set separately to a non-VectorImage type, e.g. Image<unsigned char, dimension>.

If the user does not set the virtual domain explicitly, then it is created during the call to Initialize from the fixed image by copying its information. See ObjectToObjectMetric for more discussion on the virtual domain.

At a minimum, the user must: 1) Set images using SetFixedImage and SetMovingImage. 2) Call Initialize.

Image gradient calculations

Image gradients can be calculated in one of two ways: 1) Using a gradient image filter, by setting Use[Fixed|Moving]ImageGradientFilter to true. By default this is set as an itkGradientRecursiveGaussianImageFilter, a smoothed gradient filter. A filter uses more memory, because it calculates all gradients at once and stores them in an image. The advantage of pre-calculation is for the fixed image gradients, since they only need be calculated once, and for metrics that need to access image gradients more than once for a particular point. The fixed image gradients are only calculated once when this option is set, during Initialize. 2) Otherwise, an image gradient calculator based on ImageFunction is used. By default the CentralDifferenceImageFunction is used. This calculation is not smoothed and gives different results than GradientRecursiveGaussianImageFilter. The advantage is that less memory is used. However for the fixed image, it means needlessly computing the image gradients at each iteration of a registration instead of just computing once at the beginning. The user can supply a different function by calling SetFixedImageGradientCalculator and/or SetMovingImageGradientCalculator.

Both image gradient calculation methods are threaded. Generally it is not recommended to use different image gradient methods for the fixed and moving images because the methods return different results.

Image Masks

Image masks are supported using SetMovingImageMask or SetFixedImageMask. If the image mask is sparse, see the comments for use of sparse point sets.

Sparse Sampling

Sparse sampling is performed by supplying an arbitrary point list over which to evaluate the metric. It's presumed that the user will be working in terms of the fixed image domain, and thus the point list is expected to be in the fixed domain. Internally, the points are transformed into the virtual domain as needed.

Note
The attributes/data of each point in the set are not used, but rather the point's geometric coordinates. Point sets are enabled by calling UseSampledPointSet, then the SetFixedSampledPointSet is called or SetVirtualSampledPointSet along with SetUseVirtualSampledPointSet.
If the point set is sparse, the option SetUse[Fixed|Moving]ImageGradientFilter typically should be disabled to avoid excessive computation. However, the gradient values of the fixed image are not cached when using a point set (there are plans for this in the future), so depending on the number of iterations (when used during optimization) and the level of sparsity, it may be more efficient to use a gradient image filter for it because it will only be calculated once.

Vector Images

To support vector images, the class must be declared using the VectorImageToImageMetricTraitsv4 class in the template declaration, as described above. Derived classes must provide special handling for vector pixel types. MeanSquaresImageToImageMetricv4 can be used as an example.

Threading

This class is threaded. Threading is handled by friend classes ImageToImageMetricv4GetValueAndDerivativeThreaderBase and ImageToImageMetricv4GetValueAndDerivativeThreader. Dense and sparse evaluation are handled by template specialization of the ImageToImageMetricv4GetValueAndDerivativeThreader::ThreadedExecution method, in order to iterate over either all points in the virtual space in the case of dense evaluation, or a list of points in the sparse case.

Methods and members of ImageToImageMetricv4 are accessed by the threading class using its m_Associate member, which points to the containing instance of ImageToImageMetricv4.

Pre- and post-processing for threaded operation is handled in ImageToImageMetricv4GetValueAndDerivativeThreaderBase::BeforeThreadedExecution, and ImageToImageMetricv4GetValueAndDerivativeThreaderBase::AfterThreadedExecution, respectively.

Derived classes:

The GetValue method may be overridden to provide better-optimized or otherwise different behavior as needed. Otherwise, the m_ComputeDerivative member should be checked to avoid computing derivatives when the caller has called GetValue(). See GetComputeDerivative() in this class and in this metric's threader class.

Derived classes must derive a threader class from ImageToImageMetricv4GetValueAndDerivativeThreader, from which a DenseGetValueAndDerivativeThreader and SparseGetValueAndDerivativeThreader must be defined. Then,

must be called in the constructor.

The ProcessPoint method of the derived threader must be overridden to provide the metric-specific evaluation.

To access methods and members within the derived metric class from the derived threader class, the user must cast m_Associate to the type of the derived metric class.

See ImageToImageMetricv4Test for a clear example of what a derived class must implement and do.

Definition at line 174 of file itkImageToImageMetricv4.h.

+ Inheritance diagram for itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >:
+ Collaboration diagram for itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DefaultFixedImageGradientCalculator = typename MetricTraits::DefaultFixedImageGradientCalculator
 
using DefaultFixedImageGradientFilter = typename MetricTraits::DefaultFixedImageGradientFilter
 
using DefaultMovingImageGradientCalculator = typename MetricTraits::DefaultMovingImageGradientCalculator
 
using DefaultMovingImageGradientFilter = typename MetricTraits::DefaultMovingImageGradientFilter
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using FixedGradientPixelType = typename MetricTraits::FixedGradientPixelType
 
using FixedImageComponentGradientType = CovariantVector< typename FixedImageGradientType::ValueType, FixedImageDimension >
 
using FixedImageConstPointer = typename FixedImageType::ConstPointer
 
using FixedImageGradientCalculatorPointer = typename FixedImageGradientCalculatorType::Pointer
 
using FixedImageGradientCalculatorType = typename MetricTraits::FixedImageGradientCalculatorType
 
using FixedImageGradientFilterPointer = typename FixedImageGradientFilterType::Pointer
 
using FixedImageGradientFilterType = typename MetricTraits::FixedImageGradientFilterType
 
using FixedImageGradientImagePointer = typename FixedImageGradientImageType::Pointer
 
using FixedImageGradientImageType = typename MetricTraits::FixedImageGradientImageType
 
using FixedImageGradientType = typename MetricTraits::FixedImageGradientType
 
using FixedImageIndexType = typename FixedImageType::IndexType
 
using FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
 
using FixedImageMaskPointer = typename FixedImageMaskType::Pointer
 
using FixedImageMaskType = SpatialObject< Self::FixedImageDimension >
 
using FixedImagePixelType = typename FixedImageType::PixelType
 
using FixedImagePointer = typename FixedImageType::Pointer
 
using FixedImagePointType = typename FixedImageType::PointType
 
using FixedImageType = TFixedImage
 
using FixedInterpolatorPointer = typename FixedInterpolatorType::Pointer
 
using FixedInterpolatorType = InterpolateImageFunction< FixedImageType, CoordinateRepresentationType >
 
using FixedPixelType = FixedImagePixelType
 
using FixedRealType = typename MetricTraits::FixedRealType
 
using FixedSampledPointSetConstPointer = typename FixedSampledPointSetType::ConstPointer
 
using FixedSampledPointSetPointer = typename FixedSampledPointSetType::Pointer
 
using FixedSampledPointSetType = PointSet< typename FixedImageType::PixelType, Self::FixedImageDimension >
 
using FixedScalarRealType = typename NumericTraits< FixedRealType >::ScalarRealType
 
using ImageDimensionType = typename Superclass::DimensionType
 
using InternalComputationValueType = TInternalComputationValueType
 
using MetricTraits = TMetricTraits
 
using MovingGradientPixelType = typename MetricTraits::MovingGradientPixelType
 
using MovingImageComponentGradientType = CovariantVector< typename MovingImageGradientType::ValueType, MovingImageDimension >
 
using MovingImageConstPointer = typename MovingImageType::ConstPointer
 
using MovingImageGradientCalculatorPointer = typename MovingImageGradientCalculatorType::Pointer
 
using MovingImageGradientCalculatorType = typename MetricTraits::MovingImageGradientCalculatorType
 
using MovingImageGradientFilterPointer = typename MovingImageGradientFilterType::Pointer
 
using MovingImageGradientFilterType = typename MetricTraits::MovingImageGradientFilterType
 
using MovingImageGradientImagePointer = typename MovingImageGradientImageType::Pointer
 
using MovingImageGradientImageType = typename MetricTraits::MovingImageGradientImageType
 
using MovingImageGradientType = typename MetricTraits::MovingImageGradientType
 
using MovingImageIndexType = typename MovingImageType::IndexType
 
using MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer
 
using MovingImageMaskPointer = typename MovingImageMaskType::Pointer
 
using MovingImageMaskType = SpatialObject< Self::MovingImageDimension >
 
using MovingImagePixelType = typename MovingImageType::PixelType
 
using MovingImagePointer = typename MovingImageType::Pointer
 
using MovingImagePointType = typename MovingImageType::PointType
 
using MovingImageRegionType = typename MovingImageType::RegionType
 
using MovingImageType = TMovingImage
 
using MovingInterpolatorPointer = typename MovingInterpolatorType::Pointer
 
using MovingInterpolatorType = InterpolateImageFunction< MovingImageType, CoordinateRepresentationType >
 
using MovingPixelType = MovingImagePixelType
 
using MovingRealType = typename MetricTraits::MovingRealType
 
using MovingScalarRealType = typename NumericTraits< MovingRealType >::ScalarRealType
 
using ObjectType = typename Superclass::ObjectType
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToImageMetricv4
 
using Superclass = ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
 
using VirtualImageComponentGradientType = CovariantVector< typename VirtualImageGradientType::ValueType, VirtualImageDimension >
 
using VirtualImageGradientType = typename MetricTraits::VirtualImageGradientType
 
using VirtualImageType = typename Superclass::VirtualImageType
 
using VirtualOriginType = typename Superclass::VirtualPointType
 
using VirtualRadiusType = typename Superclass::VirtualSizeType
 
- Public Types inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using CoordinateRepresentationType = TInternalComputationValueType
 
using DimensionType = SizeValueType
 
using FixedInputPointType = typename FixedTransformType::InputPointType
 
using FixedOutputPointType = typename FixedTransformType::OutputPointType
 
using FixedTransformJacobianType = typename FixedTransformType::JacobianType
 
using FixedTransformParametersType = typename FixedTransformType::ParametersType
 
using FixedTransformPointer = typename FixedTransformType::Pointer
 
using FixedTransformType = Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TFixedDimension >
 
using InternalComputationValueType = TInternalComputationValueType
 
using JacobianType = typename FixedTransformType::JacobianType
 
using MetricCategoryType = typename Superclass::MetricCategoryEnum
 
using MovingDisplacementFieldTransformType = DisplacementFieldTransform< CoordinateRepresentationType, Self::MovingDimension >
 
using MovingInputPointType = typename MovingTransformType::InputPointType
 
using MovingOutputPointType = typename MovingTransformType::OutputPointType
 
using MovingTransformJacobianType = typename MovingTransformType::JacobianType
 
using MovingTransformParametersType = typename MovingTransformType::ParametersType
 
using MovingTransformPointer = typename MovingTransformType::Pointer
 
using MovingTransformType = Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension >
 
using ObjectType = typename Superclass::Object
 
using Pointer = SmartPointer< Self >
 
using Self = ObjectToObjectMetric
 
using Superclass = ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
 
using VirtualDirectionType = typename VirtualImageType::DirectionType
 
using VirtualImageConstPointer = typename VirtualImageType::ConstPointer
 
using VirtualImagePointer = typename VirtualImageType::Pointer
 
using VirtualImageType = TVirtualImage
 
using VirtualIndexType = typename VirtualImageType::IndexType
 
using VirtualOriginType = typename VirtualImageType::PointType
 
using VirtualPixelType = typename VirtualImageType::PixelType
 
using VirtualPointSetPointer = typename VirtualPointSetType::Pointer
 
using VirtualPointSetType = PointSet< VirtualPixelType, Self::VirtualDimension >
 
using VirtualPointType = typename VirtualImageType::PointType
 
using VirtualRadiusType = typename VirtualImageType::SizeType
 
using VirtualRegionType = typename VirtualImageType::RegionType
 
using VirtualSizeType = typename VirtualRegionType::SizeType
 
using VirtualSpacingType = typename VirtualImageType::SpacingType
 
- Public Types inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using CoordinateRepresentationType = TInternalComputationValueType
 
using DerivativeValueType = typename DerivativeType::ValueType
 
using GradientSourceEnum = itk::ObjectToObjectMetricBaseTemplateEnums::GradientSource
 
using MetricCategoryEnum = itk::ObjectToObjectMetricBaseTemplateEnums::MetricCategory
 
using NumberOfParametersType = unsigned int
 
using ObjectConstPointer = typename ObjectType::ConstPointer
 
using ObjectType = Object
 
using ParametersValueType = TInternalComputationValueType
 
using Pointer = SmartPointer< Self >
 
using Self = ObjectToObjectMetricBaseTemplate
 
using Superclass = SingleValuedCostFunctionv4Template< TInternalComputationValueType >
 
- Public Types inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = Array< TInternalComputationValueType >
 
using MeasureType = TInternalComputationValueType
 
using Pointer = SmartPointer< Self >
 
using Self = SingleValuedCostFunctionv4Template
 
using Superclass = CostFunctionTemplate< TInternalComputationValueType >
 
- Public Types inherited from itk::CostFunctionTemplate< TInternalComputationValueType >
using ConstPointer = SmartPointer< const Self >
 
using ParametersType = OptimizerParameters< TInternalComputationValueType >
 
using ParametersValueType = TInternalComputationValueType
 
using Pointer = SmartPointer< Self >
 
using Self = CostFunctionTemplate
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual void FinalizeThread (const ThreadIdType)
 
void GetDerivative (DerivativeType &) const override
 
virtual const FixedImageTypeGetFixedImage () const
 
MetricCategoryType GetMetricCategory () const override
 
virtual FixedImageGradientImageTypeGetModifiableFixedImageGradientImage ()
 
virtual FixedInterpolatorTypeGetModifiableFixedInterpolator ()
 
virtual MovingImageGradientImageTypeGetModifiableMovingImageGradientImage ()
 
virtual MovingInterpolatorTypeGetModifiableMovingInterpolator ()
 
const char * GetNameOfClass () const override
 
SizeValueType GetNumberOfDomainPoints () const
 
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints () const
 
virtual ThreadIdType GetNumberOfWorkUnitsUsed () const
 
MeasureType GetValue () const override
 
void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
 
void Initialize () override
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual void SetFixedInterpolator (FixedInterpolatorType *_arg)
 
virtual void SetMovingInterpolator (MovingInterpolatorType *_arg)
 
bool SupportsArbitraryVirtualDomainSamples () const override
 
void SetFixedObject (const ObjectType *object) override
 
void SetMovingObject (const ObjectType *object) override
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual const MovingImageTypeGetMovingImage () const
 
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
 
virtual const MovingImageMaskTypeGetMovingImageMask () const
 
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
 
virtual const FixedImageMaskTypeGetFixedImageMask () const
 
virtual void SetFixedSampledPointSet (const FixedSampledPointSetType *_arg)
 
virtual const FixedSampledPointSetTypeGetFixedSampledPointSet () const
 
virtual void SetVirtualSampledPointSet (VirtualPointSetType *_arg)
 
virtual const VirtualPointSetTypeGetVirtualSampledPointSet () const
 
virtual void SetUseSampledPointSet (bool _arg)
 
virtual const bool & GetUseSampledPointSet () const
 
virtual void UseSampledPointSetOn ()
 
virtual void SetUseVirtualSampledPointSet (bool _arg)
 
virtual const bool & GetUseVirtualSampledPointSet () const
 
virtual void UseVirtualSampledPointSetOn ()
 
virtual void SetFixedImageGradientFilter (FixedImageGradientFilterType *_arg)
 
virtual FixedImageGradientFilterTypeGetModifiableFixedImageGradientFilter ()
 
virtual void SetMovingImageGradientFilter (MovingImageGradientFilterType *_arg)
 
virtual MovingImageGradientFilterTypeGetModifiableMovingImageGradientFilter ()
 
virtual void SetFixedImageGradientCalculator (FixedImageGradientCalculatorType *_arg)
 
virtual FixedImageGradientCalculatorTypeGetModifiableFixedImageGradientCalculator ()
 
virtual void SetMovingImageGradientCalculator (MovingImageGradientCalculatorType *_arg)
 
virtual MovingImageGradientCalculatorTypeGetModifiableMovingImageGradientCalculator ()
 
virtual void SetUseFixedImageGradientFilter (bool _arg)
 
virtual const bool & GetUseFixedImageGradientFilter () const
 
virtual void UseFixedImageGradientFilterOn ()
 
virtual void SetUseMovingImageGradientFilter (bool _arg)
 
virtual const bool & GetUseMovingImageGradientFilter () const
 
virtual void UseMovingImageGradientFilterOn ()
 
virtual void SetMaximumNumberOfWorkUnits (const ThreadIdType number)
 
virtual ThreadIdType GetMaximumNumberOfWorkUnits () const
 
virtual void SetUseFloatingPointCorrection (bool _arg)
 
virtual const bool & GetUseFloatingPointCorrection () const
 
virtual void UseFloatingPointCorrectionOn ()
 
virtual void SetFloatingPointCorrectionResolution (DerivativeValueType _arg)
 
virtual DerivativeValueType GetFloatingPointCorrectionResolution () const
 
- Public Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
OffsetValueType ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
 
OffsetValueType ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
 
MetricCategoryType GetMetricCategory () const override
 
virtual FixedTransformTypeGetModifiableFixedTransform ()
 
virtual MovingTransformTypeGetModifiableMovingTransform ()
 
virtual VirtualImageTypeGetModifiableVirtualImage ()
 
const char * GetNameOfClass () const override
 
NumberOfParametersType GetNumberOfLocalParameters () const override
 
NumberOfParametersType GetNumberOfParameters () const override
 
virtual SizeValueType GetNumberOfValidPoints () const
 
const ParametersTypeGetParameters () const override
 
const MovingTransformTypeGetTransform ()
 
VirtualDirectionType GetVirtualDirection () const
 
virtual const TimeStampGetVirtualDomainTimeStamp () const
 
VirtualOriginType GetVirtualOrigin () const
 
const VirtualRegionTypeGetVirtualRegion () const
 
VirtualSpacingType GetVirtualSpacing () const
 
bool HasLocalSupport () const override
 
void Initialize () override
 
virtual void SetFixedTransform (FixedTransformType *_arg)
 
virtual void SetMovingTransform (MovingTransformType *_arg)
 
void SetParameters (ParametersType &params) override
 
void SetTransform (MovingTransformType *transform)
 
void SetVirtualDomain (const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType &region)
 
void SetVirtualDomainFromImage (const VirtualImageType *virtualImage)
 
void UpdateTransformParameters (const DerivativeType &derivative, TInternalComputationValueType factor) override
 
bool IsInsideVirtualDomain (const VirtualPointType &point) const
 
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
 
- Public Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
MeasureType GetCurrentValue () const
 
virtual GradientSourceEnum GetGradientSource () const
 
bool GetGradientSourceIncludesFixed () const
 
bool GetGradientSourceIncludesMoving () const
 
virtual void SetGradientSource (GradientSourceEnum _arg)
 
virtual const ObjectTypeGetFixedObject () const
 
virtual const ObjectTypeGetMovingObject () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Attributes

static constexpr DimensionType FixedImageDimension = Superclass::FixedDimension
 
static constexpr DimensionType MovingImageDimension = Superclass::MovingDimension
 
static constexpr DimensionType VirtualImageDimension = Superclass::VirtualDimension
 
- Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
static constexpr DimensionType FixedDimension
 
static constexpr DimensionType MovingDimension
 
static constexpr DimensionType VirtualDimension
 

Protected Types

using FixedImageGradientInterpolatorType = LinearInterpolateImageFunction< FixedImageGradientImageType, CoordinateRepresentationType >
 
using MovingImageGradientInterpolatorType = LinearInterpolateImageFunction< MovingImageGradientImageType, CoordinateRepresentationType >
 

Protected Member Functions

virtual void ComputeFixedImageGradientAtPoint (const FixedImagePointType &mappedPoint, FixedImageGradientType &gradient) const
 
virtual void ComputeFixedImageGradientFilterImage ()
 
virtual void ComputeMovingImageGradientAtPoint (const MovingImagePointType &mappedPoint, MovingImageGradientType &gradient) const
 
virtual void ComputeMovingImageGradientFilterImage () const
 
virtual bool GetComputeDerivative () const
 
virtual void GetValueAndDerivativeExecute () const
 
 ImageToImageMetricv4 ()
 
virtual void InitializeForIteration () const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
bool TransformAndEvaluateFixedPoint (const VirtualPointType &virtualPoint, FixedImagePointType &mappedFixedPoint, FixedImagePixelType &mappedFixedPixelValue) const
 
bool TransformAndEvaluateMovingPoint (const VirtualPointType &virtualPoint, MovingImagePointType &mappedMovingPoint, MovingImagePixelType &mappedMovingPixelValue) const
 
 ~ImageToImageMetricv4 () override=default
 
virtual void InitializeDefaultFixedImageGradientFilter ()
 
virtual void InitializeDefaultMovingImageGradientFilter ()
 
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
const MovingDisplacementFieldTransformTypeGetMovingDisplacementFieldTransform () const
 
 ObjectToObjectMetric ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
bool TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const
 
void TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const
 
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace ()
 
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
 
 ~ObjectToObjectMetric () override=default
 
- Protected Member Functions inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
 ObjectToObjectMetricBaseTemplate ()
 
 ~ObjectToObjectMetricBaseTemplate () override=default
 
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >
 SingleValuedCostFunctionv4Template ()=default
 
 ~SingleValuedCostFunctionv4Template () override=default
 
- Protected Member Functions inherited from itk::CostFunctionTemplate< TInternalComputationValueType >
 CostFunctionTemplate ()=default
 
 ~CostFunctionTemplate () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

DefaultFixedImageGradientCalculator::Pointer m_DefaultFixedImageGradientCalculator {}
 
DefaultFixedImageGradientFilter::Pointer m_DefaultFixedImageGradientFilter {}
 
DefaultMovingImageGradientCalculator::Pointer m_DefaultMovingImageGradientCalculator {}
 
DefaultMovingImageGradientFilter::Pointer m_DefaultMovingImageGradientFilter {}
 
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >::Pointer m_DenseGetValueAndDerivativeThreader
 
DerivativeTypem_DerivativeResult {}
 
FixedImageConstPointer m_FixedImage {}
 
FixedImageGradientCalculatorPointer m_FixedImageGradientCalculator {}
 
FixedImageGradientFilterPointer m_FixedImageGradientFilter {}
 
FixedImageGradientImagePointer m_FixedImageGradientImage {}
 
FixedImageGradientInterpolatorType::Pointer m_FixedImageGradientInterpolator {}
 
FixedImageMaskConstPointer m_FixedImageMask {}
 
FixedInterpolatorPointer m_FixedInterpolator {}
 
FixedSampledPointSetConstPointer m_FixedSampledPointSet {}
 
MovingImageConstPointer m_MovingImage {}
 
MovingImageGradientCalculatorPointer m_MovingImageGradientCalculator {}
 
MovingImageGradientFilterPointer m_MovingImageGradientFilter {}
 
MovingImageGradientImagePointer m_MovingImageGradientImage {}
 
MovingImageGradientInterpolatorType::Pointer m_MovingImageGradientInterpolator {}
 
MovingImageMaskConstPointer m_MovingImageMask {}
 
MovingInterpolatorPointer m_MovingInterpolator {}
 
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_SparseGetValueAndDerivativeThreader
 
bool m_UseFixedImageGradientFilter {}
 
bool m_UseMovingImageGradientFilter {}
 
bool m_UseSampledPointSet {}
 
bool m_UseVirtualSampledPointSet {}
 
VirtualPointSetPointer m_VirtualSampledPointSet {}
 
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >
FixedTransformPointer m_FixedTransform
 
MovingTransformPointer m_MovingTransform
 
SizeValueType m_NumberOfValidPoints
 
bool m_UserHasSetVirtualDomain
 
VirtualImagePointer m_VirtualImage
 
- Protected Attributes inherited from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >
ObjectConstPointer m_FixedObject {}
 
GradientSourceEnum m_GradientSource {}
 
ObjectConstPointer m_MovingObject {}
 
MeasureType m_Value {}
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Private Types

using FixedImagePixelValueType = typename PixelTraits< FixedImagePixelType >::ValueType
 
using MovingImagePixelValueType = typename PixelTraits< MovingImagePixelType >::ValueType
 

Private Member Functions

template<typename TVirtualPoint , typename TFixedImagePoint >
void LocalTransformPoint (const TVirtualPoint &virtualPoint, TFixedImagePoint &mappedFixedPoint) const
 
template<typename TFixedImagePoint >
void LocalTransformPoint (const typename FixedTransformType::OutputPointType &virtualPoint, TFixedImagePoint &mappedFixedPoint) const
 
void MapFixedSampledPointSetToVirtual ()
 
void LocalTransformPoint (const typename FixedTransformType::OutputPointType &virtualPoint, typename FixedTransformType::OutputPointType &mappedFixedPoint) const
 
template<typename TVirtualPoint >
void LocalTransformPoint (const TVirtualPoint &virtualPoint, typename FixedTransformType::OutputPointType &mappedFixedPoint) const
 

Private Attributes

bool m_ComputeDerivative {}
 
DerivativeValueType m_FloatingPointCorrectionResolution {}
 
bool m_HaveMadeGetValueWarning {}
 
MetricTraits m_MetricTraits {}
 
SizeValueType m_NumberOfSkippedFixedSampledPoints {}
 
bool m_UseFloatingPointCorrection {}
 

Friends

class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >
 
class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >
 
class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >
 
class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self >
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Member Typedef Documentation

◆ ConstPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ConstPointer = SmartPointer<const Self>

Definition at line 190 of file itkImageToImageMetricv4.h.

◆ DefaultFixedImageGradientCalculator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultFixedImageGradientCalculator = typename MetricTraits::DefaultFixedImageGradientCalculator

Default image gradient calculator types

Definition at line 348 of file itkImageToImageMetricv4.h.

◆ DefaultFixedImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultFixedImageGradientFilter = typename MetricTraits::DefaultFixedImageGradientFilter

Default image gradient filter types

Definition at line 336 of file itkImageToImageMetricv4.h.

◆ DefaultMovingImageGradientCalculator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultMovingImageGradientCalculator = typename MetricTraits::DefaultMovingImageGradientCalculator

Definition at line 349 of file itkImageToImageMetricv4.h.

◆ DefaultMovingImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DefaultMovingImageGradientFilter = typename MetricTraits::DefaultMovingImageGradientFilter

Definition at line 337 of file itkImageToImageMetricv4.h.

◆ DerivativeValueType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::DerivativeValueType = typename DerivativeType::ValueType

Definition at line 356 of file itkImageToImageMetricv4.h.

◆ FixedGradientPixelType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedGradientPixelType = typename MetricTraits::FixedGradientPixelType

Definition at line 319 of file itkImageToImageMetricv4.h.

◆ FixedImageComponentGradientType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageComponentGradientType = CovariantVector<typename FixedImageGradientType::ValueType, FixedImageDimension>

Definition at line 302 of file itkImageToImageMetricv4.h.

◆ FixedImageConstPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageConstPointer = typename FixedImageType::ConstPointer

Definition at line 238 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientCalculatorPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientCalculatorPointer = typename FixedImageGradientCalculatorType::Pointer

Definition at line 344 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientCalculatorType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientCalculatorType = typename MetricTraits::FixedImageGradientCalculatorType

Image gradient calculator types. The TOutput template parameter is chosen to match that of CentralDifferenceImageFunction.

Definition at line 341 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientFilterPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientFilterPointer = typename FixedImageGradientFilterType::Pointer

Definition at line 331 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientFilterType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientFilterType = typename MetricTraits::FixedImageGradientFilterType

Definition at line 328 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientImagePointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientImagePointer = typename FixedImageGradientImageType::Pointer

Definition at line 325 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientImageType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientImageType = typename MetricTraits::FixedImageGradientImageType

Definition at line 322 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientInterpolatorType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientInterpolatorType = LinearInterpolateImageFunction<FixedImageGradientImageType, CoordinateRepresentationType>
protected

Definition at line 652 of file itkImageToImageMetricv4.h.

◆ FixedImageGradientType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageGradientType = typename MetricTraits::FixedImageGradientType

Image derivatives types

Definition at line 297 of file itkImageToImageMetricv4.h.

◆ FixedImageIndexType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageIndexType = typename FixedImageType::IndexType

Definition at line 240 of file itkImageToImageMetricv4.h.

◆ FixedImageMaskConstPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer

Definition at line 277 of file itkImageToImageMetricv4.h.

◆ FixedImageMaskPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageMaskPointer = typename FixedImageMaskType::Pointer

Definition at line 276 of file itkImageToImageMetricv4.h.

◆ FixedImageMaskType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageMaskType = SpatialObject<Self::FixedImageDimension>

Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the metric

Definition at line 275 of file itkImageToImageMetricv4.h.

◆ FixedImagePixelType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePixelType = typename FixedImageType::PixelType

Definition at line 235 of file itkImageToImageMetricv4.h.

◆ FixedImagePixelValueType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePixelValueType = typename PixelTraits<FixedImagePixelType>::ValueType
private

Only floating-point images are currently supported. To support integer images, several small changes must be made

Definition at line 876 of file itkImageToImageMetricv4.h.

◆ FixedImagePointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointer = typename FixedImageType::Pointer

Definition at line 237 of file itkImageToImageMetricv4.h.

◆ FixedImagePointType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImagePointType = typename FixedImageType::PointType

Definition at line 239 of file itkImageToImageMetricv4.h.

◆ FixedImageType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageType = TFixedImage

Image-accessor type alias

Definition at line 234 of file itkImageToImageMetricv4.h.

◆ FixedInterpolatorPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedInterpolatorPointer = typename FixedInterpolatorType::Pointer

Definition at line 293 of file itkImageToImageMetricv4.h.

◆ FixedInterpolatorType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedInterpolatorType = InterpolateImageFunction<FixedImageType, CoordinateRepresentationType>

Type of the Interpolator Base class

Definition at line 291 of file itkImageToImageMetricv4.h.

◆ FixedPixelType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedPixelType = FixedImagePixelType

Definition at line 236 of file itkImageToImageMetricv4.h.

◆ FixedRealType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedRealType = typename MetricTraits::FixedRealType

Type of the filter used to calculate the gradients. Note that RealType is always double (or long double for long double pixel-type).

Definition at line 313 of file itkImageToImageMetricv4.h.

◆ FixedSampledPointSetConstPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetConstPointer = typename FixedSampledPointSetType::ConstPointer

Definition at line 288 of file itkImageToImageMetricv4.h.

◆ FixedSampledPointSetPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetPointer = typename FixedSampledPointSetType::Pointer

Definition at line 287 of file itkImageToImageMetricv4.h.

◆ FixedSampledPointSetType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedSampledPointSetType = PointSet<typename FixedImageType::PixelType, Self::FixedImageDimension>

Type of the point set used for sparse sampling.

Definition at line 286 of file itkImageToImageMetricv4.h.

◆ FixedScalarRealType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedScalarRealType = typename NumericTraits<FixedRealType>::ScalarRealType

Definition at line 316 of file itkImageToImageMetricv4.h.

◆ ImageDimensionType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ImageDimensionType = typename Superclass::DimensionType

Definition at line 212 of file itkImageToImageMetricv4.h.

◆ InternalComputationValueType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::InternalComputationValueType = TInternalComputationValueType

Type used internally for computations It should be possible to derive the internal computation type from the class object.

Definition at line 198 of file itkImageToImageMetricv4.h.

◆ MetricTraits

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MetricTraits = TMetricTraits

Typedef for traits class

Definition at line 266 of file itkImageToImageMetricv4.h.

◆ MovingGradientPixelType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingGradientPixelType = typename MetricTraits::MovingGradientPixelType

Definition at line 320 of file itkImageToImageMetricv4.h.

◆ MovingImageComponentGradientType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageComponentGradientType = CovariantVector<typename MovingImageGradientType::ValueType, MovingImageDimension>

Definition at line 305 of file itkImageToImageMetricv4.h.

◆ MovingImageConstPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageConstPointer = typename MovingImageType::ConstPointer

Definition at line 245 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientCalculatorPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientCalculatorPointer = typename MovingImageGradientCalculatorType::Pointer

Definition at line 345 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientCalculatorType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientCalculatorType = typename MetricTraits::MovingImageGradientCalculatorType

Definition at line 342 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientFilterPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientFilterPointer = typename MovingImageGradientFilterType::Pointer

Definition at line 332 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientFilterType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientFilterType = typename MetricTraits::MovingImageGradientFilterType

Definition at line 329 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientImagePointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientImagePointer = typename MovingImageGradientImageType::Pointer

Definition at line 326 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientImageType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientImageType = typename MetricTraits::MovingImageGradientImageType

Definition at line 323 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientInterpolatorType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientInterpolatorType = LinearInterpolateImageFunction<MovingImageGradientImageType, CoordinateRepresentationType>
protected

Definition at line 654 of file itkImageToImageMetricv4.h.

◆ MovingImageGradientType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageGradientType = typename MetricTraits::MovingImageGradientType

Definition at line 298 of file itkImageToImageMetricv4.h.

◆ MovingImageIndexType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageIndexType = typename MovingImageType::IndexType

Definition at line 248 of file itkImageToImageMetricv4.h.

◆ MovingImageMaskConstPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer

Definition at line 283 of file itkImageToImageMetricv4.h.

◆ MovingImageMaskPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageMaskPointer = typename MovingImageMaskType::Pointer

Definition at line 282 of file itkImageToImageMetricv4.h.

◆ MovingImageMaskType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageMaskType = SpatialObject<Self::MovingImageDimension>

Type for the mask of the moving image. Only pixels that are "inside" this mask will be considered for the computation of the metric

Definition at line 281 of file itkImageToImageMetricv4.h.

◆ MovingImagePixelType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePixelType = typename MovingImageType::PixelType

Definition at line 242 of file itkImageToImageMetricv4.h.

◆ MovingImagePixelValueType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePixelValueType = typename PixelTraits<MovingImagePixelType>::ValueType
private

Only floating-point images are currently supported. To support integer images, several small changes must be made

Definition at line 877 of file itkImageToImageMetricv4.h.

◆ MovingImagePointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointer = typename MovingImageType::Pointer

Definition at line 244 of file itkImageToImageMetricv4.h.

◆ MovingImagePointType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImagePointType = typename MovingImageType::PointType

Definition at line 246 of file itkImageToImageMetricv4.h.

◆ MovingImageRegionType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageRegionType = typename MovingImageType::RegionType

Definition at line 247 of file itkImageToImageMetricv4.h.

◆ MovingImageType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageType = TMovingImage

Definition at line 241 of file itkImageToImageMetricv4.h.

◆ MovingInterpolatorPointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingInterpolatorPointer = typename MovingInterpolatorType::Pointer

Definition at line 294 of file itkImageToImageMetricv4.h.

◆ MovingInterpolatorType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingInterpolatorType = InterpolateImageFunction<MovingImageType, CoordinateRepresentationType>

Definition at line 292 of file itkImageToImageMetricv4.h.

◆ MovingPixelType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingPixelType = MovingImagePixelType

Definition at line 243 of file itkImageToImageMetricv4.h.

◆ MovingRealType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingRealType = typename MetricTraits::MovingRealType

Definition at line 314 of file itkImageToImageMetricv4.h.

◆ MovingScalarRealType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingScalarRealType = typename NumericTraits<MovingRealType>::ScalarRealType

Definition at line 317 of file itkImageToImageMetricv4.h.

◆ ObjectType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ObjectType = typename Superclass::ObjectType

Definition at line 231 of file itkImageToImageMetricv4.h.

◆ Pointer

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Pointer = SmartPointer<Self>

Definition at line 189 of file itkImageToImageMetricv4.h.

◆ Self

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Self = ImageToImageMetricv4

Standard class type aliases.

Definition at line 184 of file itkImageToImageMetricv4.h.

◆ Superclass

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Superclass = ObjectToObjectMetric<TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType>

Definition at line 188 of file itkImageToImageMetricv4.h.

◆ VirtualImageComponentGradientType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageComponentGradientType = CovariantVector<typename VirtualImageGradientType::ValueType, VirtualImageDimension>

Definition at line 308 of file itkImageToImageMetricv4.h.

◆ VirtualImageGradientType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageGradientType = typename MetricTraits::VirtualImageGradientType

Definition at line 299 of file itkImageToImageMetricv4.h.

◆ VirtualImageType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageType = typename Superclass::VirtualImageType

Types for the virtual domain

Definition at line 251 of file itkImageToImageMetricv4.h.

◆ VirtualOriginType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualOriginType = typename Superclass::VirtualPointType

Definition at line 257 of file itkImageToImageMetricv4.h.

◆ VirtualRadiusType

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
using itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualRadiusType = typename Superclass::VirtualSizeType

Definition at line 260 of file itkImageToImageMetricv4.h.

Constructor & Destructor Documentation

◆ ImageToImageMetricv4()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ImageToImageMetricv4 ( )
protected

◆ ~ImageToImageMetricv4()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::~ImageToImageMetricv4 ( )
overrideprotecteddefault

Member Function Documentation

◆ ComputeFixedImageGradientAtPoint()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeFixedImageGradientAtPoint ( const FixedImagePointType mappedPoint,
FixedImageGradientType gradient 
) const
protectedvirtual

Compute image derivatives for a Fixed point.

◆ ComputeFixedImageGradientFilterImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeFixedImageGradientFilterImage ( )
protectedvirtual

Computes the gradients of the fixed image, using the GradientFilter, assigning the output to to m_FixedImageGradientImage.

◆ ComputeMovingImageGradientAtPoint()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeMovingImageGradientAtPoint ( const MovingImagePointType mappedPoint,
MovingImageGradientType gradient 
) const
protectedvirtual

Compute image derivatives for a moving point.

◆ ComputeMovingImageGradientFilterImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::ComputeMovingImageGradientFilterImage ( ) const
protectedvirtual

Computes the gradients of the moving image, using the GradientFilter, assigning the output to to m_MovingImageGradientImage.

◆ FinalizeThread()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FinalizeThread ( const  ThreadIdType)
inlinevirtual

Finalize the per-thread components for computing metric. Some threads can accumulate their data as the thread finishes rather than waiting for all threads to finish before the accumulation occurs.

Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

Definition at line 561 of file itkImageToImageMetricv4.h.

◆ GetComputeDerivative()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetComputeDerivative ( ) const
protectedvirtual

Get accessor for flag to calculate derivative.

◆ GetDerivative()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetDerivative ( DerivativeType ) const
overridevirtual

This method returns the derivative based on the current transformation(s).

Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

◆ GetFixedImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const FixedImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetFixedImage ( ) const
virtual

◆ GetFixedImageMask()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const FixedImageMaskType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetFixedImageMask ( ) const
virtual

Set/Get the fixed image mask.

◆ GetFixedSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const FixedSampledPointSetType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetFixedSampledPointSet ( ) const
virtual

Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.

◆ GetFloatingPointCorrectionResolution()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual DerivativeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetFloatingPointCorrectionResolution ( ) const
virtual

Set/Get the floating point resolution used optionally by the derivatives. If this is set, for example to 1e5, then the derivative will have precision up to 5 points beyond the decimal point. And precision beyond that will be truncated.

◆ GetMaximumNumberOfWorkUnits()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual ThreadIdType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetMaximumNumberOfWorkUnits ( ) const
virtual

Set number of work units to use. This the maximum number of work units to use when multithreaded. The actual number of work units used (may be less than this value) can be obtained with GetNumberOfWorkUnitsUsed.

◆ GetMetricCategory()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MetricCategoryType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetMetricCategory ( ) const
inlineoverridevirtual

Get metric category

Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

Definition at line 644 of file itkImageToImageMetricv4.h.

◆ GetModifiableFixedImageGradientCalculator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual FixedImageGradientCalculatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableFixedImageGradientCalculator ( )
virtual

Set/Get gradient calculators

◆ GetModifiableFixedImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual FixedImageGradientFilterType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableFixedImageGradientFilter ( )
virtual

Set/Get the gradient filter

◆ GetModifiableFixedImageGradientImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual FixedImageGradientImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableFixedImageGradientImage ( )
virtual

Get Fixed Gradient Image.

◆ GetModifiableFixedInterpolator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual FixedInterpolatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableFixedInterpolator ( )
virtual

Get a pointer to the fixed interpolator.

◆ GetModifiableMovingImageGradientCalculator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual MovingImageGradientCalculatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableMovingImageGradientCalculator ( )
virtual

Set/Get gradient calculators

◆ GetModifiableMovingImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual MovingImageGradientFilterType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableMovingImageGradientFilter ( )
virtual

Set/Get the gradient filter

◆ GetModifiableMovingImageGradientImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual MovingImageGradientImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableMovingImageGradientImage ( )
virtual

Get Moving Gradient Image.

◆ GetModifiableMovingInterpolator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual MovingInterpolatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetModifiableMovingInterpolator ( )
virtual

Get a pointer to the Moving interpolator.

◆ GetMovingImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const MovingImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetMovingImage ( ) const
virtual

Get/Set the Moving Image.

◆ GetMovingImageMask()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const MovingImageMaskType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetMovingImageMask ( ) const
virtual

Set/Get the moving image mask.

◆ GetNameOfClass()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
const char* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfDomainPoints()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNumberOfDomainPoints ( ) const

Get the number of points in the domain used to evaluate the metric. This will differ depending on whether a sampled point set or dense sampling is used, and will be greater than or equal to GetNumberOfValidPoints().

◆ GetNumberOfSkippedFixedSampledPoints()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const SizeValueType& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNumberOfSkippedFixedSampledPoints ( ) const
virtual

Get the number of sampled fixed sampled points that are deemed invalid during conversion to virtual domain in Initialize(). For informational purposes.

◆ GetNumberOfWorkUnitsUsed()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual ThreadIdType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetNumberOfWorkUnitsUsed ( ) const
virtual

Get number of work units to used in the most recent evaluation. Only valid after GetValueAndDerivative() or GetValue() has been called.

◆ GetUseFixedImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetUseFixedImageGradientFilter ( ) const
virtual

Set/Get gradient computation via an image filter, for fixed image.

◆ GetUseFloatingPointCorrection()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetUseFloatingPointCorrection ( ) const
virtual

Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().

Note
The metric always sums derivative values using a CompensatedSummation object, but empirically this provides only a slight improvement in precision across number of threads during registration.
Warning
The metric does not perform any normalization so the results of this truncation are highly dependent on the derivative magnitudes.

◆ GetUseMovingImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetUseMovingImageGradientFilter ( ) const
virtual

Set/Get gradient computation via an image filter.

◆ GetUseSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetUseSampledPointSet ( ) const
virtual

Set/Get flag to use a domain sampling point set

◆ GetUseVirtualSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetUseVirtualSampledPointSet ( ) const
virtual

Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet

◆ GetValue()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MeasureType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetValue ( ) const
overridevirtual

Calculate and return the value for the metric based on the current transformation(s). The result is both returned, and stored in the m_Value member variable.

Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

◆ GetValueAndDerivative()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetValueAndDerivative ( MeasureType value,
DerivativeType derivative 
) const
overridevirtual

Calculate and return both the value for the metric and its derivative. This calls the SparseGetValueAndDerivativeThreader if UsedFixedSampledPointSet is true, and DenseGetValueAndDerivativeThreader otherwise. The threaders in turn call ProcessPoint on each point in the domain to be examined.

Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

◆ GetValueAndDerivativeExecute()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetValueAndDerivativeExecute ( ) const
protectedvirtual

Perform the actual threaded processing, using the appropriate GetValueAndDerivativeThreader. Results get written to member vars. This is available as a separate method so it can be used by derived classes that implement their own GetValueAndDerivative, and/or need to run the processing loop more than once.

◆ GetVirtualSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual const VirtualPointSetType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::GetVirtualSampledPointSet ( ) const
virtual

Set/Get the virtual image domain sampling point set

◆ Initialize()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::Initialize ( )
overridevirtual

Initialize the Metric by making sure that all the components are present and plugged together correctly, and initializing internal variables as required. This is for one-time initialization, e.g. before starting an optimization process.

Implements itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, and itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

◆ InitializeDefaultFixedImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::InitializeDefaultFixedImageGradientFilter ( )
protectedvirtual

Initialize the default image gradient filters. This must only be called once the fixed and moving images have been set.

◆ InitializeDefaultMovingImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::InitializeDefaultMovingImageGradientFilter ( )
protectedvirtual

Initialize the default image gradient filters. This must only be called once the fixed and moving images have been set.

◆ InitializeForIteration()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::InitializeForIteration ( ) const
protectedvirtual

Perform any initialization required before each evaluation of GetValueAndDerivative. This is distinct from Initialize, which is called only once before a number of iterations, e.g. before a registration loop.

Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, and itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >.

◆ LocalTransformPoint() [1/4]

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
template<typename TVirtualPoint , typename TFixedImagePoint >
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::LocalTransformPoint ( const TVirtualPoint &  virtualPoint,
TFixedImagePoint &  mappedFixedPoint 
) const
inlineprivate

◆ LocalTransformPoint() [2/4]

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
template<typename TVirtualPoint >
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::LocalTransformPoint ( const TVirtualPoint &  virtualPoint,
typename FixedTransformType::OutputPointType mappedFixedPoint 
) const
inlineprivate

Transform a point. Avoid cast if possible

Definition at line 820 of file itkImageToImageMetricv4.h.

References itk::Point< TCoordRep, VPointDimension >::CastFrom().

◆ LocalTransformPoint() [3/4]

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
template<typename TFixedImagePoint >
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::LocalTransformPoint ( const typename FixedTransformType::OutputPointType virtualPoint,
TFixedImagePoint &  mappedFixedPoint 
) const
inlineprivate

◆ LocalTransformPoint() [4/4]

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::LocalTransformPoint ( const typename FixedTransformType::OutputPointType virtualPoint,
typename FixedTransformType::OutputPointType mappedFixedPoint 
) const
inlineprivate

Transform a point. Avoid cast if possible

Definition at line 812 of file itkImageToImageMetricv4.h.

◆ MapFixedSampledPointSetToVirtual()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MapFixedSampledPointSetToVirtual ( )
private

Map the fixed point set samples to the virtual domain

◆ PrintSelf()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

◆ SetFixedImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedImage ( const FixedImageType _arg)
virtual

◆ SetFixedImageGradientCalculator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedImageGradientCalculator ( FixedImageGradientCalculatorType _arg)
virtual

Set/Get gradient calculators

◆ SetFixedImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedImageGradientFilter ( FixedImageGradientFilterType _arg)
virtual

Set/Get the gradient filter

◆ SetFixedImageMask()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedImageMask ( const FixedImageMaskType _arg)
virtual

Set/Get the fixed image mask.

◆ SetFixedInterpolator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedInterpolator ( FixedInterpolatorType _arg)
virtual

Connect the fixed interpolator.

◆ SetFixedObject()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedObject ( const ObjectType object)
inlineoverridevirtual

Set fixed image

Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

Definition at line 364 of file itkImageToImageMetricv4.h.

◆ SetFixedSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFixedSampledPointSet ( const FixedSampledPointSetType _arg)
virtual

Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.

◆ SetFloatingPointCorrectionResolution()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetFloatingPointCorrectionResolution ( DerivativeValueType  _arg)
virtual

Set/Get the floating point resolution used optionally by the derivatives. If this is set, for example to 1e5, then the derivative will have precision up to 5 points beyond the decimal point. And precision beyond that will be truncated.

◆ SetMaximumNumberOfWorkUnits()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMaximumNumberOfWorkUnits ( const ThreadIdType  number)
virtual

Set number of work units to use. This the maximum number of work units to use when multithreaded. The actual number of work units used (may be less than this value) can be obtained with GetNumberOfWorkUnitsUsed.

◆ SetMovingImage()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMovingImage ( const MovingImageType _arg)
virtual

Get/Set the Moving Image.

◆ SetMovingImageGradientCalculator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMovingImageGradientCalculator ( MovingImageGradientCalculatorType _arg)
virtual

Set/Get gradient calculators

◆ SetMovingImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMovingImageGradientFilter ( MovingImageGradientFilterType _arg)
virtual

Set/Get the gradient filter

◆ SetMovingImageMask()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMovingImageMask ( const MovingImageMaskType _arg)
virtual

Set/Get the moving image mask.

◆ SetMovingInterpolator()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMovingInterpolator ( MovingInterpolatorType _arg)
virtual

Connect the Moving interpolator.

◆ SetMovingObject()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetMovingObject ( const ObjectType object)
inlineoverridevirtual

Set moving image

Reimplemented from itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >.

Definition at line 380 of file itkImageToImageMetricv4.h.

◆ SetUseFixedImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetUseFixedImageGradientFilter ( bool  _arg)
virtual

Set/Get gradient computation via an image filter, for fixed image.

◆ SetUseFloatingPointCorrection()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetUseFloatingPointCorrection ( bool  _arg)
virtual

Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().

Note
The metric always sums derivative values using a CompensatedSummation object, but empirically this provides only a slight improvement in precision across number of threads during registration.
Warning
The metric does not perform any normalization so the results of this truncation are highly dependent on the derivative magnitudes.

◆ SetUseMovingImageGradientFilter()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetUseMovingImageGradientFilter ( bool  _arg)
virtual

Set/Get gradient computation via an image filter.

◆ SetUseSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetUseSampledPointSet ( bool  _arg)
virtual

Set/Get flag to use a domain sampling point set

◆ SetUseVirtualSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetUseVirtualSampledPointSet ( bool  _arg)
virtual

Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet

◆ SetVirtualSampledPointSet()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SetVirtualSampledPointSet ( VirtualPointSetType _arg)
virtual

Set/Get the virtual image domain sampling point set

◆ SupportsArbitraryVirtualDomainSamples()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::SupportsArbitraryVirtualDomainSamples ( ) const
inlineoverridevirtual

Returns a flag. True if arbitrary virtual domain points will always correspond to data points. False if not. For example, point-set metrics return false because only some virtual domain points will correspond to points within the point sets.

Implements itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage, TInternalComputationValueType >.

Definition at line 635 of file itkImageToImageMetricv4.h.

◆ TransformAndEvaluateFixedPoint()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::TransformAndEvaluateFixedPoint ( const VirtualPointType virtualPoint,
FixedImagePointType mappedFixedPoint,
FixedImagePixelType mappedFixedPixelValue 
) const
protected

Transform a point from VirtualImage domain to FixedImage domain and evaluate. This function also checks if mapped point is within the mask if one is set, and that is within the fixed image buffer, in which case the return value will be true. Parameters mappedFixedPoint and mappedFixedPixelValue are returned.

◆ TransformAndEvaluateMovingPoint()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::TransformAndEvaluateMovingPoint ( const VirtualPointType virtualPoint,
MovingImagePointType mappedMovingPoint,
MovingImagePixelType mappedMovingPixelValue 
) const
protected

Transform and evaluate a point from VirtualImage domain to MovingImage domain.

◆ UseFixedImageGradientFilterOn()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::UseFixedImageGradientFilterOn ( )
virtual

Set/Get gradient computation via an image filter, for fixed image.

◆ UseFloatingPointCorrectionOn()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::UseFloatingPointCorrectionOn ( )
virtual

Set/Get the option for applying floating point resolution truncation to derivative calculations in global support cases. False by default. It is only applied in global support cases (i.e. with global-support transforms) because in these cases, the per-point derivative values are added cumulatively, which can lead to loss of precision when the sum becomes much larger than the values being added. The goal is more consistent results across the number of threads used for an evaluation. The resolution can be changed using SetFloatingPointCorrectionResolution().

Note
The metric always sums derivative values using a CompensatedSummation object, but empirically this provides only a slight improvement in precision across number of threads during registration.
Warning
The metric does not perform any normalization so the results of this truncation are highly dependent on the derivative magnitudes.

◆ UseMovingImageGradientFilterOn()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::UseMovingImageGradientFilterOn ( )
virtual

Set/Get gradient computation via an image filter.

◆ UseSampledPointSetOn()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::UseSampledPointSetOn ( )
virtual

Set/Get flag to use a domain sampling point set

◆ UseVirtualSampledPointSetOn()

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::UseVirtualSampledPointSetOn ( )
virtual

Set/Get flag to indicate of the VirtualSampledPointSet is set over the FixedSampledPointSet

Friends And Related Function Documentation

◆ ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >
friend

Definition at line 661 of file itkImageToImageMetricv4.h.

◆ ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >
friend

Definition at line 662 of file itkImageToImageMetricv4.h.

◆ ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
friend class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >
friend

Definition at line 658 of file itkImageToImageMetricv4.h.

◆ ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self >

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
friend class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self >
friend

Definition at line 659 of file itkImageToImageMetricv4.h.

Member Data Documentation

◆ FixedImageDimension

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
constexpr DimensionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::FixedImageDimension = Superclass::FixedDimension
staticconstexpr

Definition at line 269 of file itkImageToImageMetricv4.h.

◆ m_ComputeDerivative

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_ComputeDerivative {}
mutableprivate

Flag to know if derivative should be calculated

Definition at line 871 of file itkImageToImageMetricv4.h.

◆ m_DefaultFixedImageGradientCalculator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
DefaultFixedImageGradientCalculator::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_DefaultFixedImageGradientCalculator {}
protected

Pointer to default gradient calculators. Used for easier initialization of the default filter.

Definition at line 765 of file itkImageToImageMetricv4.h.

◆ m_DefaultFixedImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
DefaultFixedImageGradientFilter::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_DefaultFixedImageGradientFilter {}
protected

Pointer to default gradient filter. Used for easier initialization of the default filter.

Definition at line 760 of file itkImageToImageMetricv4.h.

◆ m_DefaultMovingImageGradientCalculator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
DefaultMovingImageGradientCalculator::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_DefaultMovingImageGradientCalculator {}
protected

Definition at line 766 of file itkImageToImageMetricv4.h.

◆ m_DefaultMovingImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
DefaultMovingImageGradientFilter::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_DefaultMovingImageGradientFilter {}
protected

Definition at line 761 of file itkImageToImageMetricv4.h.

◆ m_DenseGetValueAndDerivativeThreader

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
ImageToImageMetricv4GetValueAndDerivativeThreader<ThreadedImageRegionPartitioner<VirtualImageDimension>, Self>::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_DenseGetValueAndDerivativeThreader
protected

Definition at line 668 of file itkImageToImageMetricv4.h.

◆ m_DerivativeResult

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
DerivativeType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_DerivativeResult {}
mutableprotected

Derivative results holder. Uses a raw pointer so we can point it to a user-provided object. This is used in internal methods so the user-provided variable does not have to be passed around. It also enables safely sharing a derivative object between metrics during multi-variate analysis, for memory efficiency. Will be nullptr if not set.

Definition at line 782 of file itkImageToImageMetricv4.h.

◆ m_FixedImage

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedImageConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImage {}
protected

Definition at line 740 of file itkImageToImageMetricv4.h.

◆ m_FixedImageGradientCalculator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedImageGradientCalculatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageGradientCalculator {}
protected

Image gradient calculators

Definition at line 773 of file itkImageToImageMetricv4.h.

◆ m_FixedImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedImageGradientFilterPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageGradientFilter {}
protected

Gradient filters

Definition at line 755 of file itkImageToImageMetricv4.h.

◆ m_FixedImageGradientImage

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedImageGradientImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageGradientImage {}
mutableprotected

Gradient images to store gradient filter output.

Definition at line 769 of file itkImageToImageMetricv4.h.

◆ m_FixedImageGradientInterpolator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedImageGradientInterpolatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageGradientInterpolator {}
protected

Definition at line 746 of file itkImageToImageMetricv4.h.

◆ m_FixedImageMask

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedImageMaskConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedImageMask {}
protected

Masks

Definition at line 785 of file itkImageToImageMetricv4.h.

◆ m_FixedInterpolator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedInterpolatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedInterpolator {}
protected

Pointers to interpolators

Definition at line 744 of file itkImageToImageMetricv4.h.

◆ m_FixedSampledPointSet

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
FixedSampledPointSetConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FixedSampledPointSet {}
protected

Sampled point sets

Definition at line 789 of file itkImageToImageMetricv4.h.

◆ m_FloatingPointCorrectionResolution

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
DerivativeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_FloatingPointCorrectionResolution {}
private

Definition at line 866 of file itkImageToImageMetricv4.h.

◆ m_HaveMadeGetValueWarning

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_HaveMadeGetValueWarning {}
mutableprivate

Flag for warning about use of GetValue. Will be removed when GetValue implementation is improved.

Definition at line 858 of file itkImageToImageMetricv4.h.

◆ m_MetricTraits

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MetricTraits itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MetricTraits {}
private

Definition at line 868 of file itkImageToImageMetricv4.h.

◆ m_MovingImage

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingImageConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImage {}
protected

Definition at line 741 of file itkImageToImageMetricv4.h.

◆ m_MovingImageGradientCalculator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingImageGradientCalculatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageGradientCalculator {}
protected

Definition at line 774 of file itkImageToImageMetricv4.h.

◆ m_MovingImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingImageGradientFilterPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageGradientFilter {}
protected

Definition at line 756 of file itkImageToImageMetricv4.h.

◆ m_MovingImageGradientImage

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingImageGradientImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageGradientImage {}
mutableprotected

Definition at line 770 of file itkImageToImageMetricv4.h.

◆ m_MovingImageGradientInterpolator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingImageGradientInterpolatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageGradientInterpolator {}
protected

Definition at line 747 of file itkImageToImageMetricv4.h.

◆ m_MovingImageMask

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingImageMaskConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingImageMask {}
protected

Definition at line 786 of file itkImageToImageMetricv4.h.

◆ m_MovingInterpolator

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
MovingInterpolatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_MovingInterpolator {}
protected

Definition at line 745 of file itkImageToImageMetricv4.h.

◆ m_NumberOfSkippedFixedSampledPoints

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_NumberOfSkippedFixedSampledPoints {}
private

Keep track of the number of sampled fixed points that are deemed invalid during conversion to virtual domain. For informational purposes.

Definition at line 863 of file itkImageToImageMetricv4.h.

◆ m_SparseGetValueAndDerivativeThreader

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
ImageToImageMetricv4GetValueAndDerivativeThreader<ThreadedIndexedContainerPartitioner, Self>::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_SparseGetValueAndDerivativeThreader
protected

Definition at line 673 of file itkImageToImageMetricv4.h.

◆ m_UseFixedImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_UseFixedImageGradientFilter {}
protected

Flag to control use of precomputed gradient filter image or gradient calculator for image gradient calculations.

Definition at line 751 of file itkImageToImageMetricv4.h.

◆ m_UseFloatingPointCorrection

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_UseFloatingPointCorrection {}
private

Definition at line 865 of file itkImageToImageMetricv4.h.

◆ m_UseMovingImageGradientFilter

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_UseMovingImageGradientFilter {}
protected

Definition at line 752 of file itkImageToImageMetricv4.h.

◆ m_UseSampledPointSet

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_UseSampledPointSet {}
protected

Flag to use a SampledPointSet, i.e. Sparse sampling.

Definition at line 793 of file itkImageToImageMetricv4.h.

◆ m_UseVirtualSampledPointSet

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_UseVirtualSampledPointSet {}
protected

Flag to indicate the user set VirtualSampledPointSet over FixedSampledPointSet

Definition at line 797 of file itkImageToImageMetricv4.h.

◆ m_VirtualSampledPointSet

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
VirtualPointSetPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::m_VirtualSampledPointSet {}
protected

Definition at line 790 of file itkImageToImageMetricv4.h.

◆ MovingImageDimension

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
constexpr DimensionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::MovingImageDimension = Superclass::MovingDimension
staticconstexpr

Definition at line 270 of file itkImageToImageMetricv4.h.

◆ VirtualImageDimension

template<typename TFixedImage , typename TMovingImage , typename TVirtualImage = TFixedImage, typename TInternalComputationValueType = double, typename TMetricTraits = DefaultImageToImageMetricTraitsv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType>>
constexpr DimensionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >::VirtualImageDimension = Superclass::VirtualDimension
staticconstexpr

Definition at line 271 of file itkImageToImageMetricv4.h.


The documentation for this class was generated from the following file:
itk::ImageToImageMetricv4::m_SparseGetValueAndDerivativeThreader
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer m_SparseGetValueAndDerivativeThreader
Definition: itkImageToImageMetricv4.h:673
New
static Pointer New()
itk::ImageToImageMetricv4::m_DenseGetValueAndDerivativeThreader
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >::Pointer m_DenseGetValueAndDerivativeThreader
Definition: itkImageToImageMetricv4.h:668