ITK  5.0.0
Insight Segmentation and Registration 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>

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

Detailed Description

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

Processes points for JointHistogramMutualInformationImageToImageMetricv4 GetValueAndDerivative().

Definition at line 34 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

Classes

struct  JointHistogramMIPerThreadStruct
 

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 InternalComputationValueType = typename JointHistogramMetricType::InternalComputationValueType
 
using JacobianType = typename Superclass::JacobianType
 
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 MeasureType = typename Superclass::MeasureType
 
using MovingImageGradientType = typename Superclass::MovingImageGradientType
 
using MovingImagePixelType = typename Superclass::MovingImagePixelType
 
using MovingImagePointType = typename Superclass::MovingImagePointType
 
using NumberOfParametersType = typename JointHistogramMetricType::NumberOfParametersType
 
using Pointer = SmartPointer< Self >
 
using Self = JointHistogramMutualInformationGetValueAndDerivativeThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric >
 
using VirtualIndexType = typename Superclass::VirtualIndexType
 
using VirtualPointType = typename Superclass::VirtualPointType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 

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 &mappedFixedPixelValue, const FixedImageGradientType &mappedFixedImageGradient, const MovingImagePointType &mappedMovingPoint, const MovingImagePixelType &mappedMovingPixelValue, const MovingImageGradientType &mappedMovingImageGradient, MeasureType &metricValueReturn, DerivativeType &localDerivativeReturn, const ThreadIdType threadId) const override
 
 ~JointHistogramMutualInformationGetValueAndDerivativeThreader () override
 

Protected Attributes

AlignedJointHistogramMIPerThreadStruct * m_JointHistogramMIPerThreadVariables
 

Private Attributes

TJointHistogramMetric * m_JointAssociate
 

Member Typedef Documentation

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::AssociateType = typename Superclass::AssociateType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ConstPointer = SmartPointer< const Self >
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::DerivativeType = typename Superclass::DerivativeType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::DerivativeValueType = typename Superclass::DerivativeValueType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::DomainType = typename Superclass::DomainType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::FixedImageGradientType = typename Superclass::FixedImageGradientType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::FixedImagePixelType = typename Superclass::FixedImagePixelType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::FixedImagePointType = typename Superclass::FixedImagePointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::InternalComputationValueType = typename JointHistogramMetricType::InternalComputationValueType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JacobianType = typename Superclass::JacobianType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointHistogramMetricType = TJointHistogramMetric
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointHistogramType = Image< SizeValueType, 2 >
protected
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFInterpolatorPointer = typename JointHistogramMetricType::JointPDFInterpolatorPointer
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFInterpolatorType = typename JointHistogramMetricType::JointPDFInterpolatorType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFPointType = typename JointPDFType::PointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFType = typename JointHistogramMetricType::JointPDFType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointPDFValueType = typename JointHistogramMetricType::JointPDFValueType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFInterpolatorPointer = typename JointHistogramMetricType::MarginalPDFInterpolatorPointer
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFInterpolatorType = typename JointHistogramMetricType::MarginalPDFInterpolatorType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFPointType = typename MarginalPDFType::PointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MarginalPDFType = typename JointHistogramMetricType::MarginalPDFType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MeasureType = typename Superclass::MeasureType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MovingImageGradientType = typename Superclass::MovingImageGradientType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MovingImagePixelType = typename Superclass::MovingImagePixelType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::MovingImagePointType = typename Superclass::MovingImagePointType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::NumberOfParametersType = typename JointHistogramMetricType::NumberOfParametersType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::Pointer = SmartPointer< Self >
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
using itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::Self = JointHistogramMutualInformationGetValueAndDerivativeThreader

Standard class type aliases.

Definition at line 41 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

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

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::AfterThreadedExecution ( )
overrideprotected
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::BeforeThreadedExecution ( )
overrideprotected
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
InternalComputationValueType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ComputeFixedImageMarginalPDFDerivative ( const MarginalPDFPointType margPDFpoint,
const ThreadIdType  threadId 
) const
inlineprotected
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
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
InternalComputationValueType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::ComputeMovingImageMarginalPDFDerivative ( const MarginalPDFPointType margPDFpoint,
const ThreadIdType  threadId 
) const
inlineprotected
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
virtual::itk::LightObject::Pointer itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::CreateAnother ( ) const
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
virtual const char* itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::GetNameOfClass ( ) const
virtual
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT  ,
PaddedJointHistogramMIPerThreadStruct  ,
AlignedJointHistogramMIPerThreadStruct   
)
protected
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT  ,
JointHistogramMIPerThreadStruct  ,
PaddedJointHistogramMIPerThreadStruct   
)
protected
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
static Pointer itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::New ( )
static
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 mappedFixedPixelValue,
const FixedImageGradientType mappedFixedImageGradient,
const MovingImagePointType mappedMovingPoint,
const MovingImagePixelType mappedMovingPixelValue,
const MovingImageGradientType mappedMovingImageGradient,
MeasureType metricValueReturn,
DerivativeType localDerivativeReturn,
const ThreadIdType  threadId 
) const
overrideprotected

Member Data Documentation

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 130 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
AlignedJointHistogramMIPerThreadStruct* itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::m_JointHistogramMIPerThreadVariables
protected

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