NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxCenterlineRegistrationWidget.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 CXCENTERLINEREGISTRATIONWIDGET_H
13 #define Centerline
14 
15 #include <QPushButton>
16 #include <QDomElement>
18 #include "cxForwardDeclarations.h"
19 #include "cxXmlOptionItem.h"
20 #include "org_custusx_registration_method_centerline_Export.h"
21 
22 
23 namespace cx
24 {
25 class RecordTrackingWidget;
26 class WidgetObscuredListener;
27 typedef boost::shared_ptr<class Acquisition> AcquisitionPtr;
28 typedef boost::shared_ptr<class StringPropertySelectMesh> StringPropertySelectMeshPtr;
29 typedef boost::shared_ptr<class ToolRep3D> ToolRep3DPtr;
30 typedef boost::shared_ptr<class RecordSessionWidget> RecordSessionWidgetPtr;
31 typedef boost::shared_ptr<class AcquisitionData> AcquisitionDataPtr;
32 typedef boost::shared_ptr<class CenterlineRegistration> CenterlineRegistrationPtr;
33 typedef std::map<QString, ToolPtr> ToolMap;
34 typedef boost::shared_ptr<class StringPropertySelectTool> StringPropertySelectToolPtr;
35 
44 class org_custusx_registration_method_centerline_EXPORT CenterlineRegistrationWidget: public RegistrationBaseWidget
45 {
46  Q_OBJECT
47 
48 public:
49  CenterlineRegistrationWidget(RegServicesPtr services, QWidget *parent);
51  {
52  }
53  virtual QString defaultWhatsThis() const;
54 
55 protected:
56  virtual void prePaintEvent();
57 private slots:
58  void registerSlot();
59  void clearDataOnNewPatient();
60 private:
61  void setup();
62 
63  CenterlineRegistrationPtr mCenterlineRegistration;
64 
65  RegServicesPtr mServices;
66  QVBoxLayout* mVerticalLayout;
67  BoolPropertyPtr mUseXtranslation;
68  BoolPropertyPtr mUseYtranslation;
69  BoolPropertyPtr mUseZtranslation;
70  BoolPropertyPtr mUseXrotation;
71  BoolPropertyPtr mUseYrotation;
72  BoolPropertyPtr mUseZrotation;
73 
74  XmlOptionFile mOptions;
75  MeshPtr mMesh;
76 
77  StringPropertySelectMeshPtr mSelectMeshWidget;
78  QPushButton* mRegisterButton;
79  ToolPtr mTool;
80 
81  RecordTrackingWidget* mRecordTrackingWidget;
82 
83  void initializeTrackingService();
84 
85  void selectXtranslation(QDomElement root);
86  void selectYtranslation(QDomElement root);
87  void selectZtranslation(QDomElement root);
88  void selectXrotation(QDomElement root);
89  void selectYrotation(QDomElement root);
90  void selectZrotation(QDomElement root);
91 
92 };
93 
94 } //namespace cx
95 
96 #endif // CXCENTERLINEREGISTRATIONWIDGET_H
cx::XmlOptionFile
Helper class for xml files used to store ssc/cx data.
Definition: cxXmlOptionItem.h:78
cx::ToolMap
std::map< QString, ToolPtr > ToolMap
Definition: cxRecordSessionSelector.h:32
cx::RecordSessionWidgetPtr
boost::shared_ptr< class RecordSessionWidget > RecordSessionWidgetPtr
Definition: cxRecordSessionWidget.h:33
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cxForwardDeclarations.h
cx::RecordTrackingWidget
Definition: cxRecordTrackingWidget.h:42
cx::BoolPropertyPtr
boost::shared_ptr< class BoolProperty > BoolPropertyPtr
Definition: cxPlusConnectWidget.h:29
cxXmlOptionItem.h
cx::RegistrationBaseWidget
Definition: cxRegistrationBaseWidget.h:28
cx::StringPropertySelectMeshPtr
boost::shared_ptr< class StringPropertySelectMesh > StringPropertySelectMeshPtr
Definition: cxRecordSessionSelector.h:26
cx::ToolRep3DPtr
boost::shared_ptr< class ToolRep3D > ToolRep3DPtr
Definition: cxRecordSessionSelector.h:27
cx::CenterlineRegistrationWidget::~CenterlineRegistrationWidget
virtual ~CenterlineRegistrationWidget()
Definition: cxCenterlineRegistrationWidget.h:50
cx::MeshPtr
boost::shared_ptr< class Mesh > MeshPtr
Definition: cxForwardDeclarations.h:48
cxRegistrationBaseWidget.h
cx::RegServicesPtr
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
cx::CenterlineRegistrationPtr
boost::shared_ptr< class CenterlineRegistration > CenterlineRegistrationPtr
Definition: cxCenterlineRegistrationWidget.h:32
cx::ToolPtr
boost::shared_ptr< class Tool > ToolPtr
Definition: cxVideoConnectionWidget.h:43
cx::AcquisitionPtr
boost::shared_ptr< class Acquisition > AcquisitionPtr
Definition: cxAcquisitionImplService.h:21
cx::StringPropertySelectToolPtr
boost::shared_ptr< class StringPropertySelectTool > StringPropertySelectToolPtr
Definition: cxClipperWidget.h:27
cx::AcquisitionDataPtr
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
Definition: cxAcquisitionImplService.h:22
cx::CenterlineRegistrationWidget
Register tracked tool path to centerline data (from CT)
Definition: cxCenterlineRegistrationWidget.h:44