Skip to content

itk::ParticleGradientDescentPositionOptimizer

More...

#include <itkParticleGradientDescentPositionOptimizer.h>

Inherits from Object

Public Types

Name
typedef ParticleGradientDescentPositionOptimizer Self
typedef Object Superclass
typedef SmartPointer< Self > Pointer
typedef SmartPointer< const Self > ConstPointer
typedef WeakPointer< const Self > ConstWeakPointer
typedef shapeworks::ParticleImageDomainWithGradients< TGradientNumericType > DomainType
typedef ParticleSystem ParticleSystemType
typedef ParticleVectorFunction< VDimension > GradientFunctionType
typedef GradientFunctionType::VectorType VectorType
typedef ParticleSystemType::PointType PointType

Public Functions

Name
itkNewMacro(Self )
itkTypeMacro(ParticleGradientDescentPositionOptimizer , Object )
itkStaticConstMacro(Dimension , unsigned int , VDimension )
void StartOptimization()
void StartAdaptiveGaussSeidelOptimization()
void AugmentedLagrangianConstraints(VectorType & gradient, const PointType & pt, const size_t & dom, const double & maximumUpdateAllowed)
void StopOptimization()
void AbortProcessing()
itkGetMacro(NumberOfIterations , unsigned int )
itkSetMacro(NumberOfIterations , unsigned int )
void SetVerbosity(unsigned int val)
unsigned int GetVerbosity()
itkGetMacro(TimeStep , double )
itkSetMacro(TimeStep , double )
itkGetMacro(MaximumNumberOfIterations , unsigned int )
itkSetMacro(MaximumNumberOfIterations , unsigned int )
itkGetMacro(Tolerance , double )
itkSetMacro(Tolerance , double )
itkGetObjectMacro(ParticleSystem , ParticleSystemType )
itkSetObjectMacro(ParticleSystem , ParticleSystemType )
itkGetObjectMacro(GradientFunction , GradientFunctionType )
itkSetObjectMacro(GradientFunction , GradientFunctionType )

Protected Functions

Name
ParticleGradientDescentPositionOptimizer()
ParticleGradientDescentPositionOptimizer(const ParticleGradientDescentPositionOptimizer & )
const ParticleGradientDescentPositionOptimizer & operator=(const ParticleGradientDescentPositionOptimizer & )
void PrintSelf(std::ostream & os, Indent indent) const
virtual ~ParticleGradientDescentPositionOptimizer()

Detailed Description

template <class TGradientNumericType ,
unsigned int VDimension>
class itk::ParticleGradientDescentPositionOptimizer;

This class optimizes a list of particle system positions with respect to a specified energy function using a simple gradient descent strategy. A function which computes the gradient of the function with respect to particle position must be specified. The optimization performs Jacobi updates (each particle position is changed as soon as its new position is computed).

Public Types Documentation

typedef Self

typedef ParticleGradientDescentPositionOptimizer itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::Self;

Standard class typedefs

typedef Superclass

typedef Object itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::Superclass;

typedef Pointer

typedef SmartPointer<Self> itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::Pointer;

typedef ConstPointer

typedef SmartPointer<const Self> itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::ConstPointer;

typedef ConstWeakPointer

typedef WeakPointer<const Self> itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::ConstWeakPointer;

typedef DomainType

typedef shapeworks::ParticleImageDomainWithGradients<TGradientNumericType> itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::DomainType;

Type of the domain.

typedef ParticleSystemType

typedef ParticleSystem itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::ParticleSystemType;

Particle System type is based on the dimensionality.

typedef GradientFunctionType

typedef ParticleVectorFunction<VDimension> itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::GradientFunctionType;

Type of the gradient function.

typedef VectorType

typedef GradientFunctionType::VectorType itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::VectorType;

Numerical vector type.

typedef PointType

typedef ParticleSystemType::PointType itk::ParticleGradientDescentPositionOptimizer< TGradientNumericType, VDimension >::PointType;

Point Type

Public Functions Documentation

function itkNewMacro

itkNewMacro(
    Self 
)

Method for creation through the object factory.

function itkTypeMacro

itkTypeMacro(
    ParticleGradientDescentPositionOptimizer ,
    Object 
)

Run-time type information (and related methods).

function itkStaticConstMacro

itkStaticConstMacro(
    Dimension ,
    unsigned int ,
    VDimension 
)

Dimensionality of the domain of the particle system.

function StartOptimization

inline void StartOptimization()

Start the optimization.

function StartAdaptiveGaussSeidelOptimization

void StartAdaptiveGaussSeidelOptimization()

function AugmentedLagrangianConstraints

void AugmentedLagrangianConstraints(
    VectorType & gradient,
    const PointType & pt,
    const size_t & dom,
    const double & maximumUpdateAllowed
)

function StopOptimization

inline void StopOptimization()

Stop the optimization. This method sets a flag that aborts the StartOptimization method after the current iteration.

function AbortProcessing

inline void AbortProcessing()

function itkGetMacro

itkGetMacro(
    NumberOfIterations ,
    unsigned int 
)

Get/Set the number of iterations performed by the solver.

function itkSetMacro

itkSetMacro(
    NumberOfIterations ,
    unsigned int 
)

function SetVerbosity

inline void SetVerbosity(
    unsigned int val
)

function GetVerbosity

inline unsigned int GetVerbosity()

function itkGetMacro

itkGetMacro(
    TimeStep ,
    double 
)

Get/Set a time step parameter for the update. Each update is simply scaled by this value.

function itkSetMacro

itkSetMacro(
    TimeStep ,
    double 
)

function itkGetMacro

itkGetMacro(
    MaximumNumberOfIterations ,
    unsigned int 
)

Get/Set the maximum iterations to allow this solver to use.

function itkSetMacro

itkSetMacro(
    MaximumNumberOfIterations ,
    unsigned int 
)

function itkGetMacro

itkGetMacro(
    Tolerance ,
    double 
)

Get/Set the precision of the solution.

function itkSetMacro

itkSetMacro(
    Tolerance ,
    double 
)

function itkGetObjectMacro

itkGetObjectMacro(
    ParticleSystem ,
    ParticleSystemType 
)

Get/Set the ParticleSystem modified by this optimizer.

function itkSetObjectMacro

itkSetObjectMacro(
    ParticleSystem ,
    ParticleSystemType 
)

function itkGetObjectMacro

itkGetObjectMacro(
    GradientFunction ,
    GradientFunctionType 
)

Get/Set the gradient function used by this optimizer.

function itkSetObjectMacro

itkSetObjectMacro(
    GradientFunction ,
    GradientFunctionType 
)

Protected Functions Documentation

function ParticleGradientDescentPositionOptimizer

ParticleGradientDescentPositionOptimizer()

function ParticleGradientDescentPositionOptimizer

ParticleGradientDescentPositionOptimizer(
    const ParticleGradientDescentPositionOptimizer & 
)

function operator=

const ParticleGradientDescentPositionOptimizer & operator=(
    const ParticleGradientDescentPositionOptimizer & 
)

function PrintSelf

inline void PrintSelf(
    std::ostream & os,
    Indent indent
) const

function ~ParticleGradientDescentPositionOptimizer

inline virtual ~ParticleGradientDescentPositionOptimizer()

Updated on 2022-07-23 at 16:40:05 -0600