ITK  5.4.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric > Class Template Reference

#include <itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h>

Detailed Description

template<typename TDomainPartitioner, typename TImageToImageMetric, typename TJointHistogramMetric>
class itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >

Processes points for JointHistogramMutualInformationImageToImageMetricv4 GetValueAndDerivative().

Definition at line 36 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

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

Classes

struct  JointHistogramMIPerThreadStruct
 

Public Types

using ConstPointer = SmartPointer< const Self >
 
using InternalComputationValueType = typename JointHistogramMetricType::InternalComputationValueType
 
using JointHistogramMetricType = TJointHistogramMetric
 
using JointPDFInterpolatorPointer = typename JointHistogramMetricType::JointPDFInterpolatorPointer
 
using JointPDFInterpolatorType = typename JointHistogramMetricType::JointPDFInterpolatorType
 
using JointPDFPointType = typename JointPDFType::PointType
 
using JointPDFType = typename JointHistogramMetricType::JointPDFType
 
using JointPDFValueType = typename JointHistogramMetricType::JointPDFValueType
 
using MarginalPDFInterpolatorPointer = typename JointHistogramMetricType::MarginalPDFInterpolatorPointer
 
using MarginalPDFInterpolatorType = typename JointHistogramMetricType::MarginalPDFInterpolatorType
 
using MarginalPDFPointType = typename MarginalPDFType::PointType
 
using MarginalPDFType = typename JointHistogramMetricType::MarginalPDFType
 
using NumberOfParametersType = typename JointHistogramMetricType::NumberOfParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = JointHistogramMutualInformationGetValueAndDerivativeThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric >
 

Public Member Functions

const char * GetNameOfClass () const override
 

Static Public Member Functions

static Pointer New ()
 

Protected Types

using JointHistogramType = Image< SizeValueType, 2 >
 

Protected Member Functions

void AfterThreadedExecution () override
 
void BeforeThreadedExecution () override
 
InternalComputationValueType ComputeFixedImageMarginalPDFDerivative (const MarginalPDFPointType &margPDFpoint, const ThreadIdType threadId) const
 
InternalComputationValueType ComputeJointPDFDerivative (const JointPDFPointType &jointPDFpoint, const ThreadIdType threadId, const SizeValueType ind) const
 
InternalComputationValueType ComputeMovingImageMarginalPDFDerivative (const MarginalPDFPointType &margPDFpoint, const ThreadIdType threadId) const
 
 itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedJointHistogramMIPerThreadStruct, AlignedJointHistogramMIPerThreadStruct)
 
 itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, JointHistogramMIPerThreadStruct, PaddedJointHistogramMIPerThreadStruct)
 
 JointHistogramMutualInformationGetValueAndDerivativeThreader ()
 
bool ProcessPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const FixedImagePointType &mappedFixedPoint, const FixedImagePixelType &fixedImageValue, const FixedImageGradientType &mappedFixedImageGradient, const MovingImagePointType &mappedMovingPoint, const MovingImagePixelType &movingImageValue, const MovingImageGradientType &movingImageGradient, MeasureType &metricValueReturn, DerivativeType &localDerivativeReturn, const ThreadIdType threadId) const override
 
 ~JointHistogramMutualInformationGetValueAndDerivativeThreader () override=default
 

Protected Attributes

std::unique_ptr< AlignedJointHistogramMIPerThreadStruct[]> m_JointHistogramMIPerThreadVariables
 

Private Attributes

TJointHistogramMetric * m_JointAssociate {}
 

Member Typedef Documentation

◆ ConstPointer

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

◆ InternalComputationValueType

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

◆ JointHistogramMetricType

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

◆ JointHistogramType

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

◆ JointPDFInterpolatorPointer

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFInterpolatorPointer = typename JointHistogramMetricType::JointPDFInterpolatorPointer

◆ JointPDFInterpolatorType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFInterpolatorType = typename JointHistogramMetricType::JointPDFInterpolatorType

◆ JointPDFPointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFPointType = typename JointPDFType::PointType

◆ JointPDFType

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

◆ JointPDFValueType

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

◆ MarginalPDFInterpolatorPointer

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFInterpolatorPointer = typename JointHistogramMetricType::MarginalPDFInterpolatorPointer

◆ MarginalPDFInterpolatorType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFInterpolatorType = typename JointHistogramMetricType::MarginalPDFInterpolatorType

◆ MarginalPDFPointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFPointType = typename MarginalPDFType::PointType

◆ MarginalPDFType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFType = typename JointHistogramMetricType::MarginalPDFType

◆ NumberOfParametersType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::NumberOfParametersType = typename JointHistogramMetricType::NumberOfParametersType

◆ Pointer

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

◆ Self

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

Standard class type aliases.

Definition at line 43 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

◆ Superclass

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner, TImageToImageMetric>

Constructor & Destructor Documentation

◆ JointHistogramMutualInformationGetValueAndDerivativeThreader()

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

◆ ~JointHistogramMutualInformationGetValueAndDerivativeThreader()

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

Member Function Documentation

◆ AfterThreadedExecution()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::AfterThreadedExecution ( )
overrideprotected

◆ BeforeThreadedExecution()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::BeforeThreadedExecution ( )
overrideprotected

◆ ComputeFixedImageMarginalPDFDerivative()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
InternalComputationValueType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ComputeFixedImageMarginalPDFDerivative ( const MarginalPDFPointType margPDFpoint,
const ThreadIdType  threadId 
) const
inlineprotected

◆ ComputeJointPDFDerivative()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
InternalComputationValueType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ComputeJointPDFDerivative ( const JointPDFPointType jointPDFpoint,
const ThreadIdType  threadId,
const SizeValueType  ind 
) const
inlineprotected

◆ ComputeMovingImageMarginalPDFDerivative()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
InternalComputationValueType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ComputeMovingImageMarginalPDFDerivative ( const MarginalPDFPointType margPDFpoint,
const ThreadIdType  threadId 
) const
inlineprotected

◆ GetNameOfClass()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
const char* itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::GetNameOfClass ( ) const
override

◆ itkAlignedTypedef()

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

◆ itkPadStruct()

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

◆ New()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
static Pointer itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::New ( )
static

◆ ProcessPoint()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
bool itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ProcessPoint ( const VirtualIndexType &  virtualIndex,
const VirtualPointType &  virtualPoint,
const FixedImagePointType &  mappedFixedPoint,
const FixedImagePixelType &  fixedImageValue,
const FixedImageGradientType &  mappedFixedImageGradient,
const MovingImagePointType &  mappedMovingPoint,
const MovingImagePixelType &  movingImageValue,
const MovingImageGradientType &  movingImageGradient,
MeasureType &  metricValueReturn,
DerivativeType &  localDerivativeReturn,
const ThreadIdType  threadId 
) const
overrideprotected

Member Data Documentation

◆ m_JointAssociate

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
TJointHistogramMetric* itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::m_JointAssociate {}
private

Internal pointer to the metric object in use by this threader. This will avoid costly dynamic casting in tight loops.

Definition at line 131 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

◆ m_JointHistogramMIPerThreadVariables

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

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