Loading...
Searching...
No Matches
elastix::KNNGraphAlphaMutualInformationMetric< TElastix > Class Template Reference
Components » Metrics

`#include <elxKNNGraphAlphaMutualInformationMetric.h>`

## Detailed Description

template<class TElastix>
class elastix::KNNGraphAlphaMutualInformationMetric< TElastix >

A metric based on the itk::KNNGraphAlphaMutualInformationImageToImageMetric.

The parameters used in this class are:

Parameters

  Metric: Select this metric as follows:
  (Metric "KNNGraphAlphaMutualInformation")

  Alpha: since this metric calculates alpha - mutual information.
  (Alpha 0.5)
  Choose a value between 0.0 and 1.0. The default is 0.5.

  TreeType: The type of the kNN binary tree.
  (TreeType "BDTree" "BruteForceTree")
  Choose one of { KDTree, BDTree, BruteForceTree }.
  The default is "KDTree" for all resolutions.

  BucketSize: The maximum number of samples in one bucket.
  This parameter influences the calculation time only, and is not appropiate for the BruteForceTree.
  (BucketSize 5 100 50)
  The default is 50 for all resolutions.

  SplittingRule: This rule defines how the feature space is split.
  (SplittingRule "ANN_KD_STD" "ANN_KD_FAIR")
  Choose one of { ANN_KD_STD, ANN_KD_MIDPT, ANN_KD_SL_MIDPT, ANN_KD_FAIR, ANN_KD_SL_FAIR, ANN_KD_SUGGEST }
  The default is "ANN_KD_SL_MIDPT" for all resolutions.

  ShrinkingRule: This rule defines how the feature space is shrinked.
  (ShrinkingRule "ANN_BD_CENTROID" "ANN_BD_NONE")
  Choose one of { ANN_BD_NONE, ANN_BD_SIMPLE, ANN_BD_CENTROID, ANN_BD_SUGGEST }
  The default is "ANN_BD_SIMPLE" for all resolutions.

  TreeSearchType: The type of the binary tree searcher.
  (TreeSearchType "Standard" "FixedRadius")
  Choose one of { Standard, FixedRadius, Priority }
  The default is "Standard" for all resolutions.

  KNearestNeighbours: The number of nearest neighbours to be searched.
  (KNearestNeighbours 50 20 35)
  The default is 20 for all resolutions.

  ErrorBound: error accepted in finding the nearest neighbours.
  An ErrorBound of 0.0 equals exact searching, higher error bounds should result in smaller computation times.
  (ErrorBound 32.0 8.0 0.0)
  The default is 0.0 for all resolutions.

  SquaredSearchRadius: the radius of the sphere where there is searched for neighbours.
  This option is only appropiate for FixedRadius search.
  (SquaredSearchRadius 32.0 8.0 8.0)
  The default is 0.0 for all resolutions, which means no radius.

  AvoidDivisionBy: a small number to avoid division by zero in the implentation.
  (AvoidDivisionBy 0.000000001)
  The default is 1e-5.

Warning
  Note that we assume the FixedFeatureImageType to have the same pixeltype as the FixedImageType

See also
  KNNGraphAlphaMutualInformationImageToImageMetric, ParzenWindowMutualInformationImageToImageMetric

Definition at line 82 of file elxKNNGraphAlphaMutualInformationMetric.h.

Inheritance diagram for elastix::KNNGraphAlphaMutualInformationMetric< TElastix >:
[legend]

## Public Types

