ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Protected Member Functions | List of all members
itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 > Class Template Reference

#include <itkImageToImageMetricv4GetValueAndDerivativeThreader.h>

Detailed Description

template<typename TImageToImageMetricv4>
class itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >

Definition at line 132 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

+ Inheritance diagram for itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >:
+ Collaboration diagram for itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToImageMetricv4GetValueAndDerivativeThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
 
using VirtualImageType = typename Superclass::VirtualImageType
 
- Public Types inherited from itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
using CompensatedDerivativeType = std::vector< CompensatedDerivativeValueType >
 
using CompensatedDerivativeValueType = CompensatedSummation< DerivativeValueType >
 
using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = typename ImageToImageMetricv4Type::DerivativeType
 
using DerivativeValueType = typename ImageToImageMetricv4Type::DerivativeValueType
 
using FixedImageGradientType = typename ImageToImageMetricv4Type::FixedImageGradientType
 
using FixedImageIndexType = typename ImageToImageMetricv4Type::FixedImageIndexType
 
using FixedImagePixelType = typename ImageToImageMetricv4Type::FixedImagePixelType
 
using FixedImagePointType = typename ImageToImageMetricv4Type::FixedImagePointType
 
using FixedOutputPointType = typename FixedTransformType::OutputPointType
 
using FixedTransformType = typename ImageToImageMetricv4Type::FixedTransformType
 
using ImageDimensionType = typename ImageToImageMetricv4Type::ImageDimensionType
 
using ImageToImageMetricv4Type = TImageToImageMetricv4
 
using InternalComputationValueType = typename ImageToImageMetricv4Type::InternalComputationValueType
 
using JacobianType = typename ImageToImageMetricv4Type::JacobianType
 
using MeasureType = typename ImageToImageMetricv4Type::MeasureType
 
using MovingImageGradientType = typename ImageToImageMetricv4Type::MovingImageGradientType
 
using MovingImagePixelType = typename ImageToImageMetricv4Type::MovingImagePixelType
 
using MovingImagePointType = typename ImageToImageMetricv4Type::MovingImagePointType
 
using MovingOutputPointType = typename MovingTransformType::OutputPointType
 
using MovingTransformType = typename ImageToImageMetricv4Type::MovingTransformType
 
using NumberOfParametersType = typename ImageToImageMetricv4Type::NumberOfParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToImageMetricv4GetValueAndDerivativeThreaderBase
 
using Superclass = DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
 
using VirtualImageType = typename ImageToImageMetricv4Type::VirtualImageType
 
using VirtualIndexType = typename ImageToImageMetricv4Type::VirtualIndexType
 
using VirtualPointType = typename ImageToImageMetricv4Type::VirtualPointType
 
- Public Types inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
using AssociateType = TImageToImageMetricv4
 
using ConstPointer = SmartPointer< const Self >
 
using DomainPartitionerType = ThreadedIndexedContainerPartitioner
 
using DomainType = typename DomainPartitionerType::DomainType
 
using Pointer = SmartPointer< Self >
 
using Self = DomainThreader
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

const char * GetNameOfClass () const override
 
- Public Member Functions inherited from itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
virtual bool GetComputeDerivative () const
 
const char * GetNameOfClass () const override
 
- Public Member Functions inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
void Execute (AssociateType *enclosingClass, const DomainType &completeDomain)
 
MultiThreaderBaseGetMultiThreader () const
 
virtual ThreadIdType GetNumberOfWorkUnitsUsed () const
 
virtual void SetDomainPartitioner (DomainPartitionerType *_arg)
 
virtual DomainPartitionerTypeGetModifiableDomainPartitioner ()
 
virtual void SetNumberOfWorkUnits (ThreadIdType _arg)
 
virtual ThreadIdType GetNumberOfWorkUnits () const
 
ThreadIdType GetMaximumNumberOfThreads () const
 
void SetMaximumNumberOfThreads (const ThreadIdType threads)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Protected Member Functions

 ImageToImageMetricv4GetValueAndDerivativeThreader ()=default
 
void ThreadedExecution (const DomainType &indexSubRange, const ThreadIdType threadId) override
 
NumberOfParametersType GetCachedNumberOfParameters () const
 
NumberOfParametersType GetCachedNumberOfLocalParameters () const
 
- Protected Member Functions inherited from itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
void AfterThreadedExecution () override
 
void BeforeThreadedExecution () override
 
 ImageToImageMetricv4GetValueAndDerivativeThreaderBase ()
 
 itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
 
 itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
 
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
 
virtual bool ProcessVirtualPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
 
virtual void StorePointDerivativeResult (const VirtualIndexType &virtualIndex, const ThreadIdType threadId)
 
 ~ImageToImageMetricv4GetValueAndDerivativeThreaderBase () override=default
 
- Protected Member Functions inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
virtual void DetermineNumberOfWorkUnitsUsed ()
 
 DomainThreader ()
 
virtual void SetMultiThreader (MultiThreaderBase *_arg)
 
 ~DomainThreader () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Static Protected Member Functions inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 
- Protected Attributes inherited from itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
NumberOfParametersType m_CachedNumberOfLocalParameters
 
NumberOfParametersType m_CachedNumberOfParameters
 
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> m_GetValueAndDerivativePerThreadVariables
 
- Protected Attributes inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
AssociateTypem_Associate
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ ConstPointer

template<typename TImageToImageMetricv4 >
using itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::ConstPointer = SmartPointer<const Self>

◆ ImageToImageMetricv4Type

template<typename TImageToImageMetricv4 >
using itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type

Types of the target class.

Definition at line 154 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ Pointer

template<typename TImageToImageMetricv4 >
using itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::Pointer = SmartPointer<Self>

◆ Self

Standard class type aliases.

Definition at line 141 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ Superclass

◆ VirtualImageType

template<typename TImageToImageMetricv4 >
using itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::VirtualImageType = typename Superclass::VirtualImageType

Constructor & Destructor Documentation

◆ ImageToImageMetricv4GetValueAndDerivativeThreader()

template<typename TImageToImageMetricv4 >
itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::ImageToImageMetricv4GetValueAndDerivativeThreader ( )
protecteddefault

Constructor.

Member Function Documentation

◆ GetCachedNumberOfLocalParameters()

template<typename TImageToImageMetricv4 >
NumberOfParametersType itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::GetCachedNumberOfLocalParameters ( ) const
inlineprotected

Get cached values for efficiency. Only valid once threading has started. These methods should be used in tight loops (inlining helps measurably). Put these methods here so derived threaders can access them directly.

Definition at line 196 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ GetCachedNumberOfParameters()

template<typename TImageToImageMetricv4 >
NumberOfParametersType itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::GetCachedNumberOfParameters ( ) const
inlineprotected

Get cached values for efficiency. Only valid once threading has started. These methods should be used in tight loops (inlining helps measurably). Put these methods here so derived threaders can access them directly.

Definition at line 191 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ GetNameOfClass()

template<typename TImageToImageMetricv4 >
const char* itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ ThreadedExecution()

template<typename TImageToImageMetricv4 >
void itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::ThreadedExecution ( const DomainType indexSubRange,
const ThreadIdType  threadId 
)
overrideprotectedvirtual

Walk through the given virtual image domain, and call ProcessVirtualPoint on every point.

Implements itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >.


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