![]() |
ImFusion SDK 4.3
|
#include <ImFusion/US/UltrasoundSimulation.h>
Ultrasound simulation from CT. More...
Inheritance diagram for UltrasoundSimulation:Ultrasound simulation from CT.
Public Member Functions | |
| UltrasoundSimulation (SharedImageSet *volume, UltrasoundSweep *sweep=nullptr, SharedImageSet *mask=nullptr) | |
| Constructor with volume to simulate from, and optional ultrasound sweep, and an optional image mask (compatible with volume) for locally suppressing reflections, e.g. | |
| ~UltrasoundSimulation () override | |
| Destructor. | |
| SharedImage * | result () |
| Access to the resulting ultrasound simulation image. | |
| UltrasoundSweep * | sweep () |
| Access the ultrasound sweep. | |
| void | setParameters (float attenuation, float gain, float noiseAmp, float noiseSize, float maskSuppression=0.8f, int kernelSize=4) |
| Set the simulation parameters. | |
| void | parameters (float &attenuation, float &gain, float &noiseAmp, float &noiseSize) const |
| Query the simulation parameters. | |
| void | setSlice (const Slice &slice) |
| Set the slice to compute simulation at. | |
| bool | sliceChanged () const |
| Return if the slice pose or size has changed since the last computation. | |
| SyntheticUltrasoundSweepAlgorithm * | syntheticSweepAlgorithm () |
| Get the synthetic ultrasound sweep algorithm. | |
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 |
Algorithm interface methods | |
| OwningDataList | takeOutput () override |
| Output the simulated image if there is no controller. | |
| UltrasoundSweep * | computeSweep () |
| Compute simulated sweep based on reference ultrasound data. | |
| void | compute () override |
| Compute the ultrasound simulation on one frame. | |
| static bool | createCompatible (const DataList &data, Algorithm **a=0) |
Configurable interface methods | |
| void | configure (const Properties *p) override |
| void | configuration (Properties *p) const override |
| Retrieve the simulation parameters. | |
Additional Inherited Members | |
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... | |
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. | |
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. | |
| UltrasoundSimulation | ( | SharedImageSet * | volume, |
| UltrasoundSweep * | sweep = nullptr, | ||
| SharedImageSet * | mask = nullptr ) |
Constructor with volume to simulate from, and optional ultrasound sweep, and an optional image mask (compatible with volume) for locally suppressing reflections, e.g.
in blood pools.
| volume | The CT volume to simulate from |
| sweep | Optional ultrasound sweep, if given, the simulation will be based on this sweep, otherwise the sweep will be computed based on the synthetic sweep algorithm |
| mask | Optional image mask for locally suppressing reflections, needs to be of the same size as the volume |
| void setParameters | ( | float | attenuation, |
| float | gain, | ||
| float | noiseAmp, | ||
| float | noiseSize, | ||
| float | maskSuppression = 0.8f, | ||
| int | kernelSize = 4 ) |
Set the simulation parameters.
| attenuation | The attenuation of the ultrasound signal at reflection points |
| gain | The gain of reflections |
| noiseAmp | The amplitude of the noise to add |
| noiseSize | The size of the noise pattern |
| maskSuppression | The amplitude of mask-based suppression (has no effect when mask is nullptr) |
| kernelSize | The half-size of the smoothing kernel |
| void parameters | ( | float & | attenuation, |
| float & | gain, | ||
| float & | noiseAmp, | ||
| float & | noiseSize ) const |
Query the simulation parameters.
| attenuation | The ultrasonic attenuation of the ultrasound signal at reflection points |
| gain | The gain of reflections |
| noiseAmp | The amplitude of the noise to add |
| noiseSize | The size of the noise pattern |
Check whether input data fits and create algorithm if asked to
|
overridevirtual |
Output the simulated image if there is no controller.
Reimplemented from Algorithm.
|
overridevirtual |
Compute the ultrasound simulation on one frame.
Implements Algorithm.
|
overridevirtual |
Configure the simulation parameters
Reimplemented from Configurable.
|
overridevirtual |
Retrieve the simulation parameters.
Reimplemented from Configurable.