ImFusion SDK 4.3
ParametricGeometryGenerator Class Reference

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

Parametric geometry generator for regular CBCT acquisition trajectories. More...

+ Inheritance diagram for ParametricGeometryGenerator:

Detailed Description

Parametric geometry generator for regular CBCT acquisition trajectories.

Defines cone-beam geometry using parametric description (angular range, source-detector distance, etc.).

Public Member Functions

 ParametricGeometryGenerator (const ConeBeamGeometry &geom)
 
 ParametricGeometryGenerator (const SharedImageSet &sis)
 
std::unique_ptr< GeometryGeneratorclone () const override
 Factory method to create a clone of the generator.
 
std::string id () const override
 Provides a unique identifier for the generator.
 
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.
 
- Public Member Functions inherited from GlobalTransformationGeneratorBase
 GlobalTransformationGeneratorBase (const SharedImageSet &sis)
 
- Public Member Functions inherited from GeometryGenerator
 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.
 
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
 

Static Public Member Functions

static ParametricGeometryGenerator getOrFitParametricGeometry (const SharedImageSet &sis)
 If:
 

Trajectory parameters

Parameter< double > p_sourceDetDistance = {"sourceDetDistance", 0.0, this}
 Source to center of detector distance (in mm)
 
Parameter< double > p_sourcePatDistance = {"sourcePatDistance", 0.0, this}
 Source to patient distance (in mm)
 
Parameter< double > p_angleRange = {"angleRange", 0.0, this}
 Entire rotation range in degrees.
 

Detector parameters

Parameter< double > p_detSrcXShift = {"detSrcXShift", 0.0, this}
 Horizontal detector AND source shift in x direction (in mm)
 
Parameter< double > p_detRotation = {"detRotation", 0.0, this}
 Detector rotation in degrees.
 
Parameter< vec2 > p_detShear
 Detector shear, i.e. principal point offset x in mm.
 

Additional Inherited Members

- Public Attributes inherited from GlobalTransformationGeneratorBase
SubProperty< RelativeTransformationSetupWrapperp_transformationSetup
 The transformation.
 
- 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

◆ getOrFitParametricGeometry()

static ParametricGeometryGenerator getOrFitParametricGeometry ( const SharedImageSet & sis)
static

If:

  • the geometry is legacy, return the legacy geometry converted to parametric geometry
  • the geometry is parametric, return the parametric geometry
  • the geometry is not parametric, fit a parametric geometry and return it

◆ clone()

std::unique_ptr< GeometryGenerator > clone ( ) const
overridevirtual

Factory method to create a clone of the generator.

Implements GeometryGenerator.

◆ id()

std::string id ( ) const
inlineoverridevirtual

Provides a unique identifier for the generator.

Implements GeometryGenerator.

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

Member Data Documentation

◆ p_detShear

Parameter<vec2> p_detShear
Initial value:
= {
"detShear",
vec2::Zero(),
this}

Detector shear, i.e. principal point offset x in mm.

Note
In contrast to the legacy ConeBeamGeometry, the offset in y is pointing down.

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