ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric > Class Template Reference

#include <itkCorrelationImageToImageMetricv4HelperThreader.h>

Detailed Description

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

Definition at line 38 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

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

Classes

struct  CorrelationMetricPerThreadStruct
 

Public Types

using ConstPointer = SmartPointer<const Self>
 
using ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type
 
using Pointer = SmartPointer<Self>
 
using Self = CorrelationImageToImageMetricv4HelperThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner, TImageToImageMetric>
 

Public Member Functions

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

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=default
 

Private Member Functions

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

Private Attributes

TCorrelationMetric * m_CorrelationAssociate {}
 
std::unique_ptr< AlignedCorrelationMetricPerThreadStruct[]> m_CorrelationMetricPerThreadVariables
 

Member Typedef Documentation

◆ ConstPointer

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

◆ ImageToImageMetricv4Type

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

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

◆ Superclass

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

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 ( )
overrideprotecteddefault

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>
const char * itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::GetNameOfClass ( ) const
override

◆ 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 111 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 141 of file itkCorrelationImageToImageMetricv4HelperThreader.h.

◆ m_CorrelationMetricPerThreadVariables

template<typename TDomainPartitioner, typename TImageToImageMetric, typename TCorrelationMetric>
std::unique_ptr<AlignedCorrelationMetricPerThreadStruct[]> itk::CorrelationImageToImageMetricv4HelperThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::m_CorrelationMetricPerThreadVariables
private

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