ImFusion C++ SDK 4.5.0
ImFusion::US::ProcessUltrasoundController Class Reference

#include <ImFusion/US/ProcessUltrasoundController.h>

Controller for editing ProcessUltrasound parameters and frame geometry. More...

Inheritance diagram for ImFusion::US::ProcessUltrasoundController:

Detailed Description

Controller for editing ProcessUltrasound parameters and frame geometry.

Controller can be embedded in other controllers, such as ProcessUltrasoundStreamDataController. It exposes crop, mask, depth, and related options, hosts FrameGeometryWidget, and shows the frame-geometry outline on ImageView2D for interactive editing when allowed. Disables geometry editing while crop, mask, or depth is on. Can embed RemoveDuplicateFrames settings and optional depth linking.

See also
ProcessUltrasound
ProcessUltrasoundClipController
ProcessUltrasoundStreamController

Public Types

enum class  Visualization { Original , Processed }
 Selects which geometry feeds the on-screen fan outline. More...
Public Types inherited from ImFusion::Controller
enum class  Location : int {
  Unknown = -1 , Naked = 0 , PrimaryDock = 1 , SecondaryDock = 2 ,
  Detached = 3 , ToolBar = 4 , UserLocation = 100
}
 Enumeration of possible placement/decoration options of a Controller. More...

Public Slots

void updateGUI ()
 Refreshes widgets from the current ProcessUltrasound state (parameters, margins, enabled controls).

Signals

void parametersChanged ()
 Emitted after ProcessUltrasound parameters or interaction rules change (mirrors internal onParametersChanged forwarding).

Public Member Functions

 ProcessUltrasoundController (ProcessUltrasound *processUltrasound)
void init () override
 Two-step initialization function to be implemented by subclasses.
void setShowFanGeometry (bool newValue)
 Enables or suppresses adding the GlFanGeometry outline to the 2D view (subject to the user outline checkbox).
void setAllowInteraction (bool newValue)
 Sets whether manipulators may edit the geometry when the outline is shown.
void showButtonLinkDepth (bool newValue)
 Shows or hides the optional control that links imaging depth to rescaled geometry depth when editing.
Visualization visualization () const
 Returns which geometry space is preferred for drawing the fan outline.
void setVisualization (const Visualization &visualization)
 Sets which geometry space is preferred for drawing the fan outline.
std::string title () const override
 Returns the shown widget title if the controller is shown in a mode that supports this (e.g. when in dock).
Public Member Functions inherited from ImFusion::Controller
void setMainWindowBase (MainWindowBase *mw)
 Complete the initialization by providing the parent MainWindowBase instance hosting the controller by setting m_main and m_disp and eventually call init().
virtual void onSelectedDataChanged (const DataList &)
 Called by MainWindowBase in the case that the selection in the data model has changed.
virtual void onVisibleDataChanged (const DataList &)
 Called by MainWindowBase in the case that the currently visible data has changed.
virtual std::vector< LocationsupportedLocations () const
 Returns the list of locations in which this controller is allowed to be placed by the parent MainWindowBase.
virtual Location preferredLocation () const
 Returns the preferred location in which the parent MainWindowBase should place this controller.
virtual void onLocationChanged (Location newLocation)
 Callback function called by the parent MainWindowBase/ControllerDecorator whenever the place was changed.
Location location () const
 Convenience function to query the current controller Location from the parent ControllerDecorator.
ControllerDecoratorgetDecorator () const
 Convenience function to return m_main->getControllerDecorator(this) if m_main is set or nullptr otherwise.
template<typename T>
T * getDecorator () const
 Convenience function to dynamic_cast the return value of getDecorator() to a derived type.
Public Member Functions inherited from ImFusion::Configurable
virtual void configure (const Properties *p)
 Configure this object instance by de-serializing the given Properties.
virtual void configuration (Properties *p) const
 Serialize the current object configuration into the given Properties object.
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 Member Functions inherited from ImFusion::SignalReceiver
 SignalReceiver ()=default
 Default constructor.
 SignalReceiver (const SignalReceiver &other)
 Copy constructor, does not copy any existing signal connections from other.
SignalReceiveroperator= (SignalReceiver rhs)
 Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs.
virtual ~SignalReceiver ()
 Virtual destructor disconnects from all connected signals.

Additional Inherited Members

Public Attributes inherited from ImFusion::Controller
Signal signalTitleChanged
 Signal emitted when the title() has changed.
Public Attributes inherited from ImFusion::Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.
Protected Attributes inherited from ImFusion::Controller
MainWindowBasem_main = nullptr
 The parent MainWindowBase instance hosting this Controller.
DisplayWidgetMultim_disp = nullptr
 The main DisplayWidget instance, convenience shortcut for m_main->display().
Protected Attributes inherited from ImFusion::Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.

Member Enumeration Documentation

◆ Visualization

Selects which geometry feeds the on-screen fan outline.

Enumerator
Original 

Always uses ProcessUltrasound::frameGeometry() for the outline.

Processed 

Uses ProcessUltrasound::frameGeometryProcessed() when applyCrop or applyDepth is on, otherwise input geometry.

Constructor & Destructor Documentation

◆ ProcessUltrasoundController()

ImFusion::US::ProcessUltrasoundController::ProcessUltrasoundController ( ProcessUltrasound * processUltrasound)
explicit
Parameters
processUltrasoundNon-null ProcessUltrasound instance whose parameters and geometry this widget edits.

Member Function Documentation

◆ init()

void ImFusion::US::ProcessUltrasoundController::init ( )
overridevirtual

Two-step initialization function to be implemented by subclasses.

This function is called by setMainWindowBase() after the m_disp and m_main attributes have been set and hence a complete initialization of the controller is possible at this point.

Implements ImFusion::Controller.

◆ setAllowInteraction()

void ImFusion::US::ProcessUltrasoundController::setAllowInteraction ( bool newValue)

Sets whether manipulators may edit the geometry when the outline is shown.

The implementation also forces this off while crop, mask, or depth processing is enabled.

◆ title()

std::string ImFusion::US::ProcessUltrasoundController::title ( ) const
inlineoverridevirtual

Returns the shown widget title if the controller is shown in a mode that supports this (e.g. when in dock).

Implements ImFusion::Controller.


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