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

#include <ImFusion/CT/ConeBeamMetadata.h>

Data component for cone-beam projection metadata. More...

Inheritance diagram for ImFusion::CT::ConeBeamMetadata:

Detailed Description

Data component for cone-beam projection metadata.

Stores and manages geometric and acquisition parameters for cone-beam projection data.

Public Types

enum class  IntensityMode { Absorption , LinearAttenuation }

Public Member Functions

 ConeBeamMetadata (const ConeBeamMetadata &other)
 ConeBeamMetadata (ConeBeamMetadata &&other)=default
ConeBeamMetadata & operator= (const ConeBeamMetadata &other)
ConeBeamMetadata & operator= (ConeBeamMetadata &&other)=default
bool operator== (const ConeBeamMetadata &other) const
 Compares members for equality, for the geometry member only matrices for all frames are compared.
bool usingLegacyGeometry () const
void enableModernGeometry ()
 Enables the modern geometry representation, i.e. using SourceDataComponent and DetectorDataComponent instead of ConeBeamGeometry.
void disableModernGeometry ()
 Disables the modern geometry representation, i.e. using ConeBeamGeometry instead of SourceDataComponent and DetectorDataComponent .
void syncToModernGeometry ()
 Sync ConeBeamGeometry to the modern geometry representation.
ConeBeamGeometrygeometry ()
 Access to the geometric parameters.
const ConeBeamGeometrygeometry () const
 Read-only access to geometric parameters.
void delayGeneratorUpdateBegin ()
 Begin delay of the geometry update by the generator.
void delayGeneratorUpdateEnd ()
 End delay of the geometry update by the generator. If m_delayedUpdateRequired is true, an update will be triggered.
void setI0 (double i0)
 Deprecated functions.
double i0 () const
Public Member Functions inherited from ImFusion::DataComponent< ConeBeamMetadata >
std::unique_ptr< DataComponentBase > clone () const override
 Creates a clone of this data component.
std::unique_ptr< Subclass > cloneDerived () const
bool assign (const DataComponentBase &other) override
 Assigns the content of other to this data component.
bool equals (const DataComponentBase &other) const override
 Compares this data component to other for equality.
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::DataComponentWithParentInterface
 DataComponentWithParentInterface (const DataComponentWithParentInterface &)
 DataComponentWithParentInterface (const DataComponentWithParentInterface &&)
DataComponentWithParentInterface & operator= (const DataComponentWithParentInterface &)
DataComponentWithParentInterface & operator= (const DataComponentWithParentInterface &&)
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 const ConeBeamMetadata & get (const SharedImageSet &sis)
 Shortcut to get ConeBeamMetadata from a SharedImageSet.
static ConeBeamMetadata & get (SharedImageSet &sis)
 Shortcut to get ConeBeamMetadata from a SharedImageSet.

Public Attributes

Parameter< double > p_reconSize = {"reconSize", 0.0, this}
 Suggested reconstruction size in mm.
Parameter< IntensityModep_intensityMode = {"intensityMode", IntensityMode::LinearAttenuation, this}
 Intensity mode of the images.
Public Attributes inherited from ImFusion::Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.

Geometry generators

Parameter< std::optional< std::string > > p_selectedGenerator = {"selectedGenerator", std::nullopt, this}
 Index of the selected generator.
Parameter< bool > p_generatorUsesSelection = {"generatorUsesSelection", true, this}
 Index of the selected generator.
std::size_t numGenerators () const
const SubProperty< std::unique_ptr< GeometryGenerator > > * p_generator (const std::string &key) const
SubProperty< std::unique_ptr< GeometryGenerator > > * p_generator (const std::string &key)
std::string addGenerator (std::unique_ptr< GeometryGenerator > generator, bool select)
std::string addGenerator (std::unique_ptr< GeometryGenerator > generator, bool select, bool storeCurrentGeometryInHistory)
void removeGenerator (const std::string &key)
const SubProperty< std::unique_ptr< GeometryGenerator > > * selectedGenerator () const
SubProperty< std::unique_ptr< GeometryGenerator > > * selectedGenerator ()
void clearGenerators ()

