Skip to content

shapeworks::GradientDescentOptimizer

Inherits from itk::Object

Public Types

Name
using float TGradientNumericType
typedef GradientDescentOptimizer Self
typedef itk::Object Superclass
typedef itk::SmartPointer< Self > Pointer
typedef itk::SmartPointer< const Self > ConstPointer
typedef itk::WeakPointer< const Self > ConstWeakPointer
typedef shapeworks::ImageDomainWithGradients< TGradientNumericType > DomainType
typedef ParticleSystem ParticleSystemType
typedef VectorFunction 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, size_t index)
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 )
void SetInitializationMode(bool b)
Determines if this is an initialization (true) or an optimization (false)
void SetCheckIterations(size_t si)
Sets the number of iterations when we check for convergence.
void SetInitializationStartScalingFactor(double si)
Sets the scaling factor at the beginning of the initialization.

Protected Functions

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

Public Attributes

Name
constexpr static unsigned int VDimension

Public Types Documentation

using TGradientNumericType

using shapeworks::GradientDescentOptimizer::TGradientNumericType =  float;

typedef Self

typedef GradientDescentOptimizer shapeworks::GradientDescentOptimizer::Self;

Standard class typedefs

typedef Superclass

typedef itk::Object shapeworks::GradientDescentOptimizer::Superclass;

typedef Pointer

typedef itk::SmartPointer<Self> shapeworks::GradientDescentOptimizer::Pointer;

typedef ConstPointer

typedef itk::SmartPointer<const Self> shapeworks::GradientDescentOptimizer::ConstPointer;

typedef ConstWeakPointer

typedef itk::WeakPointer<const Self> shapeworks::GradientDescentOptimizer::ConstWeakPointer;

typedef DomainType

typedef shapeworks::ImageDomainWithGradients<TGradientNumericType> shapeworks::GradientDescentOptimizer::DomainType;

Type of the domain.

typedef ParticleSystemType

typedef ParticleSystem shapeworks::GradientDescentOptimizer::ParticleSystemType;

Particle System type is based on the dimensionality.

typedef GradientFunctionType

typedef VectorFunction shapeworks::GradientDescentOptimizer::GradientFunctionType;

Type of the gradient function.

typedef VectorType

typedef GradientFunctionType::VectorType shapeworks::GradientDescentOptimizer::VectorType;

Numerical vector type.

typedef PointType

typedef ParticleSystemType::PointType shapeworks::GradientDescentOptimizer::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,
    size_t index
)

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 
)

function SetInitializationMode

inline void SetInitializationMode(
    bool b
)

Determines if this is an initialization (true) or an optimization (false)

function SetCheckIterations

inline void SetCheckIterations(
    size_t si
)

Sets the number of iterations when we check for convergence.

function SetInitializationStartScalingFactor

inline void SetInitializationStartScalingFactor(
    double si
)

Sets the scaling factor at the beginning of the initialization.

Protected Functions Documentation

function GradientDescentOptimizer

GradientDescentOptimizer()

function GradientDescentOptimizer

GradientDescentOptimizer(
    const GradientDescentOptimizer & 
)

function operator=

const GradientDescentOptimizer & operator=(
    const GradientDescentOptimizer & 
)

function PrintSelf

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

function ~GradientDescentOptimizer

inline virtual ~GradientDescentOptimizer()

Public Attributes Documentation

variable VDimension

static constexpr static unsigned int VDimension = 3;

Updated on 2024-03-17 at 12:58:44 -0600