CustusX  18.04
An IGT application
cxUsReconstructionServiceProxy.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 CXUSRECONSTRUCTIONSERVICEPROXY_H
13 #define CXUSRECONSTRUCTIONSERVICEPROXY_H
14 
15 #include "org_custusx_usreconstruction_Export.h"
16 
19 class ctkPluginContext;
20 
21 namespace cx
22 {
23 
27 class org_custusx_usreconstruction_EXPORT UsReconstructionServiceProxy : public UsReconstructionService
28 {
29 
30  Q_OBJECT
31 
32 public:
33  UsReconstructionServiceProxy(ctkPluginContext *pluginContext);
34 
35  virtual void selectData(QString filename, QString calFilesPath = "");
36  virtual void selectData(USReconstructInputData data);
37 
38  virtual QString getSelectedFilename() const;
39  virtual USReconstructInputData getSelectedFileData();
40 // virtual ReconstructParamsPtr getParams();
41  virtual PropertyPtr getParam(QString uid);
42  virtual std::vector<PropertyPtr> getAlgoOptions();
43  virtual XmlOptionFile getSettings();
44  virtual OutputVolumeParams getOutputVolumeParams() const;
45 
46  virtual void setOutputVolumeParams(const OutputVolumeParams& par);
47 // virtual void setOutputRelativePath(QString path);
48 // virtual void setOutputBasePath(QString path);
49  virtual void startReconstruction();
50  virtual std::set<cx::TimedAlgorithmPtr> getThreadedReconstruction();
51  virtual ReconstructionMethodService* createAlgorithm();
52 
53  virtual ReconstructCore::InputParams createCoreParameters();
54 
55  virtual bool isNull();
56 
57 public slots:
58  virtual void newDataOnDisk(QString mhdFilename);
59 private:
60  void initServiceListener();
61  void onServiceAdded(UsReconstructionService* service);
62  void onServiceRemoved(UsReconstructionService *service);
63 
64  ctkPluginContext *mPluginContext;
65  UsReconstructionServicePtr mUsReconstructionService;
66  boost::shared_ptr<ServiceTrackerListener<UsReconstructionService> > mServiceListener;
67 };
68 
69 } //cx
70 
71 #endif // CXUSRECONSTRUCTIONSERVICEPROXY_H
boost::shared_ptr< class UsReconstructionService > UsReconstructionServicePtr
Abstract interface for reconstruction algorithm.
Helper struct for sending and controlling output volume properties.
boost::shared_ptr< class Property > PropertyPtr
Helper class for xml files used to store ssc/cx data.
Namespace for all CustusX production code.