Legacy parameters

Parameter< double > p_globalScaling = {"globalScaling", 1.0, this}
 Legacy parameter for the scaling of the reconstruction.
Parameter< double > p_i0 = {"i0", 0.0, this}
 Legacy parameter for the intensity mode.
Parameter< std::stringp_folder = {"folder", "", this}
 Legacy parameter storing the folder from which the data got loaded.

DataComponent interface

std::string id () const override
 Returns a unique string identifier for this type of data component.
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.
void setParentData (const Data *data) override

Additional Inherited Members

Protected Member Functions inherited from ImFusion::DataComponentBase
 DataComponentBase (const DataComponentBase &)=default
DataComponentBase & operator= (const DataComponentBase &other)=default
Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.
Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
Protected Attributes inherited from ImFusion::DataComponentWithParentInterface
const Datam_parentData = nullptr

Member Enumeration Documentation

◆ IntensityMode

Enumerator
Absorption 

Absorption mode, i.e. air is bright.

LinearAttenuation 

Linear attenuation mode, i.e. air is dark.

Member Function Documentation

◆ get() [1/2]

const ConeBeamMetadata & ImFusion::CT::ConeBeamMetadata::get ( const SharedImageSet & sis)
static

Shortcut to get ConeBeamMetadata from a SharedImageSet.

This method requires that the DataComponent exists in sis.components(). If this is not certain use Utils::isConeBeamData() to check first.

◆ get() [2/2]

ConeBeamMetadata & ImFusion::CT::ConeBeamMetadata::get ( SharedImageSet & sis)
static

Shortcut to get ConeBeamMetadata from a SharedImageSet.

This method requires that the DataComponent exists in sis.components(). If this is not certain use Utils::isConeBeamData() to check first.

◆ id()

std::string ImFusion::CT::ConeBeamMetadata::id ( ) const
overridevirtual

Returns a unique string identifier for this type of data component.

Note
To avoid conflicts make sure to include potential plugin names into this ID. Due to the modular architecture of the ImFusion library, uniqueness of IDs cannot be checked at compile time. However, DataComponentFactory will check the uniqueness of the ID during registration.

Implements ImFusion::DataComponentBase.

◆ configure()

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

Configure this object instance by de-serializing the given Properties.

The default implementation will do so automatically for all registered Parameter and SubProperty instances.

See also
configuration() for the inverse functionality

Reimplemented from ImFusion::Configurable.

◆ configuration()

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

Serialize the current object configuration into the given Properties object.

The default implementation will do so automatically for all registered Parameter and SubProperty instances.

See also
configure() for the inverse functionality

Reimplemented from ImFusion::Configurable.

◆ setParentData()

void ImFusion::CT::ConeBeamMetadata::setParentData ( const Data * data)
overridevirtual

◆ usingLegacyGeometry()

bool ImFusion::CT::ConeBeamMetadata::usingLegacyGeometry ( ) const
inline
Returns
true if the geometry is represented by ConeBeamGeometry, false if it is represented by SourceDataComponent and DetectorDataComponent.

◆ addGenerator() [1/2]

std::string ImFusion::CT::ConeBeamMetadata::addGenerator ( std::unique_ptr< GeometryGenerator > generator,
bool select )
Returns
The key of the added generator

◆ addGenerator() [2/2]

std::string ImFusion::CT::ConeBeamMetadata::addGenerator ( std::unique_ptr< GeometryGenerator > generator,
bool select,
bool storeCurrentGeometryInHistory )
Returns
The key of the added generator

◆ setI0()

void ImFusion::CT::ConeBeamMetadata::setI0 ( double i0)
inline

Deprecated functions.

Deprecated

◆ i0()

double ImFusion::CT::ConeBeamMetadata::i0 ( ) const
inline

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