ImFusion SDK 4.3
GeometryGenerator Class Referenceabstract

#include <ImFusion/CT/Geometry/GeometryGenerator.h>

Base class for X-ray geometry generators. More...

+ Inheritance diagram for GeometryGenerator:

Detailed Description

Base class for X-ray geometry generators.

Generators compute and apply geometric parameters to cone-beam projection data.

Generators have two main tasks:

  1. Compute the full geometry representation for each frame in the SharedImageSet from a given representation within the generator. E.g. from a parametric description.
  2. Fit a representation to the geometry of a given SharedImageSet. For this purpose the generator needs to provide a constructor that takes a SharedImageSet as input.

Full geometry includes source/detector positions and world-to-detector transforms.

Note
Implementations must provide constructor accepting SharedImageSet input.

Public Member Functions

 GeometryGenerator (const SharedImageSet &sis)
 
void configuration (Properties *p) const override
 Serialize the current object configuration into the given Properties object.
 
std::vector< GeometryUtils::FullGeometryRepresentationcomputeFullGeometryRepresentation (const SharedImageSet &sis) const
 Compute the full geometry representation for all frames in the SharedImageSet.
 
GeometryUtils::FullGeometryRepresentation computeFullGeometryRepresentation (const SharedImageSet &sis, int frame) const
 Compute the full geometry representation for a single frame in the SharedImageSet.
 
virtual std::unique_ptr< GeometryGeneratorclone () const =0
 Factory method to create a clone of the generator.
 
virtual std::string id () const =0
 Provides a unique identifier for the generator.
 
std::unique_ptr< ParameterWrapperBasecreateParameterWrapper (SharedImageSet &sis) const
 Generates a ParameterWrapperBase for the generator.
 
bool operator== (const GeometryGenerator &other)
 Compares members for equality.
 
- Public Member Functions inherited from Configurable
virtual void configure (const Properties *p)
 Configure this object instance by de-serializing the given Properties.
 
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
 

Additional Inherited Members

- Public Attributes inherited from Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
 
- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 

Member Function Documentation

◆ 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.

Reimplemented in PerFrameTransformationGeneratorBase, MotionModelGenerator, and SnapshotGenerator.

◆ computeFullGeometryRepresentation() [1/2]

std::vector< GeometryUtils::FullGeometryRepresentation > computeFullGeometryRepresentation ( const SharedImageSet & sis) const

Compute the full geometry representation for all frames in the SharedImageSet.

Parameters
sisThe SharedImageSet to compute the geometry for.
Returns
A vector of FullGeometryRepresentation for each frame in the SharedImageSet.
Note
Can utilize DetectorDataComponent::p_persistentIndex to keep track of the original index of the frame.
The implementation calls computeFullGeometryRepresentation(const SharedImageSet&, int) for each frame.

◆ computeFullGeometryRepresentation() [2/2]

GeometryUtils::FullGeometryRepresentation computeFullGeometryRepresentation ( const SharedImageSet & sis,
int frame ) const

Compute the full geometry representation for a single frame in the SharedImageSet.

Parameters
sisThe SharedImageSet to compute the geometry for.
frameThe frame to compute the geometry for.
Returns
The FullGeometryRepresentation for the given frame.

◆ clone()

◆ id()

virtual std::string id ( ) const
pure virtual

◆ createParameterWrapper()

std::unique_ptr< ParameterWrapperBase > createParameterWrapper ( SharedImageSet & sis) const

Generates a ParameterWrapperBase for the generator.

Note
Considers selection

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