ImFusion C++ SDK 4.5.0
ImFusion::CT::XRay2D3DRegistrationAlgorithmController Class Reference

#include <ImFusion/CT/GUI/XRay2D3DRegistrationAlgorithmController.h>

Controller for the XRay2D3DRegistrationAlgorithm. More...

Inheritance diagram for ImFusion::CT::XRay2D3DRegistrationAlgorithmController:

Detailed Description

Public Slots

void onSceneChanged ()
 This should be run if anything related to the scene (e.g. annotations, pose, etc.) has been updated.
void onResolutionLevelChanged (int currentResolution)
 This is triggered by XRay2D3DRegistrationAlgorithm::signalResolutionLevelChanged.

Signals

void sceneChanged ()

Public Member Functions

 XRay2D3DRegistrationAlgorithmController (XRay2D3DRegistrationAlgorithm *alg, ViewGroup *viewGroup=nullptr, ImageView2D *shotView=nullptr)
 Constructor with algorithm instance.
 ~XRay2D3DRegistrationAlgorithmController () override
 Destructor.
void init () override
 Two-step initialization function to be implemented by subclasses.
void onCompute () override
void updatePropertiesWidget () override
void onParameterChanged (const std::string &paramName) override
void onAlgorithmParametersChanged () override
 Implementation of the AlgorithmListener interface.
void dataRemoved (Data *data)
 Implementation of DataListener interface.
void setCustomInitializationController (std::unique_ptr< XRay2D3DRegistrationInitializationController > &&controller)
 Set the widget to be used in the controller for the CUSTOM initialization mode.
ImageView2DshotsView ()
 Getter/setter methods.
ViewGroupregViewGroup ()
Public Member Functions inherited from ImFusion::DefaultAlgorithmController
 DefaultAlgorithmController (Algorithm *algo, const QString &uiTemplate="", bool configureOnChanged=false, bool autoDeleteAfterCompute=false)
void setAutoDeleteAfterCompute (bool enable)
 Sets if the algorithm will be deleted after onCompute() was called.
void setConfigureOnChanged (bool enable)
 Sets if the algorithm should be re-configured with each changed value.
void hideComputeButton (bool hide)
 Hides or shows the compute button.
void setAddAlgorithmToHistory (bool toggle)
 Enable/disable algorithm registration on compute.
virtual void copyAlgorithmConfiguration () const
 Copy the algorithm configuration as currently shown in the controller to the clipboard.
virtual void pasteAlgorithmConfiguration ()
 Paste the algorithm configuration from the clipboard.
void setSplitCamelCase (bool enable)
 Calls PropertiesWidget::setSplitCamelCase(enabled) on m_propertiesWidget.
void setCustomWidget (const std::string &subPropertyName, std::unique_ptr< QWidget > widget)
 Assign a custom widget to the subproperty.
OptimizationDialogoptimizationDialog () const
 Getter for the OptimizationDialog.
Public Member Functions inherited from ImFusion::AlgorithmController
 AlgorithmController (Algorithm *algorithm)
 Creates a new AlgorithmController wrapping the given algorithm, which must not be null.
const Algorithmalgorithm () const
 Returns the underlying Algorithm instance.
Algorithmalgorithm ()
void showInputData ()
 Shows the input data in the DisplayWidget.
InputDataVisibility showsInputData ()
 Checks if the input data is currently visible in the DisplayWidget.
void showHelp ()
 Attempts to open the user documentation page for the underlying algorithm.
std::optional< Filesystem::PathhelpPath () const
 Returns the path to the user documentation page if it is available, std::nullopt otherwise.
std::string title () const override
 Returns the original factory name of the underlying Algorithm.
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.

Protected Slots

void onOptDialogRun ()
 This is called when "Run" is clicked in optimization dialog.

Protected Attributes

XRay2D3DRegistrationAlgorithmm_regAlg
 Non-owning pointer to the registration algorithm.
std::unique_ptr< ConeBeamGeometryControllerm_coneBeamGeomAlgCtrl
 Controller for the nested ConeBeamGeometry algorithm used by m_regAlg.
std::unique_ptr< GeometryAlgorithmControllerm_geomAlgCtrl
 Controller for the nested GeometryAlgorithm used by m_regAlg.
