ITK  5.2.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric > Class Template Reference

#include <itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h>

+ Inheritance diagram for itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >:
+ Collaboration diagram for itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >:

Public Types

using AssociateType = typename Superclass::AssociateType
 
using ConstPointer = SmartPointer< const Self >
 
using CubicBSplineDerivativeFunctionType = typename TMattesMutualInformationMetric::CubicBSplineDerivativeFunctionType
 
using CubicBSplineFunctionType = typename TMattesMutualInformationMetric::CubicBSplineFunctionType
 
using DerivativeType = typename Superclass::DerivativeType
 
using DerivativeValueType = typename Superclass::DerivativeValueType
 
using DomainType = typename Superclass::DomainType
 
using FixedImageGradientType = typename Superclass::FixedImageGradientType
 
using FixedImageIndexType = typename Superclass::FixedImageIndexType
 
using FixedImagePixelType = typename Superclass::FixedImagePixelType
 
using FixedImagePointType = typename Superclass::FixedImagePointType
 
using ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type
 
using JacobianType = typename TMattesMutualInformationMetric::JacobianType
 
using JointPDFDerivativesIndexType = typename TMattesMutualInformationMetric::JointPDFDerivativesIndexType
 
using JointPDFDerivativesRegionType = typename TMattesMutualInformationMetric::JointPDFDerivativesRegionType
 
using JointPDFDerivativesSizeType = typename TMattesMutualInformationMetric::JointPDFDerivativesSizeType
 
using JointPDFDerivativesType = typename TMattesMutualInformationMetric::JointPDFDerivativesType
 
using JointPDFDerivativesValueType = typename TMattesMutualInformationMetric::JointPDFDerivativesValueType
 
using JointPDFIndexType = typename TMattesMutualInformationMetric::JointPDFIndexType
 
using JointPDFRegionType = typename TMattesMutualInformationMetric::JointPDFRegionType
 
using JointPDFSizeType = typename TMattesMutualInformationMetric::JointPDFSizeType
 
using JointPDFType = typename TMattesMutualInformationMetric::JointPDFType
 
using JointPDFValueType = typename TMattesMutualInformationMetric::JointPDFValueType
 
using MeasureType = typename Superclass::MeasureType
 
using MovingImageGradientType = typename Superclass::MovingImageGradientType
 
using MovingImagePixelType = typename Superclass::MovingImagePixelType
 
using MovingImagePointType = typename Superclass::MovingImagePointType
 
using MovingTransformType = typename ImageToImageMetricv4Type::MovingTransformType
 
using NumberOfParametersType = typename Superclass::NumberOfParametersType
 
using PDFValueType = typename TMattesMutualInformationMetric::PDFValueType
 
using Pointer = SmartPointer< Self >
 
using Self = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader
 
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 Member Functions

void AfterThreadedExecution () override
 
void BeforeThreadedExecution () override
 
virtual void ComputePDFDerivativesLocalSupportTransform (const JacobianType &jacobian, const MovingImageGradientType &movingImageGradient, const PDFValueType &cubicBSplineDerivativeValue, DerivativeValueType *localSupportDerivativeResultPtr) const
 
 MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader ()
 
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
 

Private Attributes

TMattesMutualInformationMetric * m_MattesAssociate
 

Detailed Description

template<typename TDomainPartitioner, typename TImageToImageMetric, typename TMattesMutualInformationMetric>
class itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >

Processes points for MattesMutualInformationImageToImageMetricv4 GetValueAndDerivative.

Definition at line 35 of file itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h.

Member Typedef Documentation

◆ AssociateType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::AssociateType = typename Superclass::AssociateType

◆ ConstPointer

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::ConstPointer = SmartPointer<const Self>

◆ CubicBSplineDerivativeFunctionType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::CubicBSplineDerivativeFunctionType = typename TMattesMutualInformationMetric::CubicBSplineDerivativeFunctionType

◆ CubicBSplineFunctionType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::CubicBSplineFunctionType = typename TMattesMutualInformationMetric::CubicBSplineFunctionType

◆ DerivativeType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::DerivativeType = typename Superclass::DerivativeType

◆ DerivativeValueType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::DerivativeValueType = typename Superclass::DerivativeValueType

◆ DomainType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::DomainType = typename Superclass::DomainType

