ImFusion SDK 4.3

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

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

+ Inheritance diagram for 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 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 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 Member Functions inherited from 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 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.
 

Additional Inherited Members

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

Member Enumeration Documentation

◆ AdditionalWeights

enum class AdditionalWeights
strong
Enumerator
None 

No weights.

Member Function Documentation

◆ configure()

void configure ( const Properties * p)
overridevirtual

Set one or multiple properties.

Reimplemented from Configurable.

◆ configuration()

void configuration ( Properties * p) const
overridevirtual

Retrieve the properties of this object.

Reimplemented from Configurable.

◆ defaultInitValue()

float defaultInitValue ( ) const
inlineoverridevirtual

Return default initialization value for the current solver.

Implements Solver.

Member Data Documentation

◆ p_filterCacheMaxCost

Parameter<int> 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:
Search Tab / S to search, Esc to close