CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxEBUSCalibrationWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXEBUSCALIBRATIONWIDGET_H_
13 #define CXEBUSCALIBRATIONWIDGET_H_
14 
15 #include "org_custusx_calibration_Export.h"
16 
17 #include "cxTransform3D.h"
18 #include "cxVector3D.h"
19 #include "cxBaseWidget.h"
21 #include "cxForwardDeclarations.h"
22 #include "cxDoubleProperty.h"
23 
24 class QPushButton;
25 class QGroupBox;
26 class QComboBox;
27 class QLineEdit;
28 
29 namespace cx
30 {
31 typedef boost::shared_ptr<class VisServices> VisServicesPtr;
32 typedef boost::shared_ptr<class StringPropertySelectTool> StringPropertySelectToolPtr;
33 
47 class org_custusx_calibration_EXPORT EBUSCalibrationWidget : public BaseWidget
48 {
49  Q_OBJECT
50 
51 public:
52  EBUSCalibrationWidget(VisServicesPtr services, QWidget* parent);
53  virtual ~EBUSCalibrationWidget();
54 
55 private slots:
56  void calibrateSlot();
57  void toolSelectedSlot();
58  void trackingStartedSlot();
59  void browseAdapterCalibrationPathSlot();
60 
61 private:
62  Transform3D readCalibrationFile(QString absoluteFilePath);
63 
64  VisServicesPtr mServices;
65  QPushButton* mCalibrateButton;
66  QLabel* mReferencePointLabel;
67  QLabel* mCalibrationLabel;
68  QLabel* mDeltaLabel;
69  QString mAdapterCalibrationPath;
70  QComboBox* mAdapterCalibrationPathComboBox;
71  StringPropertySelectToolPtr mCalibRefTool;
72  StringPropertySelectToolPtr mCalibratingTool;
73 };
74 
84 class org_custusx_calibration_EXPORT EBUSCalibrationCalculator
85 {
86 public:
89 
90  Transform3D get_calibration_sMt(Transform3D adapterCalibration);
91 
92 private:
93  ToolPtr mTool;
94  ToolPtr mCalibrationRef;
95  Transform3D m_sMpr;
96  Transform3D m_qMpr;
97  Transform3D m_qMcr;
98 };
102 }
103 
104 #endif /* CXEBUSCALIBRATIONWIDGET_H_ */
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class StringPropertySelectTool > StringPropertySelectToolPtr
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr