ImFusion C++ SDK 4.4.0

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

FDK (Feldkamp-Davis-Kress) algorithm for cone-beam CT reconstruction. More...

Inheritance diagram for ImFusion::CT::FDK:

Detailed Description

FDK (Feldkamp-Davis-Kress) algorithm for cone-beam CT reconstruction.

Analytical reconstruction method using filtered backprojection for circular cone-beam geometry. Supports caching of filtered projections for efficiency.

Public Types

enum class  AdditionalWeights { None = 0 , Parker = 1 , Wang = 2 , ParkerAndWang = 3 }

Public Member Functions

 FDK (OptimizationProblem &problem)
virtual ~FDK () override
 Destructor.
void configure (const Properties *p) override
 Set one or multiple properties.
void configuration (Properties *p) const override
 Retrieve the properties of this object.
float defaultInitValue () const override
 Return default initialization value for the current solver.
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
Public Member Functions inherited from ImFusion::SignalReceiver
 SignalReceiver ()=default
 Default constructor.
 SignalReceiver (const SignalReceiver &other)
 Copy constructor, does not copy any existing signal connections from other.
SignalReceiveroperator= (SignalReceiver rhs)
 Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs.
virtual ~SignalReceiver ()
 Virtual destructor disconnects from all connected signals.

Static Public Member Functions

static bool isCompatible (const OptimizationProblem &problem)

Public Attributes

Parameter< int > p_subsetSize = {"subsetSize", 100, *this}
 Process p_subsetSize elements individually, if -1 or 0 processes everything at once.
Parameter< int > p_filterCacheMaxCost = {"filterCacheMaxCost", 0, *this}
 Size (in number of sotred objects) of cache.
Parameter< AdditionalWeightsp_additionalWeights = {"additionalWeights", AdditionalWeights::None, *this}
 Additional weights after filtering.
Parameter< bool > p_normalize = {"normalize", true, *this}
 If set to true the final reconstruction will be normlized with the number of rays passing through each voxel.
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.

Additional Inherited Members

Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.
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 Enumeration Documentation

◆ AdditionalWeights

Enumerator
None 

No weights.

Member Function Documentation

◆ configure()

void ImFusion::CT::FDK::configure ( const Properties * p)
overridevirtual

Set one or multiple properties.

Reimplemented from ImFusion::Configurable.

◆ configuration()

void ImFusion::CT::FDK::configuration ( Properties * p) const
overridevirtual

Retrieve the properties of this object.

Reimplemented from ImFusion::Configurable.

◆ defaultInitValue()

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

Return default initialization value for the current solver.

Implements ImFusion::CT::Solver.

Member Data Documentation

◆ p_filterCacheMaxCost

Parameter<int> ImFusion::CT::FDK::p_filterCacheMaxCost = {"filterCacheMaxCost", 0, *this}

Size (in number of sotred objects) of cache.

Warning: this is set to 0 whenever p_subsetSize is not -1 or 0


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