using | ConstPointer = itk::SmartPointer<const Self>
using | FixedFeatureImageType = FixedImageType
using | ITKBaseType = typename Superclass2::ITKBaseType
using | MovingFeatureImageType = MovingImageType
using | Pointer = itk::SmartPointer<Self>
using | Self = KNNGraphAlphaMutualInformationMetric
using | Superclass1
using | Superclass2 = MetricBase<TElastix>
Public Types inherited from itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >
using | ANNbdTreeType = ANNbdTree<ListSampleType>
using | ANNBruteForceTreeType = ANNBruteForceTree<ListSampleType>
using | ANNFixedRadiusTreeSearchType = ANNFixedRadiusTreeSearch<ListSampleType>
using | ANNkDTreeType = ANNkDTree<ListSampleType>
using | ANNPriorityTreeSearchType = ANNPriorityTreeSearch<ListSampleType>
using | ANNStandardTreeSearchType = ANNStandardTreeSearch<ListSampleType>
using | BinaryKNNTreePointer = typename BinaryKNNTreeType::Pointer
using | BinaryKNNTreeSearchPointer = typename BinaryKNNTreeSearchType::Pointer
using | BinaryKNNTreeSearchType = BinaryTreeSearchBase<ListSampleType>
using | BinaryKNNTreeType = BinaryTreeBase<ListSampleType>
using | ConstPointer = SmartPointer<const Self>
using | DistanceArrayType = typename BinaryKNNTreeSearchType::DistanceArrayType
using | FixedImageInterpolatorVectorType
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImageMaskVectorType
using | FixedImageRegionVectorType
using | FixedImageVectorType
using | IndexArrayType = typename BinaryKNNTreeSearchType::IndexArrayType
using | InterpolatorVectorType
using | ListSamplePointer = typename ListSampleType::Pointer
using | ListSampleType = typename Statistics::ListSampleCArray<MeasurementVectorType, double>
using | MeasurementVectorType = Array<double>
using | MeasurementVectorValueType = typename MeasurementVectorType::ValueType
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImageMaskVectorType
using | MovingImageVectorType
using | Pointer = SmartPointer<Self>
using | Self = KNNGraphAlphaMutualInformationImageToImageMetric
using | Superclass = MultiInputImageToImageMetricBase<TFixedImage, TMovingImage>
using | TransformJacobianValueType = typename TransformJacobianType::ValueType
Public Types inherited from itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >
using | ConstPointer = SmartPointer<const Self>
using | FixedImageInterpolatorPointer = typename FixedImageInterpolatorType::Pointer
using | FixedImageInterpolatorType = InterpolateImageFunction<FixedImageType, CoordinateRepresentationType>
using | FixedImageInterpolatorVectorType = std::vector<FixedImageInterpolatorPointer>
using | FixedImageMaskConstPointer
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImageMaskVectorType = std::vector<FixedImageMaskConstPointer>
using | FixedImagePointer
using | FixedImageRegionVectorType = std::vector<FixedImageRegionType>
using | FixedImageVectorType = std::vector<FixedImageConstPointer>
using | InterpolatorVectorType = std::vector<InterpolatorPointer>
using | MovingImageMaskConstPointer
using | MovingImageMaskPointer
using | MovingImageMaskType
using | MovingImageMaskVectorType = std::vector<MovingImageMaskConstPointer>
using | MovingImagePointer
using | MovingImageVectorType = std::vector<MovingImageConstPointer>
using | Pointer = SmartPointer<Self>
using | Self = MultiInputImageToImageMetricBase
using | Superclass = AdvancedImageToImageMetric<TFixedImage, TMovingImage>
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 Types inherited from elastix::MetricBase< TElastix >
using | AdvancedMetricType = itk::AdvancedImageToImageMetric<FixedImageType, MovingImageType>
using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType
using | ElastixType
using | FixedImageType = typename ElastixType::FixedImageType
using | FixedPointSetType
using | FixedPointType = typename FixedImageType::PointType
using | FixedPointValueType = typename FixedPointType::ValueType
using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType
using | ITKBaseType = itk::SingleValuedCostFunction
using | MeasureType = typename ITKBaseType::MeasureType
using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType
using | MovingImageType = typename ElastixType::MovingImageType
using | MovingPointSetType
using | MovingPointType = typename MovingImageType::PointType
using | MovingPointValueType = typename MovingPointType::ValueType
using | RegistrationType
using | Self = MetricBase
using | Superclass = BaseComponentSE<TElastix>
Public Types inherited from elastix::BaseComponentSE< TElastix >
using | ElastixType = TElastix
using | RegistrationType = typename ElastixType::RegistrationBaseType
using | Self = BaseComponentSE
using | Superclass = BaseComponent

## Public Member Functions

void | BeforeEachResolution () override
void | BeforeRegistration () override
| elxClassNameMacro ("KNNGraphAlphaMutualInformation")
virtual const char * | GetClassName () const
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (KNNGraphAlphaMutualInformationMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Public Member Functions inherited from itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >
virtual const double & | GetAlpha ()
virtual const double & | GetAvoidDivisionBy ()
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 | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (KNNGraphAlphaMutualInformationImageToImageMetric)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SetAlpha (double _arg)
void | SetANNbdTree (unsigned int bucketSize, std::string splittingRule, std::string shrinkingRule)
void | SetANNbdTree (unsigned int bucketSize, std::string splittingRuleFixed, std::string splittingRuleMoving, std::string splittingRuleJoint, std::string shrinkingRuleFixed, std::string shrinkingRuleMoving, std::string shrinkingRuleJoint)
void | SetANNBruteForceTree ()
void | SetANNFixedRadiusTreeSearch (unsigned int kNearestNeighbors, double errorBound, double squaredRadius)
void | SetANNkDTree (unsigned int bucketSize, std::string splittingRule)
void | SetANNkDTree (unsigned int bucketSize, std::string splittingRuleFixed, std::string splittingRuleMoving, std::string splittingRuleJoint)
void | SetANNPriorityTreeSearch (unsigned int kNearestNeighbors, double errorBound)
void | SetANNStandardTreeSearch (unsigned int kNearestNeighbors, double errorBound)
virtual void | SetAvoidDivisionBy (double _arg)
Public Member Functions inherited from itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >
const FixedImageType * | GetFixedImage () const override
virtual const FixedImageType * | GetFixedImage (unsigned int pos) const
virtual FixedImageInterpolatorType * | GetFixedImageInterpolator () const
virtual FixedImageInterpolatorType * | GetFixedImageInterpolator (unsigned int pos) const
const FixedImageMaskType * | GetFixedImageMask () const override
virtual const FixedImageMaskType * | GetFixedImageMask (unsigned int pos) const
const FixedImageRegionType & | GetFixedImageRegion () const override
virtual const FixedImageRegionType & | GetFixedImageRegion (unsigned int pos) const
const InterpolatorType * | GetInterpolator () const override
InterpolatorType * | GetInterpolator () override
virtual InterpolatorType * | GetInterpolator (unsigned int pos) const
virtual bool | GetInterpolatorsAreBSpline () const
const MovingImageType * | GetMovingImage () const override
virtual const MovingImageType * | GetMovingImage (unsigned int pos) const
const MovingImageMaskType * | GetMovingImageMask () const override
virtual const MovingImageMaskType * | GetMovingImageMask (unsigned int pos) const
virtual unsigned int | GetNumberOfFixedImageInterpolators () const
virtual unsigned int | GetNumberOfFixedImageMasks () const
virtual unsigned int | GetNumberOfFixedImageRegions () const
virtual unsigned int | GetNumberOfFixedImages () const
virtual unsigned int | GetNumberOfInterpolators () const
virtual unsigned int | GetNumberOfMovingImageMasks () const
virtual unsigned int | GetNumberOfMovingImages () const
void | Initialize () override
| ITK_DISALLOW_COPY_AND_MOVE (MultiInputImageToImageMetricBase)
| itkSetNumberOfMacro (FixedImage)
| itkSetNumberOfMacro (FixedImageInterpolator)
| itkSetNumberOfMacro (FixedImageMask)
| itkSetNumberOfMacro (FixedImageRegion)
| itkSetNumberOfMacro (Interpolator)
| itkSetNumberOfMacro (MovingImage)
| itkSetNumberOfMacro (MovingImageMask)
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
void | SetFixedImage (const FixedImageType *_arg) override
virtual void | SetFixedImage (const FixedImageType *_arg, unsigned int pos)
virtual void | SetFixedImageInterpolator (FixedImageInterpolatorType *_arg)
virtual void | SetFixedImageInterpolator (FixedImageInterpolatorType *_arg, unsigned int pos)
void | SetFixedImageMask (const FixedImageMaskType *_arg) override
virtual void | SetFixedImageMask (const FixedImageMaskType *_arg, unsigned int pos)
void | SetFixedImageRegion (const FixedImageRegionType _arg) override
virtual void | SetFixedImageRegion (const FixedImageRegionType _arg, unsigned int pos)
void | SetInterpolator (InterpolatorType *_arg) override
virtual void | SetInterpolator (InterpolatorType *_arg, unsigned int pos)
void | SetMovingImage (const MovingImageType *_arg) override
virtual void | SetMovingImage (const MovingImageType *_arg, unsigned int pos)
void | SetMovingImageMask (const MovingImageMaskType *_arg) override
virtual void | SetMovingImageMask (const MovingImageMaskType *_arg, unsigned int pos)
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 | SetFixedLimitRangeRatio (double _arg)
virtual void | SetImageSampler (ImageSamplerType *_arg)
virtual void | SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg)
virtual void | SetMovingImageLimiter (MovingImageLimiterType *_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 ()
Public Member Functions inherited from elastix::MetricBase< TElastix >
void | AfterEachIterationBase () override
void | BeforeEachResolutionBase () override
virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const
virtual bool | GetAdvancedMetricUseImageSampler () const
ITKBaseType * | GetAsITKBaseType ()
const ITKBaseType * | GetAsITKBaseType () const
virtual MeasureType | GetCurrentExactMetricValue () const
virtual bool | GetShowExactMetricValue () const
| ITK_DISALLOW_COPY_AND_MOVE (MetricBase)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
virtual void | SelectNewSamples ()
virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler)
Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void | AddTargetCellToIterationInfo (const char *const name)
const Configuration * | GetConfiguration () const
ElastixType * | GetElastix () const
auto & | GetIterationInfoAt (const char *const name)
RegistrationType * | GetRegistration () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
void | RemoveTargetCellFromIterationInfo (const char *const name)
void | SetConfiguration (const Configuration *_arg)
void | SetElastix (ElastixType *_arg)
Public Member Functions inherited from elastix::BaseComponent
virtual void | AfterEachIteration ()
virtual void | AfterEachResolution ()
virtual void | AfterEachResolutionBase ()
virtual void | AfterRegistration ()
virtual void | AfterRegistrationBase ()
virtual int | BeforeAll ()
virtual int | BeforeAllBase ()
virtual void | BeforeRegistrationBase ()
virtual const char * | elxGetClassName () const
const char * | GetComponentLabel () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
| itkTypeMacroNoParent (BaseComponent)
void | SetComponentLabel (const char *label, unsigned int idx)

## Static Public Member Functions

static Pointer | New ()
Static Public Member Functions inherited from itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >
static Pointer | New ()
Static Public Member Functions inherited from elastix::BaseComponent
template<typename TBaseComponent>
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
static void | InitializeElastixExecutable ()
static bool | IsElastixLibrary ()

## Protected Member Functions

| KNNGraphAlphaMutualInformationMetric ()=default
| ~KNNGraphAlphaMutualInformationMetric () override=default
Protected Member Functions inherited from itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >
| KNNGraphAlphaMutualInformationImageToImageMetric ()
void | PrintSelf (std::ostream &os, Indent indent) const override
| ~KNNGraphAlphaMutualInformationImageToImageMetric () override=default
Protected Member Functions inherited from itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >
virtual void | CheckForBSplineInterpolators ()
bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const override
void | InitializeImageSampler () override
bool | IsInsideMovingMask (const MovingImagePointType &mappedPoint) const override
| MultiInputImageToImageMetricBase ()=default
| ~MultiInputImageToImageMetricBase () 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
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
void | InitializeLimiters ()
virtual void | InitializeThreadingParameters () 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
Protected Member Functions inherited from elastix::MetricBase< TElastix >
virtual MeasureType | GetExactValue (const ParametersType &parameters)
| MetricBase ()=default
| ~MetricBase () override=default
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
| BaseComponentSE ()=default
| ~BaseComponentSE () override=default
Protected Member Functions inherited from elastix::BaseComponent
| BaseComponent ()=default
virtual | ~BaseComponent ()=default

