Loading...
Searching...
No Matches
itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform > Class Template Reference

`#include <itkComputePreconditionerUsingDisplacementDistribution.h>`

## Detailed Description

template<class TFixedImage, class TTransform>
class itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >

This is a helper class for the automatic estimation of a preconditioner for the FPSGD optimizer. // update below More specifically this class computes the Jacobian terms related to the automatic parameter estimation for the adaptive stochastic gradient descent optimizer. Details can be found in the TMI paper.

[1] Y. Qiao, B. van Lew, B.P.F. Lelieveldt, M. Staring Fast Automatic Step Size Estimation for Gradient Descent Optimization of Image Registration IEEE Transactions on Medical Imaging, vol. 35, no. 2, pp. 391 - 403, February 2016 http://dx.doi.org/10.1109/TMI.2015.2476354

Definition at line 40 of file itkComputePreconditionerUsingDisplacementDistribution.h.

Inheritance diagram for itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >:
[legend]

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | FixedImageMaskConstPointer
using | FixedImageMaskPointer
using | FixedImageMaskType
using | FixedImagePixelType
using | FixedImageRegionType
using | FixedImageType
using | NonZeroJacobianIndicesType
using | Pointer = SmartPointer<Self>
using | ScalesType
using | Self = ComputePreconditionerUsingDisplacementDistribution
using | Superclass = ComputeDisplacementDistribution<TFixedImage, TTransform>
using | TransformPointer
using | TransformType
Public Types inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
using | ConstPointer = SmartPointer<const Self>
using | FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
using | FixedImageMaskPointer = typename FixedImageMaskType::Pointer
using | FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>
using | FixedImagePixelType = typename FixedImageType::PixelType
using | FixedImageRegionType = typename FixedImageType::RegionType
using | FixedImageType = TFixedImage
using | NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType
using | Pointer = SmartPointer<Self>
using | ScalesType
using | Self = ComputeDisplacementDistribution
using | Superclass = ScaledSingleValuedNonLinearOptimizer
using | TransformPointer = typename TransformType::Pointer
using | TransformType = TTransform
Public Types inherited from itk::ScaledSingleValuedNonLinearOptimizer
using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | ScaledCostFunctionPointer = ScaledCostFunctionType::Pointer
using | ScaledCostFunctionType = ScaledSingleValuedCostFunction
using | ScalesType = NonLinearOptimizer::ScalesType
using | Self = ScaledSingleValuedNonLinearOptimizer
using | Superclass = SingleValuedNonLinearOptimizer

## Public Member Functions

void | Compute (const ParametersType &mu, double &jacg, double &maxJJ, std::string method) override
virtual void | Compute (const ParametersType &mu, double &maxJJ, ParametersType &preconditioner)
void | ComputeJacobiTypePreconditioner (double &maxJJ, ParametersType &preconditioner)
virtual const char * | GetClassName () const
virtual const double & | GetConditionNumber ()
virtual const double & | GetMaximumStepLength ()
virtual const double & | GetRegularizationKappa ()
| ITK_DISALLOW_COPY_AND_MOVE (ComputePreconditionerUsingDisplacementDistribution)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
virtual void | PreconditionerInterpolation (ParametersType &preconditioner)
virtual void | SetConditionNumber (double _arg)
virtual void | SetMaximumStepLength (double _arg)
virtual void | SetRegularizationKappa (double _arg)
Public Member Functions inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
virtual void | AfterThreadedCompute (double &jacg, double &maxJJ)
virtual void | BeforeThreadedCompute (const ParametersType &mu)
virtual void | ComputeSingleThreaded (const ParametersType &mu, double &jacg, double &maxJJ, std::string method)
virtual void | ComputeUsingSearchDirection (const ParametersType &mu, double &jacg, double &maxJJ, std::string methods)
virtual const FixedImageMaskType * | GetFixedImageMask ()
virtual const FixedImageRegionType & | GetFixedImageRegion ()
| ITK_DISALLOW_COPY_AND_MOVE (ComputeDisplacementDistribution)
| itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
virtual void | SetFixedImage (const FixedImageType *_arg)
virtual void | SetFixedImageMask (const FixedImageMaskType *_arg)
virtual void | SetFixedImageMask (FixedImageMaskType *_arg)
void | SetFixedImageRegion (const FixedImageRegionType &region)
virtual void | SetNumberOfJacobianMeasurements (SizeValueType _arg)
void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads)
virtual void | SetTransform (TransformType *_arg)
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
const ParametersType & | GetCurrentPosition () const override
virtual bool | GetMaximize () const
virtual const ScaledCostFunctionType * | GetScaledCostFunction ()
virtual const ParametersType & | GetScaledCurrentPosition ()
bool | GetUseScales () const
virtual void | InitializeScales ()
| ITK_DISALLOW_COPY_AND_MOVE (ScaledSingleValuedNonLinearOptimizer)
virtual void | MaximizeOff ()
virtual void | MaximizeOn ()
void | SetCostFunction (CostFunctionType *costFunction) override
virtual void | SetMaximize (bool _arg)
virtual void | SetUseScales (bool arg)

## Static Public Member Functions

static Pointer | New ()
Static Public Member Functions inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
static Pointer | New ()
Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
static Pointer | New ()

## Protected Types

using | CoordinateRepresentationType
using | FixedImageIndexType
using | FixedImagePointType
using | ImageFullSamplerPointer
using | ImageFullSamplerType
using | ImageGridSamplerPointer
using | ImageGridSamplerType
using | ImageRandomSamplerBasePointer
using | ImageRandomSamplerBaseType
using | ImageSampleContainerPointer
using | ImageSampleContainerType
using | ImageSamplerBasePointer
using | ImageSamplerBaseType
using | JacobianType
using | JacobianValueType
using | NumberOfParametersType
using | TransformJacobianType
Protected Types inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
using | CoordinateRepresentationType = typename TransformType::ScalarType
using | FixedImageIndexType = typename FixedImageType::IndexType
using | FixedImagePointType = typename FixedImageType::PointType
using | ImageFullSamplerPointer = typename ImageFullSamplerType::Pointer
using | ImageFullSamplerType = ImageFullSampler<FixedImageType>
using | ImageGridSamplerPointer = typename ImageGridSamplerType::Pointer
using | ImageGridSamplerType = ImageGridSampler<FixedImageType>
using | ImageRandomSamplerBasePointer = typename ImageRandomSamplerBaseType::Pointer
using | ImageRandomSamplerBaseType = ImageRandomSamplerBase<FixedImageType>
using | ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer
using | ImageSampleContainerType = typename ImageGridSamplerType ::ImageSampleContainerType
using | ImageSamplerBasePointer = typename ImageSamplerBaseType::Pointer
using | ImageSamplerBaseType = ImageSamplerBase<FixedImageType>
using | JacobianType = typename TransformType::JacobianType
using | JacobianValueType = typename JacobianType::ValueType
using | NumberOfParametersType = typename TransformType::NumberOfParametersType
using | ThreadInfoType = MultiThreaderBase::WorkUnitInfo
using | TransformJacobianType = JacobianType

## Protected Member Functions

| ComputePreconditionerUsingDisplacementDistribution ()
| ~ComputePreconditionerUsingDisplacementDistribution () override=default
Protected Member Functions inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
| ComputeDisplacementDistribution ()
virtual void | InitializeThreadingParameters ()
| itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedComputePerThreadStruct, AlignedComputePerThreadStruct)
| itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, ComputePerThreadStruct, PaddedComputePerThreadStruct)
void | LaunchComputeThreaderCallback () const
virtual void | SampleFixedImageForJacobianTerms (ImageSampleContainerPointer &sampleContainer)
virtual void | ThreadedCompute (ThreadIdType threadID)
| ~ComputeDisplacementDistribution () override=default
Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual void | GetScaledDerivative (const ParametersType &parameters, DerivativeType &derivative) const
virtual MeasureType | GetScaledValue (const ParametersType &parameters) const
virtual void | GetScaledValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
void | PrintSelf (std::ostream &os, Indent indent) const override
| ScaledSingleValuedNonLinearOptimizer ()
void | SetCurrentPosition (const ParametersType &param) override
virtual void | SetScaledCurrentPosition (const ParametersType &parameters)
| ~ScaledSingleValuedNonLinearOptimizer () override=default

## Protected Attributes

double | m_ConditionNumber {}
double | m_MaximumStepLength {}
double | m_RegularizationKappa {}
Protected Attributes inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
ScaledSingleValuedCostFunction::Pointer | m_CostFunction {}
DerivativeType | m_ExactGradient {}
FixedImageType::ConstPointer | m_FixedImage {}
FixedImageMaskConstPointer | m_FixedImageMask {}
FixedImageRegionType | m_FixedImageRegion {}
SizeValueType | m_NumberOfJacobianMeasurements {}
SizeValueType | m_NumberOfParameters {}
MultiThreaderBase::Pointer | m_Threader {}
TransformPointer | m_Transform {}
Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer
ScaledCostFunctionPointer | m_ScaledCostFunction {}
ParametersType | m_ScaledCurrentPosition {}

