![]() |
ImFusion SDK 4.3
|
#include <ImFusion/CT/Solver/IterativeOSSolver.h>
Abstract iterative solver with ordered subsets support. More...
Inheritance diagram for IterativeOSSolver: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 OptimizationProblem & | problem () |
| 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 | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (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< Selection > | createSubSetSelection (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< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
| IterativeOSSolver | ( | OptimizationProblem & | problem | ) |
Constructor.
| problem | Optimization problem to solve using ordered subsets |
| 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