itk::ParticleGradientDescentPositionOptimizer
#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 17:50:02 -0600