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

virtual::itk::LightObject::Pointer CreateAnother () const
 
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
Initial value:
typename TMattesMutualInformationMetric::CubicBSplineDerivativeFunctionType

Definition at line 84 of file itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h.

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

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