ImFusion SDK 4.3
IterativeOSSolver Class Referenceabstract

#include <ImFusion/CT/Solver/IterativeOSSolver.h>

Abstract iterative solver with ordered subsets support. More...

+ Inheritance diagram for IterativeOSSolver:

Detailed Description

Abstract iterative solver with ordered subsets support.

Base class for iterative algorithms using ordered subsets (OS) for faster convergence.

Public Member Functions

 IterativeOSSolver (OptimizationProblem &problem)
 Constructor.
 
virtual ~IterativeOSSolver ()=0
 Destructor.
 
- Public Member Functions inherited from IterativeSolver
 IterativeSolver (OptimizationProblem &problem)
 Constructor.
 
virtual ~IterativeSolver ()=0
 Destructor.
 
- Public Member Functions inherited from Solver
 Solver (OptimizationProblem &problem)
 Default constructor.
 
 ~Solver () override=0
 Destructor.
 
CT::Status solve (Progress *p=nullptr)
 Solves a Problem.
 
virtual float defaultInitValue () const =0
 Return default initialization value for the current solver.
 
const OptimizationProblemproblem ()
 
const std::vector< std::unique_ptr< EventHandler > > & eventHandlers ()
 
void configure (const Properties *p) override
 Configure this object instance by de-serializing the given Properties.
 
void configuration (Properties *p) const override
 Serialize the current object configuration into the given Properties object.
 
- Public Member Functions inherited from Configurable
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
 
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
 
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 
 Configurable (const Configurable &rhs)
 
 Configurable (Configurable &&rhs) noexcept
 
Configurableoperator= (const Configurable &)
 
Configurableoperator= (Configurable &&) noexcept
 

Public Attributes

Parameter< int > p_subsetSize = {"subsetSize", 10, *this}
 Subset size for ordered subset (OS) approach.
 
Parameter< bool > p_nesterov = {"nesterov", false, *this}
 Enable Nesterov acceleration.
 
- Public Attributes inherited from IterativeSolver
Parameter< int > p_maxIterations = {"maxIterations", 5, *this}
 Maximal number of iterations.
 
- Public Attributes inherited from Solver
Parameter< bool > p_cropFan = {"cropFan", false, *this}
 Whether to apply CropFan in the end of computation.
 
Parameter< bool > p_forcePositivity = {"forcePositivity", false, *this}
 Whether to apply a positivity enforcement in the end of computation.
 
- Public Attributes inherited from Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
 

Protected Member Functions

std::vector< SelectioncreateSubSetSelection (const SharedImageSet *sis) const
 Creates subsets as instances of Selection objects. Result may depend on whether sis dynamic casts to SharedImageSet*.
 
Status runIterations (std::function< Status(const Selection &sel)> func, Progress *progress=nullptr)
 

Additional Inherited Members

- Protected Attributes inherited from Solver
OptimizationProblem m_problem
 View on the problem.
 
std::vector< std::unique_ptr< EventHandler > > m_eventHandlers
 Event handlers.
 
- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 

Constructor & Destructor Documentation

◆ IterativeOSSolver()

Constructor.

Parameters
problemOptimization problem to solve using ordered subsets

Member Data Documentation

◆ p_subsetSize

Parameter<int> p_subsetSize = {"subsetSize", 10, *this}

Subset size for ordered subset (OS) approach.

OS reconstruction is disabled if set to -1 or total number of projections


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close