ITK  4.8.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | 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

typedef Superclass::AssociateType AssociateType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
Superclass::DerivativeValueType 
DerivativeValueType
 
typedef Superclass::DomainType DomainType
 
typedef
Superclass::FixedImageGradientType 
FixedImageGradientType
 
typedef
Superclass::FixedImagePixelType 
FixedImagePixelType
 
typedef
Superclass::FixedImagePointType 
FixedImagePointType
 
typedef
JointHistogramMetricType::InternalComputationValueType 
InternalComputationValueType
 
typedef Superclass::JacobianType JacobianType
 
typedef TJointHistogramMetric JointHistogramMetricType
 
typedef
JointHistogramMetricType::JointPDFInterpolatorPointer 
JointPDFInterpolatorPointer
 
typedef
JointHistogramMetricType::JointPDFInterpolatorType 
JointPDFInterpolatorType
 
typedef JointPDFType::PointType JointPDFPointType
 
typedef
JointHistogramMetricType::JointPDFType 
JointPDFType
 
typedef
JointHistogramMetricType::JointPDFValueType 
JointPDFValueType
 
typedef
JointHistogramMetricType::MarginalPDFInterpolatorPointer 
MarginalPDFInterpolatorPointer
 
typedef
JointHistogramMetricType::MarginalPDFInterpolatorType 
MarginalPDFInterpolatorType
 
typedef MarginalPDFType::PointType MarginalPDFPointType
 
typedef
JointHistogramMetricType::MarginalPDFType 
MarginalPDFType
 
typedef Superclass::MeasureType MeasureType
 
typedef
Superclass::MovingImageGradientType 
MovingImageGradientType
 
typedef
Superclass::MovingImagePixelType 
MovingImagePixelType
 
typedef
Superclass::MovingImagePointType 
MovingImagePointType
 
typedef
JointHistogramMetricType::NumberOfParametersType 
NumberOfParametersType
 
typedef SmartPointer< SelfPointer
 
typedef
JointHistogramMutualInformationGetValueAndDerivativeThreader 
Self
 
typedef
ImageToImageMetricv4GetValueAndDerivativeThreader
< TDomainPartitioner,
TImageToImageMetric > 
Superclass
 
typedef
Superclass::VirtualIndexType 
VirtualIndexType
 
typedef
Superclass::VirtualPointType 
VirtualPointType
 

Public Member Functions

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

Static Public Member Functions

static Pointer New ()
 

Protected Types

typedef Image< SizeValueType, 2 > JointHistogramType
 

Protected Member Functions

virtual void AfterThreadedExecution () override
 
virtual 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 ()
 
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 override
 
virtual ~JointHistogramMutualInformationGetValueAndDerivativeThreader ()
 

Protected Attributes

AlignedJointHistogramMIPerThreadStruct * m_JointHistogramMIPerThreadVariables
 

Private Member Functions

 JointHistogramMutualInformationGetValueAndDerivativeThreader (const Self &)
 
void operator= (const Self &)
 

Private Attributes

TJointHistogramMetric * m_JointAssociate
 

Member Typedef Documentation

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

Standard class typedefs.

Definition at line 39 of file itkJointHistogramMutualInformationGetValueAndDerivativeThreader.h.

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
typedef ImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric > itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::Superclass
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
typedef Superclass::VirtualIndexType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::VirtualIndexType
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
typedef Superclass::VirtualPointType itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::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 >
virtual itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::~JointHistogramMutualInformationGetValueAndDerivativeThreader ( )
protectedvirtual
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::JointHistogramMutualInformationGetValueAndDerivativeThreader ( const Self )
private

Member Function Documentation

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
virtual void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::AfterThreadedExecution ( )
overrideprotectedvirtual
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
virtual void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::BeforeThreadedExecution ( )
overrideprotectedvirtual
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 >
void itk::JointHistogramMutualInformationGetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TJointHistogramMetric >::operator= ( const Self )
private
template<typename TDomainPartitioner , typename TImageToImageMetric , typename TJointHistogramMetric >
virtual 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
overrideprotectedvirtual

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