std::unique_ptr< Gl2D3DRegistrationControllerm_nestedRegAlgCtrl
 Controller for the nested 2D-3D registration algorithm used by m_regAlg;.
std::unique_ptr< MaskEditorControllerm_maskAlgCtrl
 Controller for the nested mask algorithm used by m_regAlg to mask the projections;.
ImageView2Dm_shotsView = nullptr
 2D view for showing the views. If none is provided at construction the default 2D view will be used.
ViewGroupm_regViewGroup = nullptr
 2D view for showing the volume. If none is provided at construction the default view group will be used.
bool m_ownShotsView = false
 Whether this algorithm owns m_shotsView.
bool m_ownViewGroup = false
 Whether this algorithm owns m_regViewGroup.
bool m_masksVisible = false
 Whether mask are visualized.
std::vector< std::unique_ptr< XRay2D3DRegistrationInitializationController > > m_initializationControllers
 Controllers for initialization.
QWidget * m_initializationWidget = nullptr
QComboBox * m_initializationComboBox = nullptr
std::unique_ptr< internal::HistoryEntryTableModelm_historyEntryTableModel
Protected Attributes inherited from ImFusion::DefaultAlgorithmController
bool m_autoDeleteAfterCompute
bool m_configureOnChanged
bool m_isInitialized = false
bool m_addAlgorithmToHistory = true
 enable/disable register algorithm on compute()
bool m_optUpdatesDisplay = false
 enable/disable display updates from the optimizer
PropertiesWidgetm_propertiesWidget = nullptr
OptimizationDialogm_optDialog = nullptr
QVBoxLayout * m_layout = nullptr
QPushButton * m_optDialogButton = nullptr
QPushButton * m_computeButton = nullptr
QList< QPushButton * > m_buttons
Protected Attributes inherited from ImFusion::AlgorithmController
Algorithmm_algorithm = nullptr
 The underlying algorithm.
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.

Additional Inherited Members

Public Types inherited from ImFusion::AlgorithmController
enum class  InputDataVisibility { None = 0 , All = 1 , Some = 2 }
 Enumeration of possible return values for showsInputData(). 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 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::DefaultAlgorithmController
void addButton (const QString &title, const std::function< void()> &callback, int position=-1)
 Adds a button at the end of the widget One can pass a position to indicate the order of the added buttons, by passing nothing, the button is added to the end Note: Buttons must be added before the init method is called.
virtual void fillActionMenu (QMenu &menu)
 Fill a QMenu with all available actions.
void onAlgorithmOutputChanged () override
 Callback called when the Algorithm's signalOutputChanged signal was emitted.
QVBoxLayout * layout () const
 Return the main layout of the controller.
virtual OwningDataList postprocessOutput (OwningDataList output)
 This function will be called directly on the output generated by the algorithm.
void duplicateAlgorithmOnSelectedData () const override
 Instantiates a new copy of underlying Algorithm on the currently selected Data in the DataModel and adds it to the ApplicationController.
Protected Member Functions inherited from ImFusion::AlgorithmController
virtual void closeAlgorithm (bool executed=false)
 Removes the algorithm from the ApplicationController and closes the controller.
void addToDataAndAnnotationModels (OwningDataList data)
 Adds the contents of data to the DataModel of the parent MainWindowBase.
Protected Member Functions inherited from ImFusion::SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.

Member Function Documentation

◆ init()

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

Reimplemented from ImFusion::DefaultAlgorithmController.

◆ onCompute()

void ImFusion::CT::XRay2D3DRegistrationAlgorithmController::onCompute ( )
overridevirtual

◆ updatePropertiesWidget()

void ImFusion::CT::XRay2D3DRegistrationAlgorithmController::updatePropertiesWidget ( )
overridevirtual

◆ onParameterChanged()

void ImFusion::CT::XRay2D3DRegistrationAlgorithmController::onParameterChanged ( const std::string & paramName)
overridevirtual

◆ onAlgorithmParametersChanged()

void ImFusion::CT::XRay2D3DRegistrationAlgorithmController::onAlgorithmParametersChanged ( )
overridevirtual

Implementation of the AlgorithmListener interface.

Reimplemented from ImFusion::DefaultAlgorithmController.


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