Loading...
Searching...
No Matches
itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference
Components » Metrics

`#include <itkAdvancedKappaStatisticImageToImageMetric.h>`

## Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >

Computes similarity between two objects to be registered.

This class is templated over the type of the fixed and moving images to be compared. The metric here is designed for matching pixels in two images with the same exact value. Only one value can be considered (the default is 255) and can be specified with the SetForegroundValue method. In the computation of the metric, only foreground pixels are considered. The metric value is given by 2*|A&B|/(|A|+|B|), where A is the foreground region in the moving image, B is the foreground region in the fixed image, & is intersection, and |.| indicates the area of the enclosed set. The metric is described in "Morphometric Analysis of White Matter Lesions in MR Images: Method and Validation", A. P. Zijdenbos, B. M. Dawant, R. A. Margolin, A. C. Palmer.

This metric is especially useful when considering the similarity between binary images. Given the nature of binary images, a nearest neighbor interpolator is the preferred interpolator.

Metric values range from 0.0 (no foreground alignment) to 1.0 (perfect foreground alignment). When dealing with optimizers that can only minimize a metric, use the ComplementOn() method.

Definition at line 57 of file itkAdvancedKappaStatisticImageToImageMetric.h.

Inheritance diagram for itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >:
[legend]

## Data Structures

struct | KappaGetValueAndDerivativePerThreadStruct
struct | MultiThreaderAccumulateDerivativeType

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | DerivativeValueType
using | FixedImageLimiterOutputType
using | FixedImageLimiterType
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImagePixelType
using | ImageSampleContainerPointer
using | ImageSampleContainerType
using | ImageSamplerPointer
using | ImageSamplerType
using | MovingImageDerivativeScalesType
using | MovingImageLimiterOutputType
using | MovingImageLimiterType
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImageRegionType
using | NumberOfParametersType
using | Pointer = SmartPointer<Self>
using | Self = AdvancedKappaStatisticImageToImageMetric
using | Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage>
using | ThreadInfoType
Public Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
using | AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension>
using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer
using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1>
using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer
using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2>
using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer
using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3>
using | CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension>
using | ConstPointer = SmartPointer<const Self>
using | DerivativeValueType = typename DerivativeType::ValueType
using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType
using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer
using | FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension>
using | FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType>
using | FixedImageMaskPointer = SmartPointer<FixedImageMaskType>
using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>
using | FixedImagePixelType = typename FixedImageType::PixelType
using | FixedImagePointer = typename FixedImageType::Pointer
using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer
using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType
using | ImageSamplerPointer = typename ImageSamplerType::Pointer
using | ImageSamplerType = ImageSamplerBase<FixedImageType>
using | MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension>
using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType
using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer
using | MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension>
using | MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType>
using | MovingImageMaskPointer = SmartPointer<MovingImageMaskType>
using | MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension>
using | MovingImagePointer = typename MovingImageType::Pointer
using | MovingImageRegionType = typename MovingImageType::RegionType
using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType
using | Pointer = SmartPointer<Self>
using | ScalarType = typename TransformType::ScalarType
using | Self = AdvancedImageToImageMetric
using | Superclass = ImageToImageMetric<TFixedImage, TMovingImage>
using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo

## Public Member Functions

