ImFusion C++ SDK 4.5.0
ImFusion::CT::XRay2D3DRegistrationHistoryEntry Struct Reference

#include <ImFusion/CT/XRay2D3DRegistrationHistoryEntry.h>

Data structure for storing 2D-3D registration history. More...

Inheritance diagram for ImFusion::CT::XRay2D3DRegistrationHistoryEntry:

Detailed Description

Data structure for storing 2D-3D registration history.

Maintains registration state and parameters for undo/redo functionality.

Public Types

enum class  ComputationPhase { Undef = 0 , Original = 1 , Initialization = 2 , Optimization = 3 }
 This class is used to annotate stored ConeBeamGeometry instances to distinguish between the original geometry, geometry as set by initialization, and the result of an optimization.

Public Member Functions

 XRay2D3DRegistrationHistoryEntry (int id, const std::optional< ConeBeamGeometry > &geom, ComputationPhase computationPhase, std::unique_ptr< GeometryGenerator > generator)
 Constructor.
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 Attributes

Parameter< int > p_id = {"id", -1, *this}
Parameter< ComputationPhasep_computationPhase = {"computationPhase", ComputationPhase::Undef, *this}
Parameter< std::stringp_comment = {"comment", "", *this}
 An (optional) comment that is displayed in the controller.
SubProperty< std::unique_ptr< ConeBeamGeometry > > p_geom = {"Geometry", std::make_unique<ConeBeamGeometry>(), *this}
 Save explicit legacy geometry.
SubProperty< std::unique_ptr< GeometryGenerator > > p_geomGen = {"geometryGenerator", nullptr, *this}
 Save geometry generator.
std::vector< Propertiesp_shotProperties
 XRay2D3DRegistration saves properties for each shot with name Shot{i} here.
SubProperty< std::unique_ptr< detail::TrivialConfigurable > > p_volumeProperties
 Saved properties for the volume.
SubProperty< std::unique_ptr< detail::TrivialConfigurable > > p_initializationProperties
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::Utils::NotCopyable
 NotCopyable (NotCopyable &&) noexcept=default
NotCopyable & operator= (NotCopyable &&) noexcept=default
 NotCopyable (const NotCopyable &)=delete
NotCopyable & operator= (const NotCopyable &)=delete
Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.

Constructor & Destructor Documentation

◆ XRay2D3DRegistrationHistoryEntry()

ImFusion::CT::XRay2D3DRegistrationHistoryEntry::XRay2D3DRegistrationHistoryEntry ( int id,
const std::optional< ConeBeamGeometry > & geom,
ComputationPhase computationPhase,
std::unique_ptr< GeometryGenerator > generator )
inline

Constructor.

Parameters
idan identifier used for this history entry, should not be shared between different entries but is used mainly for display/retrieval of entries.
geomthe optional cone-beam geometry for this history entry
computationPhasesome context to when in the workflow this entry is created
generatorIdoptional Id of the associating geometry generator Further parameters also exist that can store more information

Member Function Documentation

◆ configure()

void ImFusion::CT::XRay2D3DRegistrationHistoryEntry::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::XRay2D3DRegistrationHistoryEntry::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.

Member Data Documentation

◆ p_volumeProperties

SubProperty<std::unique_ptr<detail::TrivialConfigurable> > ImFusion::CT::XRay2D3DRegistrationHistoryEntry::p_volumeProperties
Initial value:
= {"Volume",
*this}
T make_unique(T... args)

Saved properties for the volume.

◆ p_initializationProperties

SubProperty<std::unique_ptr<detail::TrivialConfigurable> > ImFusion::CT::XRay2D3DRegistrationHistoryEntry::p_initializationProperties
Initial value:
= {"Initialization",
*this}

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