## Private Attributes

| elxOverrideGetSelfMacro

## Additional Inherited Members

Protected Types inherited from itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >
using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer
using | BSplineInterpolatorType
using | BSplineInterpolatorVectorType = std::vector<BSplineInterpolatorPointer>
using | MovingImageContinuousIndexType
using | MovingImageDerivativeType
using | MovingImageIndexType
using | MovingImagePointType
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 Types inherited from elastix::MetricBase< TElastix >
using | ExactMetricImageSamplerPointer = typename ExactMetricImageSamplerType::Pointer
using | ExactMetricImageSamplerType = itk::ImageGridSampler<FixedImageType>
using | ExactMetricSampleGridSpacingType = typename ExactMetricImageSamplerType::SampleGridSpacingType
using | ParametersType = typename ITKBaseType::ParametersType
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)
Protected Attributes inherited from itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >
double | m_Alpha { 0.99 }
double | m_AvoidDivisionBy { 1e-10 }
BinaryKNNTreePointer | m_BinaryKNNTreeFixed { nullptr }
BinaryKNNTreePointer | m_BinaryKNNTreeJoint { nullptr }
BinaryKNNTreePointer | m_BinaryKNNTreeMoving { nullptr }
BinaryKNNTreeSearchPointer | m_BinaryKNNTreeSearcherFixed { nullptr }
BinaryKNNTreeSearchPointer | m_BinaryKNNTreeSearcherJoint { nullptr }
BinaryKNNTreeSearchPointer | m_BinaryKNNTreeSearcherMoving { nullptr }
Protected Attributes inherited from itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >
BSplineInterpolatorVectorType | m_BSplineInterpolatorVector {}
FixedImageInterpolatorVectorType | m_FixedImageInterpolatorVector {}
FixedImageMaskVectorType | m_FixedImageMaskVector {}
FixedImageRegionVectorType | m_FixedImageRegionVector {}
FixedImageVectorType | m_FixedImageVector {}
bool | m_InterpolatorsAreBSpline { false }
InterpolatorVectorType | m_InterpolatorVector {}
MovingImageMaskVectorType | m_MovingImageMaskVector {}
MovingImageVectorType | m_MovingImageVector {}
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 }
Protected Attributes inherited from elastix::MetricBase< TElastix >
MeasureType | m_CurrentExactMetricValue { 0.0 }
unsigned int | m_ExactMetricEachXNumberOfIterations { 1 }
ExactMetricSampleGridSpacingType | m_ExactMetricSampleGridSpacing
ExactMetricImageSamplerPointer | m_ExactMetricSampler { nullptr }
bool | m_ShowExactMetricValue { false }
Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer | m_Configuration {}
itk::WeakPointer< TElastix > | m_Elastix {}
RegistrationType * | m_Registration {}

## Member Typedef Documentation

## ConstPointer

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 97 of file elxKNNGraphAlphaMutualInformationMetric.h.

## FixedFeatureImageType

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::FixedFeatureImageType = FixedImageType

Typedefs for feature images.

Definition at line 135 of file elxKNNGraphAlphaMutualInformationMetric.h.

## ITKBaseType

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 132 of file elxKNNGraphAlphaMutualInformationMetric.h.

## MovingFeatureImageType

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::MovingFeatureImageType = MovingImageType

Definition at line 136 of file elxKNNGraphAlphaMutualInformationMetric.h.

## Pointer

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 96 of file elxKNNGraphAlphaMutualInformationMetric.h.

## Self

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::Self = KNNGraphAlphaMutualInformationMetric

Standard ITK-stuff.

Definition at line 91 of file elxKNNGraphAlphaMutualInformationMetric.h.

## Superclass1

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::Superclass1

Initial value:
itk::KNNGraphAlphaMutualInformationImageToImageMetric<typename MetricBase<TElastix>::FixedImageType,
typename MetricBase<TElastix>::MovingImageType>
elastix::MetricBase::MovingImageType
typename ElastixType::MovingImageType MovingImageType
Definition elxMetricBase.h:92
itk::KNNGraphAlphaMutualInformationImageToImageMetric
Computes similarity between two images to be registered.
Definition itkKNNGraphAlphaMutualInformationImageToImageMetric.h:76

Definition at line 92 of file elxKNNGraphAlphaMutualInformationMetric.h.

## Superclass2

template<class TElastix>

using elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::Superclass2 = MetricBase<TElastix>

Definition at line 95 of file elxKNNGraphAlphaMutualInformationMetric.h.

## Constructor & Destructor Documentation

## KNNGraphAlphaMutualInformationMetric()

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::KNNGraphAlphaMutualInformationMetric | ( |  | ) |

protected default

The constructor.

## ~KNNGraphAlphaMutualInformationMetric()

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::~KNNGraphAlphaMutualInformationMetric | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## BeforeEachResolution()

template<class TElastix>

void elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::BeforeEachResolution | ( |  | ) |

override virtual

Execute stuff before each new pyramid resolution:

- Set the tree type.
- Set the bucket size, if appropriate.
- Set the splitting rule, if appropriate.
- Set the shrinking rule, if appropriate.
- Set the tree searcher type.
- Set the k NearestNeighbours.
- Set the error bound epsilon for ANN search.
- Set the squared search radius, if appropriate.

Reimplemented from elastix::BaseComponent.

## BeforeRegistration()

template<class TElastix>

void elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::BeforeRegistration | ( |  | ) |

override virtual

Execute stuff before the registration:

- Set the alpha from alpha - MI.
- Set the number of fixed feature images.
- Set the number of moving feature images.
- Set the fixed feature images filenames.
- Set the moving feature images filenames.
- Set the spline orders of the fixed feature interpolators.
- Set the spline orders of the moving feature interpolators.

Reimplemented from elastix::BaseComponent.

## elxClassNameMacro()

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::elxClassNameMacro | ( | "KNNGraphAlphaMutualInformation" |  | ) |

Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "KNNGraphAlphaMutualInformation")

## GetClassName()

template<class TElastix>

virtual const char * elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

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

## Initialize()

template<class TElastix>

void elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::Initialize | ( |  | ) |

override

Sets up a timer to measure the initialization time and calls the Superclass' implementation.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | KNNGraphAlphaMutualInformationMetric< TElastix > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

The fixed image dimension

## itkStaticConstMacro() [2/2]

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | ,
|  | unsigned int | ,
|  | MovingImageType::ImageDimension | )

The moving image dimension.

## New()

template<class TElastix>

Pointer elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::New | ( |  | ) |

static

Method for creation through the object factory.

## Field Documentation

## elxOverrideGetSelfMacro

template<class TElastix>

elastix::KNNGraphAlphaMutualInformationMetric< TElastix >::elxOverrideGetSelfMacro

private

Definition at line 176 of file elxKNNGraphAlphaMutualInformationMetric.h.

Generated on 1768596610 for elastix by 1.15.0 |