CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxReconstructionWidget.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 CXRECONSTRUCTIONWIDGET_H_
13 #define CXRECONSTRUCTIONWIDGET_H_
14 
15 #include "org_custusx_usreconstruction_Export.h"
16 
17 #include <QtWidgets>
18 
19 #include "cxDoubleWidgets.h"
20 #include "cxXmlOptionItem.h"
22 #include "cxFileSelectWidget.h"
23 #include "cxBaseWidget.h"
24 
25 
26 namespace cx
27 {
28 class TimedAlgorithmProgressBar;
29 class UsReconstructionService;
30 typedef boost::shared_ptr<class UsReconstructionService> UsReconstructionServicePtr;
31 
44 class org_custusx_usreconstruction_EXPORT ReconstructionWidget: public BaseWidget
45 {
46 Q_OBJECT
47 public:
48  ReconstructionWidget(QWidget* parent, UsReconstructionServicePtr reconstructer);
49  UsReconstructionServicePtr reconstructer()
50  {
51  return mReconstructer;
52  }
53 
54 public slots:
55  void selectData(QString inputfile);
56  void reconstruct();
57  void reload();
58  void paramsChangedSlot();
59 private slots:
60  void inputDataSelected(QString mhdFileName);
62  void repopulateAlgorithmGroup();
63  void reconstructStartedSlot();
64  void reconstructFinishedSlot();
65  void toggleDetailsSlot();
66 
67  void reconstructAboutToStartSlot();
68 
69  void updateFileSelectorPath(QString path);
70 private:
71  UsReconstructionServicePtr mReconstructer;
72 
73  FileSelectWidget* mFileSelectWidget;
74  QPushButton* mReconstructButton;
75  QPushButton* mReloadButton;
76  QLineEdit* mExtentLineEdit;
77  QLineEdit* mInputSpacingLineEdit;
78  SpinBoxGroupWidget* mSpacingWidget;
79  SpinBoxGroupWidget* mDimXWidget;
80  SpinBoxGroupWidget* mDimYWidget;
81  SpinBoxGroupWidget* mDimZWidget;
82  TimedAlgorithmProgressBar* mTimedAlgorithmProgressBar;
83 
84  QFrame* mAlgorithmGroup;
85  QStackedLayout* mAlgoLayout;
86  std::vector<QWidget*> mAlgoWidgets;
87 
88  QWidget* mOptionsWidget;
89  QWidget* createOptionsWidget();
90  QString getCurrentPath();
91  void updateComboBox();
92  void createNewStackedWidget(QString algoName);
93 };
94 
98 }//namespace
99 #endif //CXRECONSTRUCTIONWIDGET_H_
boost::shared_ptr< class UsReconstructionService > UsReconstructionServicePtr
Show progress for a TimedBaseAlgorithm.
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
Composite widget for scalar data manipulation.
UsReconstructionServicePtr reconstructer()
Widget for displaying and selecting a single file.
Namespace for all CustusX production code.