ImFusion C++ SDK 4.4.0
ImFusion::CT::MLEM Class Reference

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

MLEM (Maximum Likelihood Expectation Maximization) algorithm. More...

Inheritance diagram for ImFusion::CT::MLEM:

Detailed Description

MLEM (Maximum Likelihood Expectation Maximization) algorithm.

Statistical reconstruction algorithm for emission tomography data. Reference: Shepp, L. A. & Vardi, Y. Maximum Likelihood Reconstruction for Emission Tomography. IEEE T Med Imaging 1, 113–122 (1982).

Public Member Functions

 MLEM (OptimizationProblem &problem)
float defaultInitValue () const override
 Return default initialization value for the current solver.
Public Member Functions inherited from ImFusion::CT::IterativeOSSolver
 IterativeOSSolver (OptimizationProblem &problem)
 Constructor.
virtual ~IterativeOSSolver ()=0
 Destructor.
Public Member Functions inherited from ImFusion::CT::IterativeSolver
 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.
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

Static Public Member Functions

static bool isCompatible (const OptimizationProblem &problem)

Additional Inherited Members

Public Attributes inherited from ImFusion::CT::IterativeOSSolver
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 ImFusion::CT::IterativeSolver
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 inherited from ImFusion::CT::IterativeOSSolver
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)
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.

Member Function Documentation

◆ defaultInitValue()

float ImFusion::CT::MLEM::defaultInitValue ( ) const
inlineoverridevirtual

Return default initialization value for the current solver.

Implements ImFusion::CT::Solver.


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