virtual void | ComplementOff ()
virtual void | ComplementOn ()
void | ComputeGradient () override
virtual const char * | GetClassName () const
virtual const bool & | GetComplement ()
void | GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const override
virtual const RealType & | GetEpsilon ()
virtual const RealType & | GetForegroundValue ()
MeasureType | GetValue (const TransformParametersType &parameters) const override
void | GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
virtual void | GetValueAndDerivativeSingleThreaded (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedKappaStatisticImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SetComplement (bool _arg)
virtual void | SetEpsilon (RealType _arg)
virtual void | SetForegroundValue (RealType _arg)
virtual void | SetUseForegroundValue (bool _arg)
Public Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
virtual const FixedImageLimiterType * | GetFixedImageLimiter ()
const FixedImageMaskType * | GetFixedImageMask () const override
virtual double | GetFixedLimitRangeRatio () const
ImageSamplerType * | GetImageSampler () const
virtual const MovingImageDerivativeScalesType & | GetMovingImageDerivativeScales ()
virtual const MovingImageLimiterType * | GetMovingImageLimiter ()
const MovingImageMaskType * | GetMovingImageMask () const override
virtual double | GetMovingLimitRangeRatio () const
virtual double | GetRequiredRatioOfValidSamples () const
virtual bool | GetScaleGradientWithRespectToMovingImageOrientation () const
const AdvancedTransformType * | GetTransform () const override
AdvancedTransformType * | GetTransform () override
virtual bool | GetUseFixedImageLimiter () const
virtual bool | GetUseImageSampler () const
virtual const bool & | GetUseMetricSingleThreaded ()
virtual bool | GetUseMovingImageDerivativeScales () const
virtual bool | GetUseMovingImageLimiter () const
virtual const bool & | GetUseMultiThread ()
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
virtual void | SetFixedImageLimiter (FixedImageLimiterType *_arg)
virtual void | SetFixedImageMask (const FixedImageMaskType *const arg)
virtual void | SetFixedLimitRangeRatio (double _arg)
virtual void | SetImageSampler (ImageSamplerType *_arg)
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg)
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_arg)
virtual void | SetMovingImageMask (const MovingImageMaskType *const arg)
virtual void | SetMovingLimitRangeRatio (double _arg)
virtual void | SetRequiredRatioOfValidSamples (double _arg)
virtual void | SetScaleGradientWithRespectToMovingImageOrientation (bool _arg)
virtual void | SetTransform (AdvancedTransformType *arg)
virtual void | SetUseMetricSingleThreaded (bool _arg)
virtual void | SetUseMovingImageDerivativeScales (bool _arg)
virtual void | SetUseMultiThread (bool _arg)
virtual void | UseMetricSingleThreadedOff ()
virtual void | UseMetricSingleThreadedOn ()
virtual void | UseMultiThreadOff ()
virtual void | UseMultiThreadOn ()

## Static Public Member Functions

static Pointer | New ()

## Protected Types

using | BSplineInterpolatorType
using | FixedImageIndexType
using | FixedImageIndexValueType
using | FixedImagePointType
using | MovingImageContinuousIndexType
using | MovingImageDerivativeType
using | MovingImageIndexType
using | MovingImagePointType
using | NonZeroJacobianIndicesType
Protected Types inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
using | BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer
using | BSplineInterpolatorFloatType
using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer
using | BSplineInterpolatorType
using | FixedImageIndexType = typename FixedImageType::IndexType
using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType
using | FixedImagePointType = typename TransformType::InputPointType
using | LinearInterpolatorPointer = typename LinearInterpolatorType::Pointer
using | LinearInterpolatorType = AdvancedLinearInterpolateImageFunction<MovingImageType, CoordinateRepresentationType>
using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType
using | MovingImageIndexType = typename MovingImageType::IndexType
using | MovingImagePointType = typename TransformType::OutputPointType
using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType
using | ReducedBSplineInterpolatorPointer = typename ReducedBSplineInterpolatorType::Pointer
using | ReducedBSplineInterpolatorType

## Protected Member Functions

| AdvancedKappaStatisticImageToImageMetric ()
void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const override
void | InitializeThreadingParameters () const override
void | PrintSelf (std::ostream &os, Indent indent) const override
void | ThreadedGetValueAndDerivative (ThreadIdType threadID) const override
void | UpdateValueAndDerivativeTerms (const RealType fixedImageValue, const RealType movingImageValue, std::vcl_size_t &fixedForegroundArea, std::vcl_size_t &movingForegroundArea, std::vcl_size_t &intersection, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &sum1, DerivativeType &sum2) const
| ~AdvancedKappaStatisticImageToImageMetric () override=default
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
| AdvancedImageToImageMetric ()
virtual void | AfterThreadedGetValue (MeasureType &) const
void | CheckForAdvancedTransform ()
void | CheckForBSplineInterpolator ()
void | CheckForBSplineTransform () const
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const
virtual void | InitializeImageSampler ()
void | InitializeLimiters ()
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
void | LaunchGetValueAndDerivativeThreaderCallback () const
void | LaunchGetValueThreaderCallback () const
void | PrintSelf (std::ostream &os, Indent indent) const override
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final
virtual void | SetUseFixedImageLimiter (bool _arg)
virtual void | SetUseImageSampler (bool _arg)
virtual void | SetUseMovingImageLimiter (bool _arg)
virtual void | ThreadedGetValue (ThreadIdType) const
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const
| ~AdvancedImageToImageMetric () override=default

