DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::SolverBase< TPrecision > Class Template Reference

#include <itkSolverBase.h>

+ Inheritance diagram for itk::SolverBase< TPrecision >:
+ Collaboration diagram for itk::SolverBase< TPrecision >:

Detailed Description

template<class TPrecision>
class itk::SolverBase< TPrecision >

Base class for some optimization solvers using primal-dual updates.

Author
Jian Cheng (JC), jian..nosp@m.chen.nosp@m.g.198.nosp@m.3@gm.nosp@m.ail.c.nosp@m.om

Definition at line 39 of file itkSolverBase.h.

Public Types

typedef utl_shared_ptr< MatrixTypeMatrixPointer
 
typedef utl::NDArray< ValueType, 2 > MatrixType
 
typedef SmartPointer< SelfPointer
 
typedef SolverBase Self
 
typedef Object Superclass
 
typedef utl_shared_ptr< std::vector< ValueType > > ValueContainerPointer
 
typedef std::vector< ValueTypeValueContainerType
 
typedef TPrecision ValueType
 
typedef utl_shared_ptr< VectorTypeVectorPointer
 
typedef utl::NDArray< ValueType, 1 > VectorType
 

Public Member Functions

virtual void Clear ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual void EndSolve ()
 
virtual ValueType EvaluateCostFunction (const VectorType &x=VectorType()) const
 
virtual ValueType EvaluateCostFunction (const MatrixType &x=MatrixType()) const
 
virtual VectorType EvaluateGradientOfCostFunction (const VectorType &x) const
 
virtual const char * GetNameOfClass () const
 
virtual const VectorTypeGetx ()
 
virtual int GetXDimension () const
 
virtual void Initialize (const VectorType &xInitial=VectorType())
 
virtual void Solve (const VectorType &xInitial=VectorType())
 
virtual void Solve (const MatrixType &xInitial=MatrixType())
 
virtual void VerifyInputs () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual LightObject::Pointer InternalClone () const ITK_OVERRIDE
 
void PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE
 
 SolverBase ()
 
virtual ~SolverBase ()
 

Protected Attributes

VectorType m_x
 

Private Member Functions

void operator= (const Self &)
 
 SolverBase (const Self &)
 

Member Typedef Documentation

template<class TPrecision>
typedef utl_shared_ptr<MatrixType> itk::SolverBase< TPrecision >::MatrixPointer

Definition at line 56 of file itkSolverBase.h.

template<class TPrecision>
typedef utl::NDArray<ValueType,2> itk::SolverBase< TPrecision >::MatrixType

Definition at line 54 of file itkSolverBase.h.

template<class TPrecision>
typedef SmartPointer<Self> itk::SolverBase< TPrecision >::Pointer

Definition at line 45 of file itkSolverBase.h.

template<class TPrecision>
typedef SolverBase itk::SolverBase< TPrecision >::Self

Standard class typedefs.

Definition at line 43 of file itkSolverBase.h.

template<class TPrecision>
typedef Object itk::SolverBase< TPrecision >::Superclass

Definition at line 44 of file itkSolverBase.h.

template<class TPrecision>
typedef utl_shared_ptr<std::vector<ValueType> > itk::SolverBase< TPrecision >::ValueContainerPointer

Definition at line 59 of file itkSolverBase.h.

template<class TPrecision>
typedef std::vector<ValueType> itk::SolverBase< TPrecision >::ValueContainerType

Definition at line 58 of file itkSolverBase.h.

template<class TPrecision>
typedef TPrecision itk::SolverBase< TPrecision >::ValueType

Definition at line 51 of file itkSolverBase.h.

template<class TPrecision>
typedef utl_shared_ptr<VectorType> itk::SolverBase< TPrecision >::VectorPointer

Definition at line 57 of file itkSolverBase.h.

template<class TPrecision>
typedef utl::NDArray<ValueType,1> itk::SolverBase< TPrecision >::VectorType

Definition at line 55 of file itkSolverBase.h.

Constructor & Destructor Documentation

template<class TPrecision >
itk::SolverBase< TPrecision >::SolverBase ( )
protected

Definition at line 33 of file itkSolverBase.hxx.

References itk::SolverBase< TPrecision >::Solve().

+ Here is the call graph for this function:

template<class TPrecision>
virtual itk::SolverBase< TPrecision >::~SolverBase ( )
inlineprotectedvirtual

Definition at line 86 of file itkSolverBase.h.

References ITK_OVERRIDE.

template<class TPrecision>
itk::SolverBase< TPrecision >::SolverBase ( const Self )
private

Member Function Documentation

template<class TPrecision >
void itk::SolverBase< TPrecision >::Clear ( )
virtual
template<class TPrecision>
virtual::itk::LightObject::Pointer itk::SolverBase< TPrecision >::CreateAnother ( void  ) const
template<class TPrecision>
virtual void itk::SolverBase< TPrecision >::EndSolve ( )
inlinevirtual

Definition at line 67 of file itkSolverBase.h.

template<class TPrecision>
virtual ValueType itk::SolverBase< TPrecision >::EvaluateCostFunction ( const VectorType x = VectorType()) const
inlinevirtual

if x is not set, evaluate the cost function for m_x

Reimplemented in itk::L1RegularizedLeastSquaresFISTASolver< TPrecision >, and itk::L2RegularizedLeastSquaresSolver< TPrecision >.

Definition at line 70 of file itkSolverBase.h.

template<class TPrecision>
virtual ValueType itk::SolverBase< TPrecision >::EvaluateCostFunction ( const MatrixType x = MatrixType()) const
inlinevirtual

Reimplemented in itk::SpamsWeightedLassoSolver< TPrecision >.

Definition at line 71 of file itkSolverBase.h.

template<class TPrecision>
virtual VectorType itk::SolverBase< TPrecision >::EvaluateGradientOfCostFunction ( const VectorType x) const
inlinevirtual

if x is not set, evaluate the gradients of the cost function for m_x

Definition at line 73 of file itkSolverBase.h.

template<class TPrecision>
virtual const char* itk::SolverBase< TPrecision >::GetNameOfClass ( ) const
virtual
template<class TPrecision>
virtual const VectorType& itk::SolverBase< TPrecision >::Getx ( )
virtual
template<class TPrecision>
virtual int itk::SolverBase< TPrecision >::GetXDimension ( ) const
inlinevirtual
template<class TPrecision >
void itk::SolverBase< TPrecision >::Initialize ( const VectorType xInitial = VectorType())
virtual
template<class TPrecision >
LightObject::Pointer itk::SolverBase< TPrecision >::InternalClone ( ) const
protectedvirtual
template<class TPrecision>
static Pointer itk::SolverBase< TPrecision >::New ( )
static

Method for creation through the object factory.

template<class TPrecision>
void itk::SolverBase< TPrecision >::operator= ( const Self )
private
template<class TPrecision >
void itk::SolverBase< TPrecision >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected

Definition at line 92 of file itkSolverBase.hxx.

References utl::PrintUtlVector().

Referenced by itk::SolverBase< TPrecision >::InternalClone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class TPrecision >
void itk::SolverBase< TPrecision >::Solve ( const VectorType xInitial = VectorType())
virtual
template<class TPrecision>
virtual void itk::SolverBase< TPrecision >::Solve ( const MatrixType xInitial = MatrixType())
inlinevirtual

Definition at line 77 of file itkSolverBase.h.

template<class TPrecision>
virtual void itk::SolverBase< TPrecision >::VerifyInputs ( ) const
inlinevirtual

Member Data Documentation

template<class TPrecision>
VectorType itk::SolverBase< TPrecision >::m_x
protected

Nx1 vector primal variable

Definition at line 93 of file itkSolverBase.h.


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