## Additional Inherited Members

Static Protected Member Functions inherited from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ComputeThreaderCallback (void *arg)

## Member Typedef Documentation

## ConstPointer

template<class TFixedImage, class TTransform>

using itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::ConstPointer = SmartPointer<const Self>

Definition at line 50 of file itkComputePreconditionerUsingDisplacementDistribution.h.

## CoordinateRepresentationType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::CoordinateRepresentationType

protected

Definition at line 176 of file itkComputeDisplacementDistribution.h.

## FixedImageIndexType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImageIndexType

protected

Definition at line 154 of file itkComputeDisplacementDistribution.h.

## FixedImageMaskConstPointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImageMaskConstPointer

Definition at line 81 of file itkComputeDisplacementDistribution.h.

## FixedImageMaskPointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImageMaskPointer

Definition at line 80 of file itkComputeDisplacementDistribution.h.

## FixedImageMaskType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImageMaskType

Definition at line 79 of file itkComputeDisplacementDistribution.h.

## FixedImagePixelType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImagePixelType

Definition at line 67 of file itkComputeDisplacementDistribution.h.

## FixedImagePointType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImagePointType

protected

Definition at line 155 of file itkComputeDisplacementDistribution.h.

## FixedImageRegionType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImageRegionType

Definition at line 70 of file itkComputeDisplacementDistribution.h.

## FixedImageType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::FixedImageType

typedef

Definition at line 66 of file itkComputeDisplacementDistribution.h.

## ImageFullSamplerPointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageFullSamplerPointer

protected

Definition at line 164 of file itkComputeDisplacementDistribution.h.

## ImageFullSamplerType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageFullSamplerType

protected

Definition at line 163 of file itkComputeDisplacementDistribution.h.

## ImageGridSamplerPointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageGridSamplerPointer

protected

Definition at line 170 of file itkComputeDisplacementDistribution.h.

## ImageGridSamplerType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageGridSamplerType

protected

Definition at line 169 of file itkComputeDisplacementDistribution.h.

## ImageRandomSamplerBasePointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageRandomSamplerBasePointer

protected

Definition at line 167 of file itkComputeDisplacementDistribution.h.

## ImageRandomSamplerBaseType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageRandomSamplerBaseType

protected

Definition at line 166 of file itkComputeDisplacementDistribution.h.

## ImageSampleContainerPointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageSampleContainerPointer

protected

Definition at line 172 of file itkComputeDisplacementDistribution.h.

## ImageSampleContainerType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageSampleContainerType

protected

Definition at line 171 of file itkComputeDisplacementDistribution.h.

## ImageSamplerBasePointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageSamplerBasePointer

protected

Definition at line 161 of file itkComputeDisplacementDistribution.h.

## ImageSamplerBaseType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::ImageSamplerBaseType

protected

Samplers.

Definition at line 160 of file itkComputeDisplacementDistribution.h.

## JacobianType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::JacobianType

protected

Definition at line 156 of file itkComputeDisplacementDistribution.h.

## JacobianValueType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::JacobianValueType

protected

Definition at line 157 of file itkComputeDisplacementDistribution.h.

## NonZeroJacobianIndicesType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::NonZeroJacobianIndicesType

Definition at line 82 of file itkComputeDisplacementDistribution.h.

## NumberOfParametersType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::NumberOfParametersType

protected

Definition at line 177 of file itkComputeDisplacementDistribution.h.

## Pointer

template<class TFixedImage, class TTransform>

using itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::Pointer = SmartPointer<Self>

Definition at line 49 of file itkComputePreconditionerUsingDisplacementDistribution.h.

## ScalesType

template<class TFixedImage, class TTransform>

using itk::ScaledSingleValuedNonLinearOptimizer::ScalesType

Definition at line 73 of file itkScaledSingleValuedNonLinearOptimizer.h.

## Self

template<class TFixedImage, class TTransform>

using itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::Self = ComputePreconditionerUsingDisplacementDistribution

Standard ITK.

Definition at line 47 of file itkComputePreconditionerUsingDisplacementDistribution.h.

## Superclass

template<class TFixedImage, class TTransform>

using itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::Superclass = ComputeDisplacementDistribution<TFixedImage, TTransform>

Definition at line 48 of file itkComputePreconditionerUsingDisplacementDistribution.h.