## Static Protected Member Functions

static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg)
Static Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueThreaderCallback (void *arg)

## Private Member Functions

| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedKappaGetValueAndDerivativePerThreadStruct, AlignedKappaGetValueAndDerivativePerThreadStruct)
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, KappaGetValueAndDerivativePerThreadStruct, PaddedKappaGetValueAndDerivativePerThreadStruct)

## Private Attributes

bool | m_Complement { true }
RealType | m_Epsilon { 1e-3 }
RealType | m_ForegroundValue { 1.0 }
std::vector< AlignedKappaGetValueAndDerivativePerThreadStruct > | m_KappaGetValueAndDerivativePerThreadVariables {}
bool | m_UseForegroundValue { true }

## Additional Inherited Members

Protected Attributes inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
AdvancedTransformType::Pointer | m_AdvancedTransform { nullptr }
FixedImageLimiterOutputType | m_FixedImageMaxLimit { 1 }
FixedImageLimiterOutputType | m_FixedImageMinLimit { 0 }
FixedImagePixelType | m_FixedImageTrueMax { 1 }
FixedImagePixelType | m_FixedImageTrueMin { 0 }
double | m_FixedLimitRangeRatio { 0.01 }
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> | m_GetValueAndDerivativePerThreadVariables
ThreadIdType | m_GetValueAndDerivativePerThreadVariablesSize { 0 }
ImageSamplerPointer | m_ImageSampler { nullptr }
MovingImageLimiterOutputType | m_MovingImageMaxLimit { 1 }
MovingImageLimiterOutputType | m_MovingImageMinLimit { 0 }
MovingImagePixelType | m_MovingImageTrueMax { 1 }
MovingImagePixelType | m_MovingImageTrueMin { 0 }
double | m_MovingLimitRangeRatio { 0.01 }
MultiThreaderParameterType | m_ThreaderMetricParameters {}
bool | m_TransformIsBSpline { false }
bool | m_UseMetricSingleThreaded { true }
bool | m_UseMultiThread { false }

## Member Typedef Documentation

## BSplineInterpolatorType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType

protected

Typedefs used for computing image derivatives.

Definition at line 342 of file itkAdvancedImageToImageMetric.h.

## ConstPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self>

Definition at line 67 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## DerivativeValueType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType

Definition at line 133 of file itkAdvancedImageToImageMetric.h.

## FixedImageIndexType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType

protected

Protected Typedefs Typedefs for indices and points.

Definition at line 334 of file itkAdvancedImageToImageMetric.h.

## FixedImageIndexValueType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType

protected

Definition at line 335 of file itkAdvancedImageToImageMetric.h.

## FixedImageLimiterOutputType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType

Definition at line 150 of file itkAdvancedImageToImageMetric.h.

## FixedImageLimiterType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType

Typedefs for Limiter support.

Definition at line 148 of file itkAdvancedImageToImageMetric.h.

## FixedImageMaskPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer

Definition at line 125 of file itkAdvancedImageToImageMetric.h.

## FixedImageMaskType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType

Definition at line 124 of file itkAdvancedImageToImageMetric.h.

## FixedImagePixelType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType

Some useful extra typedefs.

Definition at line 137 of file itkAdvancedImageToImageMetric.h.

## FixedImagePointType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType

protected

Definition at line 337 of file itkAdvancedImageToImageMetric.h.

## ImageSampleContainerPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer

Definition at line 145 of file itkAdvancedImageToImageMetric.h.

## ImageSampleContainerType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType

Definition at line 144 of file itkAdvancedImageToImageMetric.h.

## ImageSamplerPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer

Definition at line 143 of file itkAdvancedImageToImageMetric.h.

## ImageSamplerType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType

Typedefs for the ImageSampler.

Definition at line 142 of file itkAdvancedImageToImageMetric.h.

## MovingImageContinuousIndexType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageContinuousIndexType

protected

Definition at line 339 of file itkAdvancedImageToImageMetric.h.

## MovingImageDerivativeScalesType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType

Definition at line 139 of file itkAdvancedImageToImageMetric.h.

