Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkNDIConfigurationWidget.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef _QmitkNDIConfigurationWidget_H_INCLUDED
14 #define _QmitkNDIConfigurationWidget_H_INCLUDED
15 
16 #include "ui_QmitkNDIConfigurationWidget.h"
17 #include "mitkNDITrackingDevice.h"
19 #include "QStringList"
20 #include "MitkIGTUIExports.h"
21 #include "mitkNodePredicateBase.h"
22 
23 #include "mitkNavigationTool.h"
24 
26 namespace mitk
27 {
28  class DataStorage;
29 };
30 
39 class MITKIGTUI_EXPORT QmitkNDIConfigurationWidget : public QWidget
40 {
41  Q_OBJECT // this is needed for all Qt objects that should have a MOC object (everything that derives from QObject)
42 public:
43  QmitkNDIConfigurationWidget(QWidget* parent);
44  ~QmitkNDIConfigurationWidget() override;
45 
46  DEPRECATED(std::string GetDeviceName() const);
47  DEPRECATED(mitk::NDITrackingDevice* GetTracker() const);
48  DEPRECATED(mitk::DataStorage* GetDataStorage() const);
49  DEPRECATED(mitk::NodePredicateBase* GetPredicate() const);
50  DEPRECATED(const QStringList& GetToolTypes() const);
51  DEPRECATED(void SetToolTypes(const QStringList& types));
52  DEPRECATED(void SetDataStorage(mitk::DataStorage* ds));
53  DEPRECATED(void SetPredicate(mitk::NodePredicateBase::Pointer p));
54  DEPRECATED(void SetTagPropertyName(const std::string& name));
55  DEPRECATED(void SetTagProperty(mitk::BaseProperty::Pointer prop));
56 
57  DEPRECATED(const QString GetToolType(unsigned int index) const);
58  DEPRECATED(const QString GetToolName(unsigned int index) const);
59  QMap<QString, unsigned int> GetToolAndTypes() const;
60  DEPRECATED(QList<unsigned int> GetToolsByToolType(QString toolType) const);
61  DEPRECATED(mitk::DataNode* GetNode(unsigned int index) const);
62 
63 
64  signals:
65  void ToolsAdded(QStringList tools);
66  void ToolsChanged();
67  void Connected();
68  void Disconnected();
69  void RepresentationChanged( int row , mitk::Surface::Pointer surface ); // returns the row number of the clicked tableitem for changing tool representation
70  void SignalToolNameChanged(int id, QString name);
71  void SignalSavedTool(int id, QString surfaceFilename);
72  void SignalLoadTool(int id, mitk::DataNode::Pointer dn);
73 
74  public slots:
75  void SetDeviceName(const char* dev);
76  void ShowToolRepresentationColumn();
77  void EnableAddToolsButton(bool enable);
78  void EnableDiscoverNewToolsButton(bool enable); ;
79 
80  protected slots:
81  void OnConnect();
82  void OnDisconnect();
83  void OnDiscoverTools();
84  void OnDiscoverDevices();
85  void OnAddPassiveTool();
86  void UpdateTrackerFromToolTable(const QModelIndex & topLeft, const QModelIndex & /*bottomRight*/);
87  void OnTableItemClicked(const QModelIndex & topLeft);
88  void OnDisoverDevicesBtnInfo();
89  void OnTableCellChanged(int row, int column);
90  void OnSaveTool();
91  void OnLoadTool();
92 
93 
94 protected:
95  typedef QMap<QString, mitk::TrackingDeviceType> PortDeviceMap; // key is port name (e.g. "COM1", "/dev/ttyS0"), value will be filled with the type of tracking device at this port
103  void ScanPortsForNDITrackingDevices(PortDeviceMap& portsAndDevices);
104  mitk::TrackingDeviceType ScanPort(QString port);
105  mitk::NavigationTool::Pointer GenerateNavigationTool(mitk::TrackingTool* tool);
106 
107  QStringList GetToolNamesList();
108 
109  void CreateTracker();
110  void SetupTracker();
111  QString GetStatusText();
112 
113  void UpdateWidgets();
114  void UpdateToolTable();
115  virtual void CreateQtPartControl(QWidget *parent);
116  virtual void CreateConnections();
117  void HidePolarisOptionsGroupbox( bool on );
118  void HideAuroraOptionsGroupbox( bool on );
119 
120  Ui::QmitkNDIConfigurationWidget* m_Controls;
121  mitk::NDITrackingDevice::Pointer m_Tracker;
122  mitk::TrackingDeviceSource::Pointer m_Source;
124 
127 
128  mitk::Surface::Pointer LoadSurfaceFromSTLFile(QString surfaceFilename);
129 
130 };
131 #endif // _QmitkNDIConfigurationWidget_H_INCLUDED
132 
Interface for all Tracking Tools.
Data management class that handles &#39;was created by&#39; relations.
DataCollection - Class to facilitate loading/accessing structured data.
QMap< QString, mitk::TrackingDeviceType > PortDeviceMap
An item delegate for rendering and editing mitk::Properties in a QTableView.
Ui::QmitkNDIConfigurationWidget * m_Controls
gui widgets
#define DEPRECATED(func)
Definition: mitkCommon.h:179
std::string GetDeviceName()
mitk::NDITrackingDevice::Pointer m_Tracker
tracking device object
std::string TrackingDeviceType
superclass for specific NDI tracking Devices that use serial communication.
mitk::TrackingDeviceSource::Pointer m_Source
Interface for evaluation conditions used in the DataStorage class GetSubset() method.
Class for nodes of the DataTree.
Definition: mitkDataNode.h:57