◆ FixedImageGradientType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::FixedImageGradientType = typename Superclass::FixedImageGradientType

◆ FixedImageIndexType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::FixedImageIndexType = typename Superclass::FixedImageIndexType

◆ FixedImagePixelType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::FixedImagePixelType = typename Superclass::FixedImagePixelType

◆ FixedImagePointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::FixedImagePointType = typename Superclass::FixedImagePointType

◆ ImageToImageMetricv4Type

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type

◆ JacobianType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JacobianType = typename TMattesMutualInformationMetric::JacobianType

◆ JointPDFDerivativesIndexType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFDerivativesIndexType = typename TMattesMutualInformationMetric::JointPDFDerivativesIndexType

◆ JointPDFDerivativesRegionType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFDerivativesRegionType = typename TMattesMutualInformationMetric::JointPDFDerivativesRegionType

◆ JointPDFDerivativesSizeType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFDerivativesSizeType = typename TMattesMutualInformationMetric::JointPDFDerivativesSizeType

◆ JointPDFDerivativesType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFDerivativesType = typename TMattesMutualInformationMetric::JointPDFDerivativesType

◆ JointPDFDerivativesValueType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFDerivativesValueType = typename TMattesMutualInformationMetric::JointPDFDerivativesValueType

◆ JointPDFIndexType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFIndexType = typename TMattesMutualInformationMetric::JointPDFIndexType

◆ JointPDFRegionType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFRegionType = typename TMattesMutualInformationMetric::JointPDFRegionType

◆ JointPDFSizeType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFSizeType = typename TMattesMutualInformationMetric::JointPDFSizeType

◆ JointPDFType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFType = typename TMattesMutualInformationMetric::JointPDFType

◆ JointPDFValueType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::JointPDFValueType = typename TMattesMutualInformationMetric::JointPDFValueType

◆ MeasureType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::MeasureType = typename Superclass::MeasureType

◆ MovingImageGradientType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::MovingImageGradientType = typename Superclass::MovingImageGradientType

◆ MovingImagePixelType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::MovingImagePixelType = typename Superclass::MovingImagePixelType

◆ MovingImagePointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::MovingImagePointType = typename Superclass::MovingImagePointType

◆ MovingTransformType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::MovingTransformType = typename ImageToImageMetricv4Type::MovingTransformType

◆ NumberOfParametersType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::NumberOfParametersType = typename Superclass::NumberOfParametersType

◆ PDFValueType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::PDFValueType = typename TMattesMutualInformationMetric::PDFValueType

◆ Pointer

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::Pointer = SmartPointer<Self>

◆ Self

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::Self = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader

Standard class type aliases.

Definition at line 42 of file itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h.

◆ Superclass

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner, TImageToImageMetric>

◆ VirtualIndexType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::VirtualIndexType = typename Superclass::VirtualIndexType

◆ VirtualPointType

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
using itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::VirtualPointType = typename Superclass::VirtualPointType

Constructor & Destructor Documentation

◆ MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader ( )
inlineprotected

Member Function Documentation

◆ AfterThreadedExecution()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
void itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::AfterThreadedExecution ( )
overrideprotected

◆ BeforeThreadedExecution()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
void itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::BeforeThreadedExecution ( )
overrideprotected

◆ ComputePDFDerivativesLocalSupportTransform()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
virtual void itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::ComputePDFDerivativesLocalSupportTransform ( const JacobianType jacobian,
const MovingImageGradientType movingImageGradient,
const PDFValueType cubicBSplineDerivativeValue,
DerivativeValueType localSupportDerivativeResultPtr 
) const
protectedvirtual

Compute PDF derivative contribution for each parameter of a displacement field.

◆ CreateAnother()

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

◆ GetNameOfClass()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
virtual const char* itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::GetNameOfClass ( ) const
virtual

◆ New()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
static Pointer itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::New ( )
static

◆ ProcessPoint()

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
bool itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::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

This function computes the local voxel-wise contribution of the metric to the global integral of the metric/derivative.

Member Data Documentation

◆ m_MattesAssociate

template<typename TDomainPartitioner , typename TImageToImageMetric , typename TMattesMutualInformationMetric >
TMattesMutualInformationMetric* itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TMattesMutualInformationMetric >::m_MattesAssociate
private

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

Definition at line 127 of file itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h.


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