CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxReconstructionMethodService.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 
13 #ifndef CXRECONSTRUCTIONMETHODSERVICE_H_
14 #define CXRECONSTRUCTIONMETHODSERVICE_H_
15 
16 #include "org_custusx_usreconstruction_Export.h"
17 
18 #include <vector>
19 #include <QObject>
20 #include <vtkSmartPointer.h>
21 #include "cxProperty.h"
22 #include "boost/shared_ptr.hpp"
23 
24 
25 class QDomElement;
26 
27 #define ReconstructionMethodService_iid "cx::ReconstructionMethodService"
28 
29 typedef vtkSmartPointer<class vtkImageData> vtkImageDataPtr;
30 
31 namespace cx
32 {
33 typedef boost::shared_ptr<class DoubleProperty> DoublePropertyPtr;
34 typedef boost::shared_ptr<class BoolProperty> BoolPropertyPtr;
35 typedef boost::shared_ptr<class Image> ImagePtr;
36 typedef boost::shared_ptr<class ProcessedUSInputData> ProcessedUSInputDataPtr;
37 
43 typedef boost::shared_ptr<class ReconstructionMethodService> ReconstructionMethodServicePtr;
44 
54 class org_custusx_usreconstruction_EXPORT ReconstructionMethodService : public QObject
55 {
56  Q_OBJECT
57 public:
59  virtual QString getName() const = 0;
65  virtual std::vector<PropertyPtr> getSettings(QDomElement root) = 0;
71  virtual bool reconstruct(ProcessedUSInputDataPtr input, vtkImageDataPtr outputData, QDomElement settings) = 0;
72 };
73 
78 }//namespace cx
80 
81 #endif //CXRECONSTRUCTIONMETHODSERVICE_H_
Abstract interface for reconstruction algorithm.
boost::shared_ptr< class ReconstructionMethodService > ReconstructionMethodServicePtr
#define ReconstructionMethodService_iid
boost::shared_ptr< class Image > ImagePtr
Definition: cxDicomWidget.h:27
Settings * settings()
Shortcut for accessing the settings instance.
Definition: cxSettings.cpp:21
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
boost::shared_ptr< class ProcessedUSInputData > ProcessedUSInputDataPtr
boost::shared_ptr< class BoolProperty > BoolPropertyPtr
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
Namespace for all CustusX production code.