CustusX  18.04
An IGT application
cxBronchoscopyRegistrationWidget.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 CXBRONCHOSCOPYREGISTRATIONWIDGET_H
13 #define CXBRONCHOSCOPYREGISTRATIONWIDGET_H
14 
15 #include <QPushButton>
16 #include <QDomElement>
18 #include "cxForwardDeclarations.h"
19 #include "cxXmlOptionItem.h"
20 
21 
22 namespace cx
23 {
24 class RecordTrackingWidget;
25 class WidgetObscuredListener;
26 typedef boost::shared_ptr<class Acquisition> AcquisitionPtr;
27 typedef boost::shared_ptr<class StringPropertySelectMesh> StringPropertySelectMeshPtr;
28 typedef boost::shared_ptr<class ToolRep3D> ToolRep3DPtr;
29 typedef boost::shared_ptr<class RecordSessionWidget> RecordSessionWidgetPtr;
30 typedef boost::shared_ptr<class AcquisitionData> AcquisitionDataPtr;
31 typedef boost::shared_ptr<class BronchoscopyRegistration> BronchoscopyRegistrationPtr;
32 typedef std::map<QString, ToolPtr> ToolMap;
33 typedef boost::shared_ptr<class StringPropertySelectTool> StringPropertySelectToolPtr;
34 
45 {
46  Q_OBJECT
47 
48  BronchoscopyRegistrationPtr mBronchoscopyRegistration;
49 
50 public:
51  BronchoscopyRegistrationWidget(RegServicesPtr services, QWidget *parent);
53  {
54  }
55  virtual QString defaultWhatsThis() const;
56 
57 protected:
58  virtual void prePaintEvent();
59 private slots:
60  void processCenterlineSlot();
61  void registerSlot();
62  void clearDataOnNewPatient();
63 private:
64  void setup();
65 
66  RegServicesPtr mServices;
67  QVBoxLayout* mVerticalLayout;
68  BoolPropertyPtr mUseLocalRegistration;
69  BoolPropertyPtr mUseSubsetOfGenerations;
70  DoublePropertyPtr mMaxNumberOfGenerations;
71  DoublePropertyPtr mMaxLocalRegistrationDistance;
72  XmlOptionFile mOptions;
73  MeshPtr mMesh;
74 
75  StringPropertySelectMeshPtr mSelectMeshWidget;
76  QPushButton* mProcessCenterlineButton;
77  QPushButton* mRegisterButton;
78  ToolPtr mTool;
79 
80  RecordTrackingWidget* mRecordTrackingWidget;
81 
82  void initializeTrackingService();
83 
84  void createMaxNumberOfGenerations(QDomElement root);
85  void selectSubsetOfBranches(QDomElement root);
86  void useLocalRegistration(QDomElement root);
87  void createMaxLocalRegistrationDistance(QDomElement root);
88 };
89 
90 } //namespace cx
91 
92 #endif // CXBRONCHOSCOPYREGISTRATIONWIDGET_H
boost::shared_ptr< class StringPropertySelectTool > StringPropertySelectToolPtr
boost::shared_ptr< class Acquisition > AcquisitionPtr
BronchoscopyRegistrationWidget(RegServicesPtr services, QWidget *parent)
boost::shared_ptr< class AcquisitionData > AcquisitionDataPtr
boost::shared_ptr< class RecordSessionWidget > RecordSessionWidgetPtr
std::map< QString, ToolPtr > ToolMap
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
Register tracked bronchostopy tool path to lung centerline data (from CT)
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
boost::shared_ptr< class BronchoscopyRegistration > BronchoscopyRegistrationPtr
boost::shared_ptr< class ToolRep3D > ToolRep3DPtr
boost::shared_ptr< class BoolProperty > BoolPropertyPtr
boost::shared_ptr< class Mesh > MeshPtr
boost::shared_ptr< class StringPropertySelectMesh > StringPropertySelectMeshPtr
Helper class for xml files used to store ssc/cx data.
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr