ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
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

virtual::itk::LightObject::Pointer CreateAnother () const
 
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

◆ CreateAnother()

template<typename TDomainPartitioner, typename TImageToImageMetric, typename TJointHistogramMetric>
virtual::itk::LightObject::Pointer itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::CreateAnother ( ) const

◆ 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: