ImFusion SDK 4.3
ConeBeamMetadata Class Reference

#include <ImFusion/CT/ConeBeamMetadata.h>

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

+ Inheritance diagram for 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
 
ConeBeamMetadataoperator= (const ConeBeamMetadata &other)
 
ConeBeamMetadataoperator= (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 DataComponent< ConeBeamMetadata >
std::unique_ptr< DataComponentBaseclone () const override
 Creates a clone of this data component.
 
std::unique_ptr< SubclasscloneDerived () 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 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 DataComponentWithParentInterface
 DataComponentWithParentInterface (const DataComponentWithParentInterface &)
 
 DataComponentWithParentInterface (const DataComponentWithParentInterface &&)
 
DataComponentWithParentInterfaceoperator= (const DataComponentWithParentInterface &)
 
DataComponentWithParentInterfaceoperator= (const DataComponentWithParentInterface &&)
 
- 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 const ConeBeamMetadataget (const SharedImageSet &sis)
 Shortcut to get ConeBeamMetadata from a SharedImageSet.
 
static ConeBeamMetadataget (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 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 DataComponentBase
 DataComponentBase (const DataComponentBase &)=default
 
DataComponentBaseoperator= (const DataComponentBase &other)=default
 
- Protected Member Functions inherited from SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.
 
- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 
- Protected Attributes inherited from DataComponentWithParentInterface
const Datam_parentData = nullptr
 

Member Enumeration Documentation

◆ IntensityMode

enum class IntensityMode
strong
Enumerator
Absorption 

Absorption mode, i.e. air is bright.

LinearAttenuation 

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

Member Function Documentation

◆ get() [1/2]

static const 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]

static 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 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 DataComponentBase.

◆ configure()

void 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 Configurable.

◆ configuration()

void 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 Configurable.

◆ setParentData()

void setParentData ( const Data * data)
overridevirtual

◆ usingLegacyGeometry()

bool 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 addGenerator ( std::unique_ptr< GeometryGenerator > generator,
bool select )
Returns
The key of the added generator

◆ addGenerator() [2/2]

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

◆ setI0()

void setI0 ( double i0)
inline

Deprecated functions.

Deprecated

◆ i0()

double i0 ( ) const
inline

The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close