Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Public Types | Public Member Functions | Protected Member Functions
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension > Class Template Reference

#include <itkPSMGradientDescentOptimizer.h>

+ Inheritance diagram for itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >:
+ Collaboration diagram for itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >:

Public Types

typedef PSMGradientDescentOptimizer Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef WeakPointer< const SelfConstWeakPointer
 
typedef PSMImageDomainWithGradients< TGradientNumericType, VDimension > DomainType
 
typedef PSMParticleSystem< VDimension > ParticleSystemType
 
typedef PSMCostFunction< VDimension > CostFunctionType
 
typedef CostFunctionType::VectorType VectorType
 
typedef ParticleSystemType::PointType PointType
 

Public Member Functions

 itkNewMacro (Self)
 
 itkTypeMacro (PSMGradientDescentOptimizer, Object)
 
 itkStaticConstMacro (Dimension, unsigned int, VDimension)
 
void StartOptimization ()
 
void StartJacobiOptimization ()
 
void StartGaussSeidelOptimization ()
 
void SetModeToGaussSeidel ()
 
void SetModeToJacobi ()
 
void StopOptimization ()
 
 itkGetMacro (NumberOfIterations, unsigned int)
 
 itkSetMacro (NumberOfIterations, unsigned int)
 
 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 (CostFunction, CostFunctionType)
 
 itkSetObjectMacro (CostFunction, CostFunctionType)
 

Protected Member Functions

 PSMGradientDescentOptimizer (const PSMGradientDescentOptimizer &)
 
const PSMGradientDescentOptimizeroperator= (const PSMGradientDescentOptimizer &)
 
void PrintSelf (std::ostream &os, Indent indent) const
 

Detailed Description

template<class TGradientNumericType, unsigned int VDimension>
class itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >

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

Definition at line 45 of file itkPSMGradientDescentOptimizer.h.

Member Typedef Documentation

template<class TGradientNumericType, unsigned int VDimension>
typedef PSMCostFunction<VDimension> itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::CostFunctionType

Type of the gradient function.

Definition at line 71 of file itkPSMGradientDescentOptimizer.h.

template<class TGradientNumericType, unsigned int VDimension>
typedef PSMImageDomainWithGradients<TGradientNumericType, VDimension> itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::DomainType

Type of the domain.

Definition at line 59 of file itkPSMGradientDescentOptimizer.h.

template<class TGradientNumericType, unsigned int VDimension>
typedef PSMParticleSystem<VDimension> itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::ParticleSystemType

Particle System type is based on the dimensionality.

Definition at line 68 of file itkPSMGradientDescentOptimizer.h.

template<class TGradientNumericType, unsigned int VDimension>
typedef ParticleSystemType::PointType itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::PointType

Point Type

Definition at line 77 of file itkPSMGradientDescentOptimizer.h.

template<class TGradientNumericType, unsigned int VDimension>
typedef PSMGradientDescentOptimizer itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::Self

Standard class typedefs

Definition at line 49 of file itkPSMGradientDescentOptimizer.h.

template<class TGradientNumericType, unsigned int VDimension>
typedef CostFunctionType::VectorType itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::VectorType

Numerical vector type.

Definition at line 74 of file itkPSMGradientDescentOptimizer.h.

Member Function Documentation

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkGetMacro ( NumberOfIterations  ,
unsigned  int 
)

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

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkGetMacro ( TimeStep  ,
double   
)

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

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkGetMacro ( MaximumNumberOfIterations  ,
unsigned  int 
)

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

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkGetMacro ( Tolerance  ,
double   
)

Get/Set the precision of the solution.

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkGetObjectMacro ( ParticleSystem  ,
ParticleSystemType   
)

Get/Set the ParticleSystem modified by this optimizer.

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkGetObjectMacro ( CostFunction  ,
CostFunctionType   
)

Get/Set the gradient function used by this optimizer.

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkNewMacro ( Self  )

Method for creation through the object factory.

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkStaticConstMacro ( Dimension  ,
unsigned  int,
VDimension   
)

Dimensionality of the domain of the particle system.

template<class TGradientNumericType, unsigned int VDimension>
itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::itkTypeMacro ( PSMGradientDescentOptimizer< TGradientNumericType, VDimension >  ,
Object   
)

Run-time type information (and related methods).

template<class TGradientNumericType, unsigned int VDimension>
void itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::StartOptimization ( )
inline

Start the optimization.

Definition at line 80 of file itkPSMGradientDescentOptimizer.h.

81  {
82  if (m_OptimizationMode == 0) { this->StartJacobiOptimization(); }
83  else { this->StartGaussSeidelOptimization(); }
84  }
template<class TGradientNumericType, unsigned int VDimension>
void itk::PSMGradientDescentOptimizer< TGradientNumericType, VDimension >::StopOptimization ( )
inline

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

Definition at line 94 of file itkPSMGradientDescentOptimizer.h.

95  { this->m_StopOptimization = true; }

The documentation for this class was generated from the following files: