18 #ifndef itkImageToImageMetricv4GetValueAndDerivativeThreaderBase_h
19 #define itkImageToImageMetricv4GetValueAndDerivativeThreaderBase_h
43 template <
typename TDomainPartitioner,
typename TImageToImageMetricv4 >
45 :
public DomainThreader< TDomainPartitioner, TImageToImageMetricv4 >
78 typedef typename ImageToImageMetricv4Type::MeasureType
MeasureType;
81 typedef typename ImageToImageMetricv4Type::JacobianType
JacobianType;
188 PaddedGetValueAndDerivativePerThreadStruct);
189 itkAlignedTypedef( ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct,
190 AlignedGetValueAndDerivativePerThreadStruct );
201 void operator=( const
Self & ) ITK_DELETE_FUNCTION;
206 #ifndef ITK_MANUAL_INSTANTIATION
207 #include "itkImageToImageMetricv4GetValueAndDerivativeThreaderBase.hxx"
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
NumberOfParametersType m_CachedNumberOfParameters
virtual void StorePointDerivativeResult(const VirtualIndexType &virtualIndex, const ThreadIdType threadId)
Light weight base class for most itk classes.
Multi-threaded processing on a domain by processing sub-domains per thread.
Provides threading for ImageToImageMetricv4::GetValueAndDerivative.
TImageToImageMetricv4 AssociateType
ImageToImageMetricv4Type::ImageDimensionType ImageDimensionType
virtual void AfterThreadedExecution() override
ImageToImageMetricv4Type::MovingImagePointType MovingImagePointType
itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
ImageToImageMetricv4GetValueAndDerivativeThreaderBase Self
SizeValueType NumberOfValidPoints
ImageToImageMetricv4Type::MovingImageGradientType MovingImageGradientType
MovingTransformType::OutputPointType MovingOutputPointType
unsigned long SizeValueType
DerivativeType Derivatives
ImageToImageMetricv4Type::InternalComputationValueType InternalComputationValueType
ImageToImageMetricv4Type::FixedImageIndexType FixedImageIndexType
InternalComputationValueType Measure
SmartPointer< Self > Pointer
DomainPartitionerType::DomainType DomainType
JacobianType MovingTransformJacobian
virtual void BeforeThreadedExecution() override
virtual bool GetComputeDerivative() const
ImageToImageMetricv4Type::VirtualPointType VirtualPointType
ImageToImageMetricv4Type::JacobianType JacobianType
AlignedGetValueAndDerivativePerThreadStruct * m_GetValueAndDerivativePerThreadVariables
JacobianType MovingTransformJacobianPositional
itkPadStruct(ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
ImageToImageMetricv4GetValueAndDerivativeThreaderBase()
std::vector< CompensatedDerivativeValueType > CompensatedDerivativeType
Perform more precise accumulation of floating point numbers.
Superclass::AssociateType AssociateType
ImageToImageMetricv4Type::VirtualImageType VirtualImageType
ImageToImageMetricv4Type::DerivativeValueType DerivativeValueType
TImageToImageMetricv4 ImageToImageMetricv4Type
virtual bool ProcessVirtualPoint(const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
DerivativeType LocalDerivatives
ImageToImageMetricv4Type::MovingImagePixelType MovingImagePixelType
ImageToImageMetricv4Type::FixedImageGradientType FixedImageGradientType
unsigned int ThreadIdType
ImageToImageMetricv4Type::MeasureType MeasureType
CompensatedSummation< DerivativeValueType > CompensatedDerivativeValueType
FixedTransformType::OutputPointType FixedOutputPointType
DomainThreader< TDomainPartitioner, TImageToImageMetricv4 > Superclass
SmartPointer< const Self > ConstPointer
Superclass::DomainType DomainType
ImageToImageMetricv4Type::NumberOfParametersType NumberOfParametersType
ImageToImageMetricv4Type::FixedTransformType FixedTransformType
CompensatedDerivativeType CompensatedDerivatives
ImageToImageMetricv4Type::FixedImagePixelType FixedImagePixelType
virtual ~ImageToImageMetricv4GetValueAndDerivativeThreaderBase()
NumberOfParametersType m_CachedNumberOfLocalParameters
ImageToImageMetricv4Type::VirtualIndexType VirtualIndexType
ImageToImageMetricv4Type::DerivativeType DerivativeType
ImageToImageMetricv4Type::FixedImagePointType FixedImagePointType
ImageToImageMetricv4Type::MovingTransformType MovingTransformType