go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
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 >:

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 doubleGetConditionNumber ()
 
virtual const doubleGetMaximumStepLength ()
 
virtual const doubleGetRegularizationKappa ()
 
 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 FixedImageMaskTypeGetFixedImageMask ()
 
virtual const FixedImageRegionTypeGetFixedImageRegion ()
 
 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 ScaledCostFunctionTypeGetScaledCostFunction ()
 
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>

◆ 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>

◆ 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>

◆ 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 ( )
overrideprotecteddefault

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 )
overridevirtual

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 >
static 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

◆ m_MaximumStepLength

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

◆ m_RegularizationKappa

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


Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo