CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxRegistrationServiceProxy.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 CXREGISTRATIONSERVICEADAPTER_H
13 #define CXREGISTRATIONSERVICEADAPTER_H
14 
15 #include "cxRegistrationService.h"
16 #include <QObject>
18 #include "cxTransform3D.h"
19 class QString;
20 class QDateTime;
21 class ctkPluginContext;
22 #include "org_custusx_registration_Export.h"
23 
24 namespace cx
25 {
26 
27 typedef boost::shared_ptr<class Data> DataPtr;
28 
40 class org_custusx_registration_EXPORT RegistrationServiceProxy : public RegistrationService
41 {
42  Q_OBJECT
43 public:
44  RegistrationServiceProxy(ctkPluginContext *context);
46 
47  virtual void setMovingData(DataPtr data);
48  virtual void setFixedData(DataPtr data);
49  virtual DataPtr getMovingData();
50  virtual DataPtr getFixedData();
51  virtual void doPatientRegistration();
52  virtual void doFastRegistration_Translation();
53  virtual void doFastRegistration_Orientation(const Transform3D& tMtm, const Transform3D &prMt);
54  virtual void doImageRegistration(bool translationOnly);
55  virtual void addImage2ImageRegistration(Transform3D delta_pre_rMd, QString description);
56  virtual void updateImage2ImageRegistration(Transform3D delta_pre_rMd, QString description);
57  virtual void addPatientRegistration(Transform3D rMpr_new, QString description);
58  virtual void updatePatientRegistration(Transform3D rMpr_new, QString description);
59  virtual void applyPatientOrientation(const Transform3D &tMtm, const Transform3D &prMt);
60 
61  virtual QDateTime getLastRegistrationTime();
62  virtual void setLastRegistrationTime(QDateTime time);
63  virtual bool isNull();
64 
65 //signals:
66 // void fixedDataChanged(QString uid);
67 // void movingDataChanged(QString uid);
68 
69 private:
70  void initServiceListener();
71  void onServiceAdded(RegistrationService* service);
72  void onServiceRemoved(RegistrationService *service);
73 
74  ctkPluginContext *mPluginContext;
75  RegistrationServicePtr mRegistrationService;
76  boost::shared_ptr<ServiceTrackerListener<RegistrationService> > mServiceListener;
77 };
78 
79 } //cx
80 #endif // CXREGISTRATIONSERVICEADAPTER_H
boost::shared_ptr< class RegistrationService > RegistrationServicePtr
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
Always provides a RegistrationService.
boost::shared_ptr< class Data > DataPtr
Registration services.
Namespace for all CustusX production code.