NorMIT-nav  22.09
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
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::BronchoscopyRegistrationWidget::BronchoscopyRegistrationWidget
BronchoscopyRegistrationWidget(RegServicesPtr services, QWidget *parent)
Definition: cxBronchoscopyRegistrationWidget.cpp:50
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::BronchoscopyRegistrationWidget
Register tracked bronchostopy tool path to lung centerline data (from CT)
Definition: cxBronchoscopyRegistrationWidget.h:44
cx::DoublePropertyPtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
Definition: cxReconstructionMethodService.h:33
cx::MeshPtr
boost::shared_ptr< class Mesh > MeshPtr
Definition: cxForwardDeclarations.h:48
cx::BronchoscopyRegistrationWidget::prePaintEvent
virtual void prePaintEvent()
Definition: cxBronchoscopyRegistrationWidget.cpp:60
cx::BronchoscopyRegistrationWidget::~BronchoscopyRegistrationWidget
virtual ~BronchoscopyRegistrationWidget()
Definition: cxBronchoscopyRegistrationWidget.h:52
cx::BronchoscopyRegistrationWidget::defaultWhatsThis
virtual QString defaultWhatsThis() const
Definition: cxBronchoscopyRegistrationWidget.cpp:118
cxRegistrationBaseWidget.h
cx::RegServicesPtr
boost::shared_ptr< class RegServices > RegServicesPtr
Definition: cxRegServices.h:20
cx::BronchoscopyRegistrationPtr
boost::shared_ptr< class BronchoscopyRegistration > BronchoscopyRegistrationPtr
Definition: cxBronchoscopyImage2ImageRegistrationWidget.h:15
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