NorMIT-nav  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_ */
cxBaseWidget.h
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cx::BaseWidget
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
cx::EBUSCalibrationCalculator::~EBUSCalibrationCalculator
~EBUSCalibrationCalculator()
Definition: cxEBUSCalibrationWidget.h:88
cxForwardDeclarations.h
cx::VisServicesPtr
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
cxDoubleProperty.h
cxVector3D.h
cx::EBUSCalibrationCalculator
Definition: cxEBUSCalibrationWidget.h:84
cx::Transform3D
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
Definition: cxLandmarkPatientRegistrationWidget.h:33
cxCoordinateSystemHelpers.h
cx::EBUSCalibrationWidget
Definition: cxEBUSCalibrationWidget.h:47
cx::ToolPtr
boost::shared_ptr< class Tool > ToolPtr
Definition: cxVideoConnectionWidget.h:43
cxTransform3D.h
cx::StringPropertySelectToolPtr
boost::shared_ptr< class StringPropertySelectTool > StringPropertySelectToolPtr
Definition: cxClipperWidget.h:27