CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxVNNclReconstructionMethodService.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 CXVNNCLRECONSTRUCTIONMETHODSERVICE_H_
13 #define CXVNNCLRECONSTRUCTIONMETHODSERVICE_H_
14 
15 #include "org_custusx_usreconstruction_vnncl_Export.h"
16 
18 #include "cxUSFrameData.h"
19 #include "cxStringProperty.h"
20 #include "cxDoubleProperty.h"
21 #include "cxVNNclAlgorithm.h"
22 class ctkPluginContext;
23 
24 
25 namespace cx
26 {
39 class org_custusx_usreconstruction_vnncl_EXPORT VNNclReconstructionMethodService : public ReconstructionMethodService
40 {
42 public:
43  VNNclReconstructionMethodService(ctkPluginContext* context);
45 
49  void enableProfiling();
50 
51  double getKernelExecutionTime();
52 
56  virtual QString getName() const;
57 
63  virtual std::vector<PropertyPtr> getSettings(QDomElement root);
64 
71  virtual bool reconstruct(ProcessedUSInputDataPtr input,
72  vtkImageDataPtr outputData,
73  QDomElement settings);
74 
80  virtual StringPropertyPtr getMethodOption(QDomElement root);
81 
87  virtual DoublePropertyPtr getRadiusOption(QDomElement root);
88 
89 
95  virtual StringPropertyPtr getPlaneMethodOption(QDomElement root);
96 
102  virtual DoublePropertyPtr getMaxPlanesOption(QDomElement root);
103 
109  virtual DoublePropertyPtr getNStartsOption(QDomElement root);
110 
116  virtual DoublePropertyPtr getBrightnessWeightOption(QDomElement root);
117 
123  virtual DoublePropertyPtr getNewnessWeightOption(QDomElement root);
124 
125 protected:
126 
132  virtual int getMethodID(QDomElement root);
133 
134 
140  virtual int getPlaneMethodID(QDomElement root);
141 
142  // Method names. Indices into this array corresponds to method IDs in the OpenCL Kernel.
143  std::vector<QString> mMethods;
144  std::vector<QString> mPlaneMethods;
145 
147 };
148 
149 } /* namespace cx */
150 
151 #endif /* CXVNNCLRECONSTRUCTIONMETHODSERVICE_H_ */
152 
Abstract interface for reconstruction algorithm.
boost::shared_ptr< class StringProperty > StringPropertyPtr
Settings * settings()
Shortcut for accessing the settings instance.
Definition: cxSettings.cpp:21
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
boost::shared_ptr< class ProcessedUSInputData > ProcessedUSInputDataPtr
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
boost::shared_ptr< VNNclAlgorithm > VNNclAlgorithmPtr
Namespace for all CustusX production code.