ITK  5.3.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric > Class Template Reference

#include <itkCorrelationImageToImageMetricv4HelperThreader.h>

+ Inheritance diagram for itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >:
+ Collaboration diagram for itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >:

Classes

struct  CorrelationMetricPerThreadStruct
 

Public Types

using AssociateType = typename Superclass::AssociateType
 
using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = typename Superclass::DerivativeType
 
using DerivativeValueType = typename Superclass::DerivativeValueType
 
using DomainType = typename Superclass::DomainType
 
using FixedImageGradientType = typename Superclass::FixedImageGradientType
 
using FixedImagePixelType = typename Superclass::FixedImagePixelType
 
using FixedImagePointType = typename Superclass::FixedImagePointType
 
using FixedOutputPointType = typename Superclass::FixedOutputPointType
 
using ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type
 
using InternalComputationValueType = typename Superclass::InternalComputationValueType
 
using MeasureType = typename Superclass::MeasureType
 
using MovingImageGradientType = typename Superclass::MovingImageGradientType
 
using MovingImagePixelType = typename Superclass::MovingImagePixelType
 
using MovingImagePointType = typename Superclass::MovingImagePointType
 
using MovingOutputPointType = typename Superclass::MovingOutputPointType
 
using NumberOfParametersType = typename Superclass::NumberOfParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = CorrelationImageToImageMetricv4HelperThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric >
 
using VirtualIndexType = typename Superclass::VirtualIndexType
 
using VirtualPointType = typename Superclass::VirtualPointType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void AfterThreadedExecution () override
 
void BeforeThreadedExecution () override
 
 CorrelationImageToImageMetricv4HelperThreader ()
 
bool ProcessPoint (const VirtualIndexType &, const VirtualPointType &, const FixedImagePointType &, const FixedImagePixelType &, const FixedImageGradientType &, const MovingImagePointType &, const MovingImagePixelType &, const MovingImageGradientType &, MeasureType &, DerivativeType &, const ThreadIdType) const override
 
bool ProcessVirtualPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId) override
 
 ~CorrelationImageToImageMetricv4HelperThreader () override
 

Private Member Functions

 itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedCorrelationMetricPerThreadStruct, AlignedCorrelationMetricPerThreadStruct)
 
 itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, CorrelationMetricPerThreadStruct, PaddedCorrelationMetricPerThreadStruct)
 

Private Attributes

TCorrelationMetric * m_CorrelationAssociate
 
AlignedCorrelationMetricPerThreadStruct * m_CorrelationMetricPerThreadVariables
 

Detailed Description

template<typename TDomainPartitioner, typename TImageToImageMetric, typename TCorrelationMetric>
class itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >

Definition at line 36 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

Member Typedef Documentation

◆ AssociateType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::AssociateType = typename Superclass::AssociateType

◆ ConstPointer

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ConstPointer = SmartPointer<const Self>

◆ DerivativeType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::DerivativeType = typename Superclass::DerivativeType

◆ DerivativeValueType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::DerivativeValueType = typename Superclass::DerivativeValueType

◆ DomainType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::DomainType = typename Superclass::DomainType

◆ FixedImageGradientType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedImageGradientType = typename Superclass::FixedImageGradientType

◆ FixedImagePixelType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedImagePixelType = typename Superclass::FixedImagePixelType

◆ FixedImagePointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedImagePointType = typename Superclass::FixedImagePointType

◆ FixedOutputPointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedOutputPointType = typename Superclass::FixedOutputPointType

◆ ImageToImageMetricv4Type

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type

◆ InternalComputationValueType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::InternalComputationValueType = typename Superclass::InternalComputationValueType

◆ MeasureType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MeasureType = typename Superclass::MeasureType

◆ MovingImageGradientType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingImageGradientType = typename Superclass::MovingImageGradientType

◆ MovingImagePixelType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingImagePixelType = typename Superclass::MovingImagePixelType

◆ MovingImagePointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingImagePointType = typename Superclass::MovingImagePointType

◆ MovingOutputPointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingOutputPointType = typename Superclass::MovingOutputPointType

◆ NumberOfParametersType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::NumberOfParametersType = typename Superclass::NumberOfParametersType

◆ Pointer

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Pointer = SmartPointer<Self>

◆ Self

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Self = CorrelationImageToImageMetricv4HelperThreader

Standard class type aliases.

Definition at line 43 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

◆ Superclass

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner, TImageToImageMetric>

◆ VirtualIndexType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::VirtualIndexType = typename Superclass::VirtualIndexType

◆ VirtualPointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::VirtualPointType = typename Superclass::VirtualPointType

Constructor & Destructor Documentation

◆ CorrelationImageToImageMetricv4HelperThreader()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::CorrelationImageToImageMetricv4HelperThreader ( )
protected

◆ ~CorrelationImageToImageMetricv4HelperThreader()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::~CorrelationImageToImageMetricv4HelperThreader ( )
overrideprotected

Member Function Documentation

◆ AfterThreadedExecution()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
void itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::AfterThreadedExecution ( )
overrideprotected

Overload: Collects the results from each thread and sums them. Results are stored in the enclosing class m_Value and m_DerivativeResult. Behavior depends on m_AverageValueAndDerivativeByNumberOfValuePoints, m_NumberOfValidPoints, to average the value sum, and to average derivative sums for global transforms only (i.e. transforms without local support).

◆ BeforeThreadedExecution()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
void itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::BeforeThreadedExecution ( )
overrideprotected

Overload: Resize and initialize per thread objects.

◆ CreateAnother()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
virtual::itk::LightObject::Pointer itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::CreateAnother ( ) const

◆ GetNameOfClass()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
virtual const char* itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::GetNameOfClass ( ) const
virtual

◆ itkAlignedTypedef()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT  ,
PaddedCorrelationMetricPerThreadStruct  ,
AlignedCorrelationMetricPerThreadStruct   
)
private

◆ itkPadStruct()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT  ,
CorrelationMetricPerThreadStruct  ,
PaddedCorrelationMetricPerThreadStruct   
)
private

◆ New()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
static Pointer itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::New ( )
static

◆ ProcessPoint()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
bool itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ProcessPoint ( const VirtualIndexType ,
const VirtualPointType ,
const FixedImagePointType ,
const FixedImagePixelType ,
const FixedImageGradientType ,
const MovingImagePointType ,
const MovingImagePixelType ,
const MovingImageGradientType ,
MeasureType ,
DerivativeType ,
const  ThreadIdType 
) const
inlineoverrideprotected

Not using. All processing is done in ProcessVirtualPoint.

Definition at line 109 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

◆ ProcessVirtualPoint()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
bool itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ProcessVirtualPoint ( const VirtualIndexType virtualIndex,
const VirtualPointType virtualPoint,
const ThreadIdType  threadId 
)
overrideprotected

Member Data Documentation

◆ m_CorrelationAssociate

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
TCorrelationMetric* itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::m_CorrelationAssociate
private

Internal pointer to the metric object in use by this threader. This will avoid costly dynamic casting in tight loops.

Definition at line 139 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

◆ m_CorrelationMetricPerThreadVariables

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
AlignedCorrelationMetricPerThreadStruct* itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::m_CorrelationMetricPerThreadVariables
mutableprivate

The documentation for this class was generated from the following file: