ITK  5.4.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>

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.

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

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CubicBSplineDerivativeFunctionType = typename TMattesMutualInformationMetric::CubicBSplineDerivativeFunctionType
 
using CubicBSplineFunctionType = typename TMattesMutualInformationMetric::CubicBSplineFunctionType
 
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 MovingTransformType = typename ImageToImageMetricv4Type::MovingTransformType
 
using PDFValueType = typename TMattesMutualInformationMetric::PDFValueType
 
using Pointer = SmartPointer< Self >
 
using Self = MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader
 
using Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric >
 

Public Member Functions

const char * GetNameOfClass () const override
 

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 {}
 

Member Typedef Documentation

◆ 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

◆ 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

◆ MovingTransformType

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

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

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.

◆ GetNameOfClass()

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

◆ 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 126 of file itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h.


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