Loading...
Searching...
No Matches
itk::PCAMetric< TFixedImage, TMovingImage > Class Template Reference

`#include <itkPCAMetric.h>`

## Detailed Description

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

Definition at line 32 of file itkPCAMetric.h.

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

## Data Structures

struct | PCAMetricGetSamplesPerThreadStruct
struct | PCAMetricMultiThreaderParameterType

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | DerivativeMatrixType = vnl_matrix<DerivativeValueType>
using | DerivativeValueType
using | FixedImageLimiterOutputType
using | FixedImageLimiterType
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImagePixelType
using | FixedImageSizeType = typename FixedImageRegionType::SizeType
using | ImageSampleContainerPointer
using | ImageSampleContainerType
using | ImageSamplerPointer
using | ImageSamplerType
using | MatrixType = vnl_matrix<RealType>
using | MovingImageDerivativeScalesType
using | MovingImageLimiterOutputType
using | MovingImageLimiterType
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImageRegionType
using | Pointer = SmartPointer<Self>
using | Self = PCAMetric
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 const char * | GetClassName () const
void | GetDerivative (const TransformParametersType &parameters, DerivativeType &derivative) const override
MeasureType | GetValue (const TransformParametersType &parameters) const override
void | GetValueAndDerivative (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
void | GetValueAndDerivativeSingleThreaded (const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (PCAMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SetGridSize (FixedImageSizeType _arg)
virtual void | SetNumEigenValues (unsigned int _arg)
virtual void | SetTransformIsStackTransform (bool _arg)
virtual void | SetUseZeroAverageDisplacementConstraint (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 | FixedImageContinuousIndexType
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

void | AfterThreadedComputeDerivative (DerivativeType &derivative) const
void | AfterThreadedGetSamples (MeasureType &value) const
void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override
void | InitializeThreadingParameters () const override
void | LaunchComputeDerivativeThreaderCallback () const
void | LaunchGetSamplesThreaderCallback () const
| PCAMetric ()
void | PrintSelf (std::ostream &os, Indent indent) const override
void | ThreadedComputeDerivative (ThreadIdType threadID)
void | ThreadedGetSamples (ThreadIdType threadID)
| ~PCAMetric () override=default
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >
| AdvancedImageToImageMetric ()
virtual void | AfterThreadedGetValue (MeasureType &) const
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) 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
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
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const
| ~AdvancedImageToImageMetric () override=default

## Static Protected Member Functions

static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputeDerivativeThreaderCallback (void *arg)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetSamplesThreaderCallback (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, PaddedPCAMetricGetSamplesPerThreadStruct, AlignedPCAMetricGetSamplesPerThreadStruct)
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, PCAMetricGetSamplesPerThreadStruct, PaddedPCAMetricGetSamplesPerThreadStruct)

## Private Attributes

MatrixType | m_Atmm {}
DerivativeMatrixType | m_CSv {}
unsigned int | m_G {}
FixedImageSizeType | m_GridSize {}
unsigned int | m_LastDimIndex {}
unsigned int | m_NumEigenValues { 6 }
std::vector< AlignedPCAMetricGetSamplesPerThreadStruct > | m_PCAMetricGetSamplesPerThreadVariables {}
PCAMetricMultiThreaderParameterType | m_PCAMetricThreaderParameters {}
std::vector< unsigned int > | m_PixelStartIndex {}
DerivativeMatrixType | m_Sv {}
bool | m_TransformIsStackTransform { false }
bool | m_UseZeroAverageDisplacementConstraint { true }
DerivativeMatrixType | m_vdSdmu_part1 {}
DerivativeMatrixType | m_vSAtmm {}

## 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::PCAMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self>

Definition at line 41 of file itkPCAMetric.h.

## DerivativeMatrixType

template<class TFixedImage, class TMovingImage>

using itk::PCAMetric< TFixedImage, TMovingImage >::DerivativeMatrixType = vnl_matrix<DerivativeValueType>

Definition at line 99 of file itkPCAMetric.h.

## DerivativeValueType

template<class TFixedImage, class TMovingImage>

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

Definition at line 133 of file itkAdvancedImageToImageMetric.h.

## FixedImageContinuousIndexType

template<class TFixedImage, class TMovingImage>

using itk::PCAMetric< TFixedImage, TMovingImage >::FixedImageContinuousIndexType

protected

Initial value:
typename itk::ContinuousIndex<CoordinateRepresentationType, FixedImageDimension>

Definition at line 149 of file itkPCAMetric.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.

## FixedImageSizeType

template<class TFixedImage, class TMovingImage>

using itk::PCAMetric< TFixedImage, TMovingImage >::FixedImageSizeType = typename FixedImageRegionType::SizeType

Definition at line 44 of file itkPCAMetric.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.

## MatrixType

template<class TFixedImage, class TMovingImage>

using itk::PCAMetric< TFixedImage, TMovingImage >::MatrixType = vnl_matrix<RealType>

Definition at line 98 of file itkPCAMetric.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.

## Pointer

template<class TFixedImage, class TMovingImage>

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

Definition at line 40 of file itkPCAMetric.h.

## Self

template<class TFixedImage, class TMovingImage>

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

Standard class typedefs.

Definition at line 38 of file itkPCAMetric.h.

## Superclass

template<class TFixedImage, class TMovingImage>

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

Definition at line 39 of file itkPCAMetric.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

## PCAMetric()

template<class TFixedImage, class TMovingImage>

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

protected

## ~PCAMetric()

template<class TFixedImage, class TMovingImage>

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

override protected default

## Member Function Documentation

## AfterThreadedComputeDerivative()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::AfterThreadedComputeDerivative | ( | DerivativeType & | derivative | ) | const

protected

## AfterThreadedGetSamples()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::AfterThreadedGetSamples | ( | MeasureType & | value | ) | const

protected

Gather the values and derivatives from all threads

## ComputeDerivativeThreaderCallback()

template<class TFixedImage, class TMovingImage>

ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::PCAMetric< TFixedImage, TMovingImage >::ComputeDerivativeThreaderCallback | ( | void * | arg | ) |

static protected

## EvaluateTransformJacobianInnerProduct()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::EvaluateTransformJacobianInnerProduct | ( | const TransformJacobianType & | jacobian,
|  | const MovingImageDerivativeType & | movingImageDerivative,
|  | DerivativeType & | imageJacobian ) const

override protected virtual

Computes the innerproduct of transform Jacobian with moving image gradient. The results are stored in imageJacobian, which is supposed to have the right size (same length as Jacobian's number of columns).

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

## GetClassName()

template<class TFixedImage, class TMovingImage>

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

virtual

Run-time type information (and related methods).

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

Reimplemented in elastix::PCAMetric< TElastix >.

## GetDerivative()

template<class TFixedImage, class TMovingImage>

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

override

Get the derivatives of the match measure.

## GetSamplesThreaderCallback()

template<class TFixedImage, class TMovingImage>

ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::PCAMetric< TFixedImage, TMovingImage >::GetSamplesThreaderCallback | ( | void * | arg | ) |

static protected

Helper function to launch the threads.

## GetValue()

template<class TFixedImage, class TMovingImage>

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

override

Get the value for single valued optimizers.

## GetValueAndDerivative()

template<class TFixedImage, class TMovingImage>

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

override

## GetValueAndDerivativeSingleThreaded()

template<class TFixedImage, class TMovingImage>

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

Get value and derivatives for multiple valued optimizers.

## Initialize()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::Initialize | ( |  | ) |

override

Initialize the Metric by making sure that all the components are present and plugged together correctly.

- Call the superclass' implementation.

## InitializeThreadingParameters()

template<class TFixedImage, class TMovingImage>

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

override protected virtual

Initialize some multi-threading related parameters.

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

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage, class TMovingImage>

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

## itkAlignedTypedef()

template<class TFixedImage, class TMovingImage>

itk::PCAMetric< TFixedImage, TMovingImage >::itkAlignedTypedef | ( | ITK_CACHE_LINE_ALIGNMENT | ,
|  | PaddedPCAMetricGetSamplesPerThreadStruct | ,
|  | AlignedPCAMetricGetSamplesPerThreadStruct | )

private

## itkPadStruct()

template<class TFixedImage, class TMovingImage>

itk::PCAMetric< TFixedImage, TMovingImage >::itkPadStruct | ( | ITK_CACHE_LINE_ALIGNMENT | ,
|  | PCAMetricGetSamplesPerThreadStruct | ,
|  | PaddedPCAMetricGetSamplesPerThreadStruct | )

private

## itkStaticConstMacro() [1/2]

template<class TFixedImage, class TMovingImage>

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

The fixed image dimension.

## itkStaticConstMacro() [2/2]

template<class TFixedImage, class TMovingImage>

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

The moving image dimension.

## LaunchComputeDerivativeThreaderCallback()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::LaunchComputeDerivativeThreaderCallback | ( |  | ) | const

protected

## LaunchGetSamplesThreaderCallback()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::LaunchGetSamplesThreaderCallback | ( |  | ) | const

protected

Helper functions to launch the threads.

## New()

template<class TFixedImage, class TMovingImage>

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

static

Method for creation through the object factory.

## PrintSelf()

template<class TFixedImage, class TMovingImage>

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

override protected

## SetGridSize()

template<class TFixedImage, class TMovingImage>

virtual void itk::PCAMetric< TFixedImage, TMovingImage >::SetGridSize | ( | FixedImageSizeType | _arg | ) |

virtual

## SetNumEigenValues()

template<class TFixedImage, class TMovingImage>

virtual void itk::PCAMetric< TFixedImage, TMovingImage >::SetNumEigenValues | ( | unsigned int | _arg | ) |

virtual

## SetTransformIsStackTransform()

template<class TFixedImage, class TMovingImage>

virtual void itk::PCAMetric< TFixedImage, TMovingImage >::SetTransformIsStackTransform | ( | bool | _arg | ) |

virtual

## SetUseZeroAverageDisplacementConstraint()

template<class TFixedImage, class TMovingImage>

virtual void itk::PCAMetric< TFixedImage, TMovingImage >::SetUseZeroAverageDisplacementConstraint | ( | bool | _arg | ) |

virtual

Set functions.

## ThreadedComputeDerivative()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::ThreadedComputeDerivative | ( | ThreadIdType | threadID | ) |

protected

## ThreadedGetSamples()

template<class TFixedImage, class TMovingImage>

void itk::PCAMetric< TFixedImage, TMovingImage >::ThreadedGetSamples | ( | ThreadIdType | threadID | ) |

protected

Get value and derivatives for each thread.

## Field Documentation

## m_Atmm

template<class TFixedImage, class TMovingImage>

MatrixType itk::PCAMetric< TFixedImage, TMovingImage >::m_Atmm {}

mutable private

Definition at line 238 of file itkPCAMetric.h.

## m_CSv

template<class TFixedImage, class TMovingImage>

DerivativeMatrixType itk::PCAMetric< TFixedImage, TMovingImage >::m_CSv {}

mutable private

Definition at line 240 of file itkPCAMetric.h.

## m_G

template<class TFixedImage, class TMovingImage>

unsigned int itk::PCAMetric< TFixedImage, TMovingImage >::m_G {}

private

Definition at line 221 of file itkPCAMetric.h.

## m_GridSize

template<class TFixedImage, class TMovingImage>

FixedImageSizeType itk::PCAMetric< TFixedImage, TMovingImage >::m_GridSize {}

private

GridSize of B-spline transform.

Definition at line 228 of file itkPCAMetric.h.

## m_LastDimIndex

template<class TFixedImage, class TMovingImage>

unsigned int itk::PCAMetric< TFixedImage, TMovingImage >::m_LastDimIndex {}

private

Definition at line 222 of file itkPCAMetric.h.

## m_NumEigenValues

template<class TFixedImage, class TMovingImage>

unsigned int itk::PCAMetric< TFixedImage, TMovingImage >::m_NumEigenValues { 6 }

private

Integer to indicate how many eigenvalues you want to use in the metric

Definition at line 234 of file itkPCAMetric.h.

## m_PCAMetricGetSamplesPerThreadVariables

template<class TFixedImage, class TMovingImage>

std::vector<AlignedPCAMetricGetSamplesPerThreadStruct> itk::PCAMetric< TFixedImage, TMovingImage >::m_PCAMetricGetSamplesPerThreadVariables {}

mutable private

Definition at line 219 of file itkPCAMetric.h.

## m_PCAMetricThreaderParameters

template<class TFixedImage, class TMovingImage>

PCAMetricMultiThreaderParameterType itk::PCAMetric< TFixedImage, TMovingImage >::m_PCAMetricThreaderParameters {}

private

Definition at line 203 of file itkPCAMetric.h.

## m_PixelStartIndex

template<class TFixedImage, class TMovingImage>

std::vector<unsigned int> itk::PCAMetric< TFixedImage, TMovingImage >::m_PixelStartIndex {}

mutable private

Matrices, needed for derivative calculation

Definition at line 237 of file itkPCAMetric.h.

## m_Sv

template<class TFixedImage, class TMovingImage>

DerivativeMatrixType itk::PCAMetric< TFixedImage, TMovingImage >::m_Sv {}

mutable private

Definition at line 241 of file itkPCAMetric.h.

## m_TransformIsStackTransform

template<class TFixedImage, class TMovingImage>

bool itk::PCAMetric< TFixedImage, TMovingImage >::m_TransformIsStackTransform { false }

private

Bool to indicate if the transform used is a stacktransform. Set by elx files.

Definition at line 231 of file itkPCAMetric.h.

## m_UseZeroAverageDisplacementConstraint

template<class TFixedImage, class TMovingImage>

bool itk::PCAMetric< TFixedImage, TMovingImage >::m_UseZeroAverageDisplacementConstraint { true }

private

Bool to determine if we want to subtract the mean derivate from the derivative elements.

Definition at line 225 of file itkPCAMetric.h.

## m_vdSdmu_part1

template<class TFixedImage, class TMovingImage>

DerivativeMatrixType itk::PCAMetric< TFixedImage, TMovingImage >::m_vdSdmu_part1 {}

mutable private

Definition at line 242 of file itkPCAMetric.h.

## m_vSAtmm

template<class TFixedImage, class TMovingImage>

DerivativeMatrixType itk::PCAMetric< TFixedImage, TMovingImage >::m_vSAtmm {}

mutable private

Definition at line 239 of file itkPCAMetric.h.

Generated on 1768596610 for elastix by 1.15.0 |