## MovingImageDerivativeType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeType

protected

Definition at line 353 of file itkAdvancedImageToImageMetric.h.

## MovingImageIndexType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType

protected

Definition at line 336 of file itkAdvancedImageToImageMetric.h.

## MovingImageLimiterOutputType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType

Definition at line 153 of file itkAdvancedImageToImageMetric.h.

## MovingImageLimiterType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType

Definition at line 151 of file itkAdvancedImageToImageMetric.h.

## MovingImageMaskPointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer

Definition at line 128 of file itkAdvancedImageToImageMetric.h.

## MovingImageMaskType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType

Definition at line 127 of file itkAdvancedImageToImageMetric.h.

## MovingImagePointType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType

protected

Definition at line 338 of file itkAdvancedImageToImageMetric.h.

## MovingImageRegionType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType

Definition at line 138 of file itkAdvancedImageToImageMetric.h.

## NonZeroJacobianIndicesType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NonZeroJacobianIndicesType

protected

Typedefs for support of sparse Jacobians and compact support of transformations.

Definition at line 356 of file itkAdvancedImageToImageMetric.h.

## NumberOfParametersType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NumberOfParametersType

Definition at line 158 of file itkAdvancedImageToImageMetric.h.

## Pointer

template<class TFixedImage, class TMovingImage>

using itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self>

Definition at line 66 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## Self

template<class TFixedImage, class TMovingImage>

using itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::Self = AdvancedKappaStatisticImageToImageMetric

Standard class typedefs.

Definition at line 64 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## Superclass

template<class TFixedImage, class TMovingImage>

using itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage>

Definition at line 65 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## ThreadInfoType

template<class TFixedImage, class TMovingImage>

using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType

Typedef for multi-threading.

Definition at line 170 of file itkAdvancedImageToImageMetric.h.

## Constructor & Destructor Documentation

## AdvancedKappaStatisticImageToImageMetric()

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::AdvancedKappaStatisticImageToImageMetric | ( |  | ) |

protected

## ~AdvancedKappaStatisticImageToImageMetric()

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::~AdvancedKappaStatisticImageToImageMetric | ( |  | ) |

override protected default

## Member Function Documentation

## AccumulateDerivativesThreaderCallback()

template<class TFixedImage, class TMovingImage>

ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::AccumulateDerivativesThreaderCallback | ( | void * | arg | ) |

static protected

AccumulateDerivatives threader callback function

## AfterThreadedGetValueAndDerivative()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::AfterThreadedGetValueAndDerivative | ( | MeasureType & | value,
|  | DerivativeType & | derivative ) const

override protected virtual

Gather the values and derivatives from all threads

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

## ComplementOff()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ComplementOff | ( |  | ) |

virtual

## ComplementOn()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ComplementOn | ( |  | ) |

virtual

## ComputeGradient()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradient | ( |  | ) |

override

Computes the moving gradient image dM/dx.

## GetClassName()

template<class TFixedImage, class TMovingImage>

virtual const char * itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

Reimplemented in elastix::AdvancedKappaStatisticMetric< TElastix >.

## GetComplement()

template<class TFixedImage, class TMovingImage>

virtual const bool & itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetComplement | ( |  | ) |

virtual

## GetDerivative()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative | ( | const TransformParametersType & | parameters,
|  | DerivativeType & | derivative ) const

override

Get the derivatives of the match measure.

## GetEpsilon()

template<class TFixedImage, class TMovingImage>

virtual const RealType & itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetEpsilon | ( |  | ) |

virtual

## GetForegroundValue()

template<class TFixedImage, class TMovingImage>

virtual const RealType & itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetForegroundValue | ( |  | ) |

virtual

## GetValue()

template<class TFixedImage, class TMovingImage>

MeasureType itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetValue | ( | const TransformParametersType & | parameters | ) | const

override

Get the value for single valued optimizers.

## GetValueAndDerivative()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative | ( | const TransformParametersType & | parameters,
|  | MeasureType & | Value,
|  | DerivativeType & | Derivative ) const

override

## GetValueAndDerivativeSingleThreaded()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeSingleThreaded | ( | const TransformParametersType & | parameters,
|  | MeasureType & | Value,
|  | DerivativeType & | Derivative ) const

virtual