## TransformJacobianType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::TransformJacobianType

protected

Typedefs for support of sparse Jacobians and AdvancedTransforms.

Definition at line 175 of file itkComputeDisplacementDistribution.h.

## TransformPointer

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::TransformPointer

Definition at line 69 of file itkComputeDisplacementDistribution.h.

## TransformType

template<class TFixedImage, class TTransform>

using itk::ComputeDisplacementDistribution< TFixedImage, TTransform >::TransformType

Definition at line 68 of file itkComputeDisplacementDistribution.h.

## Constructor & Destructor Documentation

## ComputePreconditionerUsingDisplacementDistribution()

template<class TFixedImage, class TTransform>

itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::ComputePreconditionerUsingDisplacementDistribution | ( |  | ) |

protected

## ~ComputePreconditionerUsingDisplacementDistribution()

template<class TFixedImage, class TTransform>

itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::~ComputePreconditionerUsingDisplacementDistribution | ( |  | ) |

override protected default

## Member Function Documentation

## Compute() [1/2]

template<class TFixedImage, class TTransform>

void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::Compute | ( | const ParametersType & | mu,
|  | double & | jacg,
|  | double & | maxJJ,
|  | std::string | method )

override virtual

The main function that performs the computation. DO NOT USE.

Reimplemented from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >.

## Compute() [2/2]

template<class TFixedImage, class TTransform>

virtual void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::Compute | ( | const ParametersType & | mu,
|  | double & | maxJJ,
|  | ParametersType & | preconditioner )

virtual

The main function that performs the computation. The aims to be a generic function, working for all transformations.

## ComputeJacobiTypePreconditioner()

template<class TFixedImage, class TTransform>

void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::ComputeJacobiTypePreconditioner | ( | double & | maxJJ,
|  | ParametersType & | preconditioner )

## GetClassName()

template<class TFixedImage, class TTransform>

virtual const char * itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented from itk::ComputeDisplacementDistribution< TFixedImage, TTransform >.

## GetConditionNumber()

template<class TFixedImage, class TTransform>

virtual const double & itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::GetConditionNumber | ( |  | ) |

virtual

## GetMaximumStepLength()

template<class TFixedImage, class TTransform>

virtual const double & itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::GetMaximumStepLength | ( |  | ) |

virtual

## GetRegularizationKappa()

template<class TFixedImage, class TTransform>

virtual const double & itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::GetRegularizationKappa | ( |  | ) |

virtual

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage, class TTransform>

itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::ITK_DISALLOW_COPY_AND_MOVE | ( | ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform > |  | ) |

## itkStaticConstMacro()

template<class TFixedImage, class TTransform>

itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::itkStaticConstMacro | ( | FixedImageDimension | ,
|  | unsigned int | ,
|  | FixedImageType::ImageDimension | )

## New()

template<class TFixedImage, class TTransform>

Pointer itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::New | ( |  | ) |

static

Method for creation through the object factory.

## PreconditionerInterpolation()

template<class TFixedImage, class TTransform>

virtual void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::PreconditionerInterpolation | ( | ParametersType & | preconditioner | ) |

virtual

Interpolate the preconditioner, for the non-visited entries.

## SetConditionNumber()

template<class TFixedImage, class TTransform>

virtual void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::SetConditionNumber | ( | double | _arg | ) |

virtual

Set/get kappa for condition number.

## SetMaximumStepLength()

template<class TFixedImage, class TTransform>

virtual void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::SetMaximumStepLength | ( | double | _arg | ) |

virtual

Set/get maximum step length delta.

## SetRegularizationKappa()

template<class TFixedImage, class TTransform>

virtual void itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::SetRegularizationKappa | ( | double | _arg | ) |

virtual

Set/get kappa for regularization.

## Field Documentation

## m_ConditionNumber

template<class TFixedImage, class TTransform>

double itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::m_ConditionNumber {}

protected

Definition at line 131 of file itkComputePreconditionerUsingDisplacementDistribution.h.

## m_MaximumStepLength

template<class TFixedImage, class TTransform>

double itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::m_MaximumStepLength {}

protected

Definition at line 129 of file itkComputePreconditionerUsingDisplacementDistribution.h.

## m_RegularizationKappa

template<class TFixedImage, class TTransform>

double itk::ComputePreconditionerUsingDisplacementDistribution< TFixedImage, TTransform >::m_RegularizationKappa {}

protected

Definition at line 130 of file itkComputePreconditionerUsingDisplacementDistribution.h.

Generated on 1768596610 for elastix by 1.15.0 |