#include <itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h>
Processes points for CorrelationImageToImageMetricv4 GetValueAndDerivative.
Helper class for CorrelationImageToImageMetricv4 To compute the average pixel intensities of the fixed image and the moving image on the sampled points or inside the virtual image region: \( \bar f (CorrelationImageToImageMetricv4::m\_AverageFix ) \) \( \bar m (CorrelationImageToImageMetricv4::m\_AverageMov ) \).
Definition at line 35 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
Inheritance diagram for itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >:
Collaboration diagram for itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >:Classes | |
| struct | CorrelationMetricValueDerivativePerThreadStruct |
Public Types | |
| using | ConstPointer = SmartPointer<const Self> |
| using | FixedOutputPointType = typename FixedTransformType::OutputPointType |
| using | FixedTransformType = typename ImageToImageMetricv4Type::FixedTransformType |
| using | ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type |
| using | MovingOutputPointType = typename MovingTransformType::OutputPointType |
| using | MovingTransformType = typename ImageToImageMetricv4Type::MovingTransformType |
| using | Pointer = SmartPointer<Self> |
| using | Self = CorrelationImageToImageMetricv4GetValueAndDerivativeThreader |
| using | Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner, TImageToImageMetric> |
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 |
| CorrelationImageToImageMetricv4GetValueAndDerivativeThreader () | |
| 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 |
| bool | ProcessVirtualPoint (const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId) override |
| ~CorrelationImageToImageMetricv4GetValueAndDerivativeThreader () override=default | |
Private Member Functions | |
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedCorrelationMetricValueDerivativePerThreadStruct, AlignedCorrelationMetricValueDerivativePerThreadStruct) | |
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, CorrelationMetricValueDerivativePerThreadStruct, PaddedCorrelationMetricValueDerivativePerThreadStruct) | |
Private Attributes | |
| TCorrelationMetric * | m_CorrelationAssociate {} |
| std::unique_ptr< AlignedCorrelationMetricValueDerivativePerThreadStruct[]> | m_CorrelationMetricValueDerivativePerThreadVariables |
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ConstPointer = SmartPointer<const Self> |
Definition at line 45 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedOutputPointType = typename FixedTransformType::OutputPointType |
Definition at line 68 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::FixedTransformType = typename ImageToImageMetricv4Type::FixedTransformType |
Definition at line 67 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::ImageToImageMetricv4Type = typename Superclass::ImageToImageMetricv4Type |
Definition at line 54 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingOutputPointType = typename MovingTransformType::OutputPointType |
Definition at line 70 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::MovingTransformType = typename ImageToImageMetricv4Type::MovingTransformType |
Definition at line 69 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Pointer = SmartPointer<Self> |
Definition at line 44 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Self = CorrelationImageToImageMetricv4GetValueAndDerivativeThreader |
Standard class type aliases.
Definition at line 42 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
| using itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::Superclass = ImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner, TImageToImageMetric> |
Definition at line 43 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
|
protected |
|
overrideprotecteddefault |
|
overrideprotected |
Overload: Collects the results from each thread and sums them. Results are stored in the enclosing class m_Value and m_DerivativeResult. Behavior depends on m_AverageValueAndDerivativeByNumberOfValuePoints, m_NumberOfValidPoints, to average the value sum, and to average derivative sums for global transforms only (i.e. transforms without local support).
|
overrideprotected |
Overload: Resize and initialize per thread objects: number of valid points moving transform jacobian cross-correlation specific variables
| virtual::itk::LightObject::Pointer itk::CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric, TCorrelationMetric >::CreateAnother | ( | ) | const |
|
virtual |
|
private |
|
private |
|
static |
|
overrideprotected |
This function computes the local voxel-wise contribution of the metric to the global integral of the metric/derivative.
|
overrideprotected |
Overload to avoid execution of adding entries to m_MeasurePerThread StorePointDerivativeResult() after this function calls ProcessPoint(). Method called by the threaders to process the given virtual point. This in turn calls TransformAndEvaluateFixedPoint, TransformAndEvaluateMovingPoint, and ProcessPoint.
|
private |
Internal pointer to the metric object in use by this threader. This will avoid costly dynamic casting in tight loops.
Definition at line 156 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.
|
private |
Definition at line 152 of file itkCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.h.