![]() |
ImFusion SDK 4.3
|
#include <ImFusion/US/GlSweepCompounding.h>
Algorithm to reconstruct a voxel-based 3D volume from an UltrasoundSweep. More...
Inheritance diagram for GlSweepCompounding:Algorithm to reconstruct a voxel-based 3D volume from an UltrasoundSweep.
The algorithm internally uses GlSweepReconstruction for the actual reconstruction. GPU_BACKWARD is mapped to BACKWARD_COMPOUNDING, the other modes are mapped to ORTHOGONAL with different settings of setNearestNeighbor. See GlSweepReconstruction for more details.
This algorithm can operate in different modes:
Public Types | |
| enum class | Mode { GPU = 0 , GPU_NEAREST = 1 , GPU_BACKWARD = 8 , Reserved1 = 2 , Reserved2 = 3 , Reserved3 = 4 , Reserved4 = 5 , Reserved5 = 6 , Reserved6 = 7 } |
| Compounding method. More... | |
| enum class | BoundingBoxMode { GlobalCoordinates = 0 , FrameNormal = 1 , HeuristicAlignment = 2 , FitBoundingBox = 3 } |
| Bounding box calculation mode. More... | |
Public Types inherited from Algorithm | |
| enum | Status { Unknown = -1 , Success = 0 , Error = 1 , InvalidInput , IncompleteInput , OutOfMemoryHost , OutOfMemoryGPU , UnsupportedGPU , UnknownAction , AbortedByUser , User = 1000 } |
| Status codes. More... | |
Public Member Functions | |
| GlSweepCompounding (UltrasoundSweep &us) | |
| GlSweepCompounding (const std::vector< UltrasoundSweep * > &sweeps) | |
| Constructor with multiple sweeps. | |
| void | setMode (Mode mode) |
| Set compounding mode. | |
| int | memoryLimit () const |
| Returns the OpenGL video memory limit in MB for the compounded volume, ignored if <= 0. | |
| void | setMemoryLimit (int value) |
| Sets the OpenGL video memory limit in MB for the compounded volume, ignored if <= 0. | |
| void | setSpacing (double val) |
| Set custom isotropic voxel spacing for the output volume. | |
| void | setFrameThickness (double thicknessMm) |
| Set the slice thickness (mm) in GPU backward compounding mode; set to 0 to use automatic setting. | |
| void | setBackgroundIntensity (double val) |
| Set the intensity value of background. | |
| void | setMaximumBlendingDistance (std::optional< double > maxBlendingDistance) |
| Sets the distance over which the compounded sweep is blurred (default is no distance blending) - set to nullopt for no distance blending. | |
| void | setBoundingBoxMode (BoundingBoxMode bbm) |
| Specify the method for the bounding box calculation. | |
| void | setContainerImage (SharedImageSet *ref) |
| Set a container image to be used during compounding to reconstruct the volume into. | |
| void | setIndividualCompoundings (bool value) |
| If true, each sweep will be compounded into its own volume; otherwise, they will be combined into a single one. | |
| void | setVerbose (bool value) |
| Set whether to perform verbose logging. | |
| void | compute () override |
| Execute the algorithm. | |
| OwningDataList | takeOutput () override |
| Return any new Data that was created by the Algorithm during the last call to compute(). | |
| 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 Algorithm | |
| Algorithm () | |
| Default constructor will registers a single "compute" action that calls compute() and returns status(). | |
| virtual void | setProgress (Progress *progress) |
| Sets a Progress interface the algorithm can use to notify observers about its computing progress. | |
| Progress * | progress () const |
| Returns the progress interface if set. | |
| virtual int | status () const |
| Indicates the status of the last call to compute(). | |
| virtual bool | survivesDataDeletion (const Data *) const |
| Indicates whether the algorithm can handle (partial) deletion of the specified data, by default this checks whether the data is in the input list. | |
| const FactoryInfo & | factoryInfo () const |
| Returns the record describing how this Algorithm was instantiated by the AlgorithmFactory. | |
| void | setFactoryInfo (const FactoryInfo &value) |
| Sets the record describing how this Algorithm was instantiated by the AlgorithmFactory. | |
| Status | runAction (const std::string &id) |
Run the action with name id if it exists. | |
| const std::vector< Action > & | actions () |
| Get a mapping from Action id to Action as registered in this algorithm. | |
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 | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (Configurable &&) noexcept |
Static Public Member Functions | |
| static bool | createCompatible (const DataList &data, Algorithm **a=nullptr) |
Static Public Member Functions inherited from Algorithm | |
| static bool | createCompatible (const DataList &data, Algorithm **a=nullptr) |
| Factory function to check algorithm compatibility with input data and optionally instantiate it. | |
Additional Inherited Members | |
Public Attributes inherited from Algorithm | |
| Signal | signalOutputChanged |
| Signal should be emitted by Algorithms when their output/result has changed. | |
| Signal | signalParametersChanged |
| Signal should be emitted by Algorithms when their parameter configuration has changed. | |
Public Attributes inherited from Configurable | |
| Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
Protected Member Functions inherited from Algorithm | |
| void | loadDefaults () |
| void | registerAction (const std::string &id, const std::string &guiName, const std::function< Algorithm::Status(void)> &action) |
| Register an action to be run via runAction. | |
| template<typename D> | |
| void | registerAction (const std::string &id, const std::string &guiName, Algorithm::Status(D::*action)(void)) |
| Template version of runAction that can be used with a pointer to a member function. | |
| void | registerAction (const Action &action) |
| Register an action. | |
Protected Attributes inherited from Algorithm | |
| std::string | m_name |
| Algorithm name. | |
| Progress * | m_progress = nullptr |
| Non-owing pointer to a progress interface. May be a nullptr. | |
| FactoryInfo | m_factoryInfo = {} |
| Record describing how this algorithm was instantiated by the AlgorithmFactory. | |
| int | m_status = Status::Unknown |
| Algorithm status after last call to compute() | |
| std::vector< Action > | m_actions |
| Map of key given by the id of the action, of the available actions of this algorithm. | |
Protected Attributes inherited from Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
|
strong |
Compounding method.
|
strong |
Bounding box calculation mode.
| Enumerator | |
|---|---|
| GlobalCoordinates | Bounding box in global coordinates. |
| FrameNormal | Mean frame normal vector. |
| HeuristicAlignment | Combination of frame normal and PCA of center points. |
| FitBoundingBox | Fitted minimal bounding box. |
|
inline |
Set custom isotropic voxel spacing for the output volume.
If set to zero, the optimal spacing is automatically derived from the pixel spacing of the input slice data.
| void setContainerImage | ( | SharedImageSet * | ref | ) |
Set a container image to be used during compounding to reconstruct the volume into.
If no container image is set, a new output volume will be created.
|
overridevirtual |
Execute the algorithm.
Implements Algorithm.
|
overridevirtual |
|
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.
Reimplemented from Configurable.
|
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.
Reimplemented from Configurable.