18#ifndef itkImageToImageMetricv4GetValueAndDerivativeThreaderBase_h
19#define itkImageToImageMetricv4GetValueAndDerivativeThreaderBase_h
45template <
typename TDomainPartitioner,
typename TImageToImageMetricv4>
82 using MeasureType =
typename ImageToImageMetricv4Type::MeasureType;
85 using JacobianType =
typename ImageToImageMetricv4Type::JacobianType;
197 GetValueAndDerivativePerThreadStruct,
198 PaddedGetValueAndDerivativePerThreadStruct);
200 PaddedGetValueAndDerivativePerThreadStruct,
201 AlignedGetValueAndDerivativePerThreadStruct);
212#ifndef ITK_MANUAL_INSTANTIATION
213# include "itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.hxx"
Perform more precise accumulation of floating point numbers.
typename DomainPartitionerType::DomainType DomainType
CompensatedSummation< DerivativeValueType > CompensatedDerivativeValueType
void AfterThreadedExecution() override
NumberOfParametersType m_CachedNumberOfLocalParameters
~ImageToImageMetricv4GetValueAndDerivativeThreaderBase() override=default
virtual bool ProcessVirtualPoint(const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
typename ImageToImageMetricv4Type::MovingImagePixelType MovingImagePixelType
typename ImageToImageMetricv4Type::FixedImagePointType FixedImagePointType
typename ImageToImageMetricv4Type::VirtualIndexType VirtualIndexType
SmartPointer< const Self > ConstPointer
typename ImageToImageMetricv4Type::NumberOfParametersType NumberOfParametersType
typename ImageToImageMetricv4Type::DerivativeType DerivativeType
virtual bool ProcessPoint(const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const FixedImagePointType &mappedFixedPoint, const FixedImagePixelType &mappedFixedPixelValue, const FixedImageGradientType &mappedFixedImageGradient, const MovingImagePointType &mappedMovingPoint, const MovingImagePixelType &mappedMovingPixelValue, const MovingImageGradientType &mappedMovingImageGradient, MeasureType &metricValueReturn, DerivativeType &localDerivativeReturn, const ThreadIdType threadId) const =0
typename ImageToImageMetricv4Type::ImageDimensionType ImageDimensionType
typename ImageToImageMetricv4Type::FixedImageIndexType FixedImageIndexType
TImageToImageMetricv4 ImageToImageMetricv4Type
typename MovingTransformType::OutputPointType MovingOutputPointType
typename ImageToImageMetricv4Type::VirtualPointType VirtualPointType
typename ImageToImageMetricv4Type::MeasureType MeasureType
typename ImageToImageMetricv4Type::VirtualImageType VirtualImageType
typename ImageToImageMetricv4Type::JacobianType JacobianType
DomainThreader< ThreadedImageRegionPartitioner< TImageToImageMetricv4::VirtualImageDimension >, TImageToImageMetricv4 > Superclass
typename ImageToImageMetricv4Type::MovingTransformType MovingTransformType
ImageToImageMetricv4GetValueAndDerivativeThreaderBase()
typename ImageToImageMetricv4Type::MovingImageGradientType MovingImageGradientType
void BeforeThreadedExecution() override
itkPadStruct(ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
NumberOfParametersType m_CachedNumberOfParameters
ImageToImageMetricv4GetValueAndDerivativeThreaderBase Self
typename ImageToImageMetricv4Type::InternalComputationValueType InternalComputationValueType
typename ImageToImageMetricv4Type::DerivativeValueType DerivativeValueType
typename ImageToImageMetricv4Type::FixedImagePixelType FixedImagePixelType
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> m_GetValueAndDerivativePerThreadVariables
virtual void StorePointDerivativeResult(const VirtualIndexType &virtualIndex, const ThreadIdType threadId)
typename ImageToImageMetricv4Type::FixedImageGradientType FixedImageGradientType
typename FixedTransformType::OutputPointType FixedOutputPointType
typename ImageToImageMetricv4Type::FixedTransformType FixedTransformType
virtual bool GetComputeDerivative() const
SmartPointer< Self > Pointer
itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
typename ImageToImageMetricv4Type::MovingImagePointType MovingImagePointType
std::vector< CompensatedDerivativeValueType > CompensatedDerivativeType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
unsigned long SizeValueType
JacobianType MovingTransformJacobian
SizeValueType NumberOfValidPoints
DerivativeType LocalDerivatives
DerivativeType Derivatives
JacobianType MovingTransformJacobianPositional
CompensatedDerivativeType CompensatedDerivatives
InternalComputationValueType Measure