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

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

Geometry generator using motion models for complex trajectories. More...

Inheritance diagram for ImFusion::CT::MotionModelGenerator:

Detailed Description

Geometry generator using motion models for complex trajectories.

Stores and manages geometry data for SharedImageSet using motion model representations.

Public Types

using Base = detail::RelativeGeneratorMixin<GeometryGenerator>

Public Member Functions

 MotionModelGenerator (const MotionModelGenerator &other)
 MotionModelGenerator (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.
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.
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 ImFusion::CT::detail::RelativeGeneratorMixin< GeometryGenerator >
 RelativeGeneratorMixin (const SharedImageSet &sis)
 RelativeGeneratorMixin (const RelativeGeneratorMixin &other)
RelativeGeneratorMixin & operator= (const RelativeGeneratorMixin &other)=delete
void configure (const Properties *p) override
Public Member Functions inherited from ImFusion::CT::GeometryGenerator
 GeometryGenerator (const SharedImageSet &sis)
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 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

SubProperty< RelativeTransformationConfigp_transformationConfig
 The transformation configuration.
SubProperty< MotionModelp_motionModel = {"motionModel", 1, this}
 The motion model to use for the geometry generation.
std::vector< Parameter< mat4 > > p_controlPointTransforms
 Transformation per control point of the MotionModel. The SubProperties have the name "controlPointTransform-" + index of the control point.
std::vector< Parameter< double > > p_controlPointLocations
 Locations per control point of the MotionModel. The SubProperties have the name "controlPointLocation-" + index of the control point.
Public Attributes inherited from ImFusion::CT::detail::RelativeGeneratorMixin< GeometryGenerator >
SubProperty< std::unique_ptr< GeometryGenerator > > p_generator
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::CT::detail::RelativeGeneratorMixin< GeometryGenerator >
bool isEqual (const GeometryGenerator &rhs) override
Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.

Member Function Documentation

◆ clone()

std::unique_ptr< GeometryGenerator > ImFusion::CT::MotionModelGenerator::clone ( ) const
overridevirtual

Factory method to create a clone of the generator.

Implements ImFusion::CT::GeometryGenerator.

◆ id()

std::string ImFusion::CT::MotionModelGenerator::id ( ) const
inlineoverridevirtual

Provides a unique identifier for the generator.

Implements ImFusion::CT::GeometryGenerator.

◆ configure()

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

◆ computeFullGeometryRepresentation() [1/2]

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]

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_transformationConfig

SubProperty<RelativeTransformationConfig> ImFusion::CT::MotionModelGenerator::p_transformationConfig
Initial value:
= {"transformationConfig",
this}
Configuration structure for relative transformation setup.
Definition RelativeTransformationSetupWrapper.h:14

The transformation configuration.


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