ImFusion C++ SDK 4.4.0
ImFusion::CT::IterativeSolver Class Referenceabstract

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

Abstract base class for iterative solvers. More...

Inheritance diagram for ImFusion::CT::IterativeSolver:

Detailed Description

Abstract base class for iterative solvers.

Provides common interface and parameters for iterative reconstruction algorithms.

Public Member Functions

 IterativeSolver (OptimizationProblem &problem)
 Constructor.
virtual ~IterativeSolver ()=0
 Destructor.
Public Member Functions inherited from ImFusion::CT::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 ImFusion::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_maxIterations = {"maxIterations", 5, *this}
 Maximal number of iterations.
Public Attributes inherited from ImFusion::CT::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 ImFusion::Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.

Protected Member Functions

virtual Status runIterations (std::function< Status(int)> func, Progress *progress=nullptr)

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ IterativeSolver()

ImFusion::CT::IterativeSolver::IterativeSolver ( OptimizationProblem & problem)

Constructor.

Parameters
problemOptimization problem to solve

The documentation for this class was generated from the following file:
  • ImFusion/CT/Solver/IterativeSolver.h
Search Tab / S to search, Esc to close