ITK  5.0.0
Insight Segmentation and Registration 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 >:

Detailed Description

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

Definition at line 36 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

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
 

Member Typedef Documentation

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::AssociateType = typename Superclass::AssociateType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ConstPointer = SmartPointer< const Self >
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::DerivativeType = typename Superclass::DerivativeType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::DerivativeValueType = typename Superclass::DerivativeValueType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::DomainType = typename Superclass::DomainType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedImageGradientType = typename Superclass::FixedImageGradientType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedImagePixelType = typename Superclass::FixedImagePixelType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedImagePointType = typename Superclass::FixedImagePointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedOutputPointType = typename Superclass::FixedOutputPointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::InternalComputationValueType = typename Superclass::InternalComputationValueType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MeasureType = typename Superclass::MeasureType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingImageGradientType = typename Superclass::MovingImageGradientType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingImagePixelType = typename Superclass::MovingImagePixelType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingImagePointType = typename Superclass::MovingImagePointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingOutputPointType = typename Superclass::MovingOutputPointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::NumberOfParametersType = typename Superclass::NumberOfParametersType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
using itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Pointer = SmartPointer< 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.

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

Constructor & Destructor Documentation

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

Member Function Documentation

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).

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

Overload: Resize and initialize per thread objects.

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
virtual::itk::LightObject::Pointer itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::CreateAnother ( ) const
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
virtual const char* itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::GetNameOfClass ( ) const
virtual
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT  ,
PaddedCorrelationMetricPerThreadStruct  ,
AlignedCorrelationMetricPerThreadStruct   
)
private
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT  ,
CorrelationMetricPerThreadStruct  ,
PaddedCorrelationMetricPerThreadStruct   
)
private
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TCorrelationMetric >
static Pointer itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::New ( )
static
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 105 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

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

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 136 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

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: