NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxWirePhantomWidget.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 CXWIREPHANTOMWIDGET_H_
13 #define CXWIREPHANTOMWIDGET_H_
14 
15 #include "org_custusx_registration_gui_Export.h"
17 #include "cxPipeline.h"
18 #include "cxFilter.h"
19 #include "cxVector3D.h"
20 #include "cxTransform3D.h"
21 #include "cxBoundingBox3D.h"
22 
23 class QPushButton;
24 class QVBoxLayout;
25 class QTextEdit;
26 
27 namespace cx
28 {
29 typedef boost::shared_ptr<class AcquisitionData> AcquisitionDataPtr;
30 
39 class org_custusx_registration_gui_EXPORT WirePhantomWidget: public RegistrationBaseWidget
40 {
41 Q_OBJECT
42 
43 public:
44  WirePhantomWidget(ctkPluginContext *pluginContext, QWidget* parent = 0);
45  virtual ~WirePhantomWidget();
46  virtual QString defaultWhatsThis() const;
47 
48 protected:
49  QVBoxLayout* mLayout;
50 
51 private slots:
52  void measureSlot();
53  MeshPtr loadNominalCross();
54  void registration();
55  void generate_sMt();
56 
57 private:
58  void showDataMetrics(Vector3D cross_r);
59  std::pair<QString, Transform3D> getLastProbePosition();
60  void showData(DataPtr data);
61  Vector3D findCentroid(MeshPtr mesh);
62 
63  class PipelineWidget* mPipelineWidget;
64  PipelinePtr mPipeline;
65  QPushButton* mMeasureButton;
66  QPushButton* mCalibrationButton;
67  QTextEdit* mResults;
68  Transform3D mLastRegistration;
69  UsReconstructionServicePtr mUsReconstructionService;
70 };
71 
72 } /* namespace cx */
73 #endif /* CXWIREPHANTOMWIDGET_H_ */
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cx::UsReconstructionServicePtr
boost::shared_ptr< class UsReconstructionService > UsReconstructionServicePtr
Definition: cxAcquisitionImplService.h:24
cx::RegistrationBaseWidget
Definition: cxRegistrationBaseWidget.h:28
cxBoundingBox3D.h
cxVector3D.h
cx::PipelineWidget
Definition: cxPipelineWidget.h:59
cxFilter.h
cx::MeshPtr
boost::shared_ptr< class Mesh > MeshPtr
Definition: cxForwardDeclarations.h:48
cx::Transform3D
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
Definition: cxLandmarkPatientRegistrationWidget.h:33
cxPipeline.h
cx::DataPtr
boost::shared_ptr< class Data > DataPtr
Definition: cxRegistrationApplicator.h:22
cx::PipelinePtr
boost::shared_ptr< Pipeline > PipelinePtr
Definition: cxPipeline.h:146
cxRegistrationBaseWidget.h
cx::WirePhantomWidget::mLayout
QVBoxLayout * mLayout
Definition: cxWirePhantomWidget.h:49
cxTransform3D.h
cx::AcquisitionDataPtr
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
Definition: cxAcquisitionImplService.h:22
cx::Vector3D
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Definition: cxVector3D.h:42
cx::WirePhantomWidget
Probe accuracy measurements using the Wire Phantom.
Definition: cxWirePhantomWidget.h:39