ITK  5.2.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>

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

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 FixedTransformType = typename Superclass::FixedTransformType
 
using ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type
 
using InternalComputationValueType = typename Superclass::InternalComputationValueType
 
using JacobianType = typename Superclass::JacobianType
 
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 MovingTransformType = typename Superclass::MovingTransformType
 
using NumberOfParametersType = typename Superclass::NumberOfParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToImageMetricv4GetValueAndDerivativeThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
 
using VirtualImageType = typename Superclass::VirtualImageType
 
using VirtualIndexType = typename Superclass::VirtualIndexType
 
using VirtualPointType = typename Superclass::VirtualPointType
 
- Public Types inherited from itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
using AssociateType = typename Superclass::AssociateType
 
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 DomainType = typename Superclass::DomainType
 
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

virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
virtual bool GetComputeDerivative () const
 
- Public Member Functions inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
void Execute (AssociateType *enclosingClass, const DomainType &domain)
 
virtual void SetDomainPartitioner (DomainPartitionerType *_arg)
 
virtual DomainPartitionerTypeGetModifiableDomainPartitioner ()
 
virtual const DomainPartitionerTypeGetDomainPartitioner () const
 
virtual ThreadIdType GetNumberOfWorkUnitsUsed () const
 
MultiThreaderBaseGetMultiThreader () const
 
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 *)
 
unsigned long AddObserver (const EventObject &event, Command *) 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)
 
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
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Protected Member Functions

 ImageToImageMetricv4GetValueAndDerivativeThreader ()=default
 
void ThreadedExecution (const DomainType &subdomain, 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
 
- Protected Member Functions inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
 DomainThreader ()
 
 ~DomainThreader () override=default
 
virtual void DetermineNumberOfWorkUnitsUsed ()
 
virtual void ThreadedExecution (const DomainType &subdomain, const ThreadIdType threadId)=0
 
virtual void SetMultiThreader (MultiThreaderBase *_arg)
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
 ~Object () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
- 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 flag)
 
- 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
 
AlignedGetValueAndDerivativePerThreadStruct * m_GetValueAndDerivativePerThreadVariables
 
- Protected Attributes inherited from itk::DomainThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >
AssociateTypem_Associate
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

Detailed Description

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

Definition at line 133 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

Member Typedef Documentation

◆ AssociateType

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

◆ ConstPointer

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

◆ DerivativeType

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

◆ DerivativeValueType

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

◆ DomainType

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

Superclass types.

Definition at line 152 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ FixedImageGradientType

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

◆ FixedImagePixelType

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

◆ FixedImagePointType

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

◆ FixedOutputPointType

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

◆ FixedTransformType

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

◆ ImageToImageMetricv4Type

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

Types of the target class.

Definition at line 156 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ InternalComputationValueType

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

◆ JacobianType

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

◆ MeasureType

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

◆ MovingImageGradientType

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

◆ MovingImagePixelType

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

◆ MovingImagePointType

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

◆ MovingOutputPointType

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

◆ MovingTransformType

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

◆ NumberOfParametersType

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

◆ Pointer

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

◆ Self

Standard class type aliases.

Definition at line 142 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ Superclass

◆ VirtualImageType

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

◆ VirtualIndexType

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

◆ VirtualPointType

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

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 198 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 193 of file itkImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ GetNameOfClass()

template<typename TImageToImageMetricv4 >
virtual const char* itk::ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, TImageToImageMetricv4 >::GetNameOfClass ( ) const
virtual

◆ ThreadedExecution()

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

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


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