ITK  6.0.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric > Class Template Reference

#include <itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h>

Detailed Description

template<typename TDomainPartitioner, typename TJointHistogramMetric>
class itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >

Compute the JointPDF image.

This is a helper to compute the joint pdf image for the JointHistogramMutualInformationImageToImageMetricv4.

Definition at line 38 of file itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h.

+ Inheritance diagram for itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >:
+ Collaboration diagram for itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >:

Classes

struct  JointHistogramMIPerThreadStruct
 

Public Types

using ConstPointer = SmartPointer< const Self >
 
using InternalComputationValueType = typename JointHistogramMetricType::InternalComputationValueType
 
using JointHistogramMetricType = TJointHistogramMetric
 
using JointPDFIndexType = typename JointHistogramMetricType::JointPDFIndexType
 
using JointPDFPointType = typename JointHistogramMetricType::JointPDFPointType
 
using JointPDFType = typename JointHistogramMetricType::JointPDFType
 
using JointPDFValueType = typename JointHistogramMetricType::JointPDFValueType
 
using Pointer = SmartPointer< Self >
 
using Self = JointHistogramMutualInformationComputeJointPDFThreaderBase
 
using Superclass = DomainThreader< TDomainPartitioner, TJointHistogramMetric >
 
using VirtualImageType = typename JointHistogramMetricType::VirtualImageType
 
using VirtualIndexType = typename JointHistogramMetricType::VirtualIndexType
 
using VirtualPointType = typename JointHistogramMetricType::VirtualPointType
 
- Public Types inherited from itk::DomainThreader< TDomainPartitioner, TJointHistogramMetric >
using AssociateType = TJointHistogramMetric
 
using ConstPointer = SmartPointer< const Self >
 
using DomainPartitionerType = TDomainPartitioner
 
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::DomainThreader< TDomainPartitioner, TJointHistogramMetric >
void Execute (AssociateType *enclosingClass, const DomainType &completeDomain)
 
MultiThreaderBaseGetMultiThreader () const
 
const char * GetNameOfClass () const override
 
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 Types

using JointHistogramType = Image< SizeValueType, 2 >
 

Protected Member Functions

void AfterThreadedExecution () override
 
void BeforeThreadedExecution () override
 
 itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedJointHistogramMIPerThreadStruct, AlignedJointHistogramMIPerThreadStruct)
 
 itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, JointHistogramMIPerThreadStruct, PaddedJointHistogramMIPerThreadStruct)
 
 JointHistogramMutualInformationComputeJointPDFThreaderBase ()
 
virtual void ProcessPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
 
 ~JointHistogramMutualInformationComputeJointPDFThreaderBase () override=default
 
- Protected Member Functions inherited from itk::DomainThreader< TDomainPartitioner, TJointHistogramMetric >
virtual void DetermineNumberOfWorkUnitsUsed ()
 
 DomainThreader ()
 
virtual void SetMultiThreader (MultiThreaderBase *_arg)
 
virtual void ThreadedExecution (const DomainType &subdomain, const ThreadIdType threadId)=0
 
 ~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 ()
 

Protected Attributes

std::unique_ptr< AlignedJointHistogramMIPerThreadStruct[]> m_JointHistogramMIPerThreadVariables
 
- Protected Attributes inherited from itk::DomainThreader< TDomainPartitioner, TJointHistogramMetric >
AssociateTypem_Associate
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

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< TDomainPartitioner, TJointHistogramMetric >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 

Member Typedef Documentation

◆ ConstPointer

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::ConstPointer = SmartPointer<const Self>

◆ InternalComputationValueType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::InternalComputationValueType = typename JointHistogramMetricType::InternalComputationValueType

◆ JointHistogramMetricType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointHistogramMetricType = TJointHistogramMetric

Types of the associate class.

Definition at line 57 of file itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h.

◆ JointHistogramType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointHistogramType = Image<SizeValueType, 2>
protected

◆ JointPDFIndexType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointPDFIndexType = typename JointHistogramMetricType::JointPDFIndexType

◆ JointPDFPointType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointPDFPointType = typename JointHistogramMetricType::JointPDFPointType

◆ JointPDFType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointPDFType = typename JointHistogramMetricType::JointPDFType

◆ JointPDFValueType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointPDFValueType = typename JointHistogramMetricType::JointPDFValueType

◆ Pointer

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::Pointer = SmartPointer<Self>

◆ Self

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::Self = JointHistogramMutualInformationComputeJointPDFThreaderBase

Standard class type aliases.

Definition at line 45 of file itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h.

◆ Superclass

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::Superclass = DomainThreader<TDomainPartitioner, TJointHistogramMetric>

◆ VirtualImageType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::VirtualImageType = typename JointHistogramMetricType::VirtualImageType

◆ VirtualIndexType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::VirtualIndexType = typename JointHistogramMetricType::VirtualIndexType

◆ VirtualPointType

template<typename TDomainPartitioner, typename TJointHistogramMetric>
using itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::VirtualPointType = typename JointHistogramMetricType::VirtualPointType

Constructor & Destructor Documentation

◆ JointHistogramMutualInformationComputeJointPDFThreaderBase()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::JointHistogramMutualInformationComputeJointPDFThreaderBase ( )
protected

◆ ~JointHistogramMutualInformationComputeJointPDFThreaderBase()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::~JointHistogramMutualInformationComputeJointPDFThreaderBase ( )
overrideprotecteddefault

Member Function Documentation

◆ AfterThreadedExecution()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
void itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::AfterThreadedExecution ( )
overrideprotectedvirtual

Collect the results per and normalize.

Reimplemented from itk::DomainThreader< TDomainPartitioner, TJointHistogramMetric >.

◆ BeforeThreadedExecution()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
void itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::BeforeThreadedExecution ( )
overrideprotectedvirtual

Create the m_JointPDFPerThread's.

Reimplemented from itk::DomainThreader< TDomainPartitioner, TJointHistogramMetric >.

◆ GetNameOfClass()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
const char* itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ itkAlignedTypedef()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT  ,
PaddedJointHistogramMIPerThreadStruct  ,
AlignedJointHistogramMIPerThreadStruct   
)
protected

◆ itkPadStruct()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT  ,
JointHistogramMIPerThreadStruct  ,
PaddedJointHistogramMIPerThreadStruct   
)
protected

◆ ProcessPoint()

template<typename TDomainPartitioner, typename TJointHistogramMetric>
virtual void itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::ProcessPoint ( const VirtualIndexType virtualIndex,
const VirtualPointType virtualPoint,
const ThreadIdType  threadId 
)
protectedvirtual

Called by the ThreadedExecution of derived classes.

Member Data Documentation

◆ m_JointHistogramMIPerThreadVariables

template<typename TDomainPartitioner, typename TJointHistogramMetric>
std::unique_ptr<AlignedJointHistogramMIPerThreadStruct[]> itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< TDomainPartitioner, TJointHistogramMetric >::m_JointHistogramMIPerThreadVariables
protected

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