Get value and derivatives for multiple valued optimizers.

## InitializeThreadingParameters()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::InitializeThreadingParameters | ( |  | ) | const

override protected virtual

Initialize some multi-threading related parameters. Overrides function in AdvancedImageToImageMetric, because here we use other parameters.

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage > |  | ) |

## itkAlignedTypedef()

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::itkAlignedTypedef | ( | ITK_CACHE_LINE_ALIGNMENT | ,
|  | PaddedKappaGetValueAndDerivativePerThreadStruct | ,
|  | AlignedKappaGetValueAndDerivativePerThreadStruct | )

private

## itkPadStruct()

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::itkPadStruct | ( | ITK_CACHE_LINE_ALIGNMENT | ,
|  | KappaGetValueAndDerivativePerThreadStruct | ,
|  | PaddedKappaGetValueAndDerivativePerThreadStruct | )

private

## itkStaticConstMacro() [1/2]

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

The fixed image dimension.

## itkStaticConstMacro() [2/2]

template<class TFixedImage, class TMovingImage>

itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | MovingImageDimension | ,
|  | unsigned int | ,
|  | MovingImageType::ImageDimension | )

The moving image dimension.

## New()

template<class TFixedImage, class TMovingImage>

Pointer itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::New | ( |  | ) |

static

Method for creation through the object factory.

## PrintSelf()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf | ( | std::ostream & | os,
|  | Indent | indent ) const

override protected

PrintSelf.

## SetComplement()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::SetComplement | ( | bool | _arg | ) |

virtual

Set/Get whether this metric returns 2*|A&B|/(|A|+|B|) (ComplementOff, the default) or 1.0 - 2*|A&B|/(|A|+|B|) (ComplementOn). When using an optimizer that minimizes metric values use ComplementOn().

## SetEpsilon()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::SetEpsilon | ( | RealType | _arg | ) |

virtual

Set the precision.

## SetForegroundValue()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::SetForegroundValue | ( | RealType | _arg | ) |

virtual

This method allows the user to set the foreground value. The default value is 1.0.

## SetUseForegroundValue()

template<class TFixedImage, class TMovingImage>

virtual void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::SetUseForegroundValue | ( | bool | _arg | ) |

virtual

Select which kind of kappa to compute: 1) compare with a foreground value 2) compare if larger than zero

## ThreadedGetValueAndDerivative()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::ThreadedGetValueAndDerivative | ( | ThreadIdType | threadID | ) | const

override protected virtual

Get value and derivatives for each thread.

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >.

## UpdateValueAndDerivativeTerms()

template<class TFixedImage, class TMovingImage>

void itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::UpdateValueAndDerivativeTerms | ( | const RealType | fixedImageValue,
|  | const RealType | movingImageValue,
|  | std::vcl_size_t & | fixedForegroundArea,
|  | std::vcl_size_t & | movingForegroundArea,
|  | std::vcl_size_t & | intersection,
|  | const DerivativeType & | imageJacobian,
|  | const NonZeroJacobianIndicesType & | nzji,
|  | DerivativeType & | sum1,
|  | DerivativeType & | sum2 ) const

protected

Compute a pixel's contribution to the measure and derivatives; Called by GetValueAndDerivative().

## Field Documentation

## m_Complement

template<class TFixedImage, class TMovingImage>

bool itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_Complement { true }

private

Definition at line 227 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## m_Epsilon

template<class TFixedImage, class TMovingImage>

RealType itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_Epsilon { 1e-3 }

private

Definition at line 226 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## m_ForegroundValue

template<class TFixedImage, class TMovingImage>

RealType itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_ForegroundValue { 1.0 }

private

Definition at line 225 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## m_KappaGetValueAndDerivativePerThreadVariables

template<class TFixedImage, class TMovingImage>

std::vector<AlignedKappaGetValueAndDerivativePerThreadStruct> itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_KappaGetValueAndDerivativePerThreadVariables {}

mutable private

Definition at line 258 of file itkAdvancedKappaStatisticImageToImageMetric.h.

## m_UseForegroundValue

template<class TFixedImage, class TMovingImage>

bool itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >::m_UseForegroundValue { true }

private

Definition at line 224 of file itkAdvancedKappaStatisticImageToImageMetric.h.

Generated on 1768596610 for elastix by 1.15.0 |