64 lines
1.4 KiB
C++
64 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "dvhTypes.h"
|
|
#include "itkStlCompat.h"
|
|
|
|
#include <QWidget>
|
|
#include <QString>
|
|
#include <QVector>
|
|
#include <vector>
|
|
|
|
#include <itkImage.h>
|
|
|
|
class QLineEdit;
|
|
class QListWidget;
|
|
class QTableWidget;
|
|
class QTextEdit;
|
|
class QProgressBar;
|
|
class QCheckBox;
|
|
class QPushButton;
|
|
class DvhPlotWidget;
|
|
|
|
class DvhComparePage : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
explicit DvhComparePage(QWidget* parent = nullptr);
|
|
~DvhComparePage() override;
|
|
|
|
private slots:
|
|
void onBrowseImage();
|
|
void onBrowseRts();
|
|
void onAddDose();
|
|
void onRemoveDose();
|
|
void onCalculate();
|
|
void onSelectAllRoi();
|
|
void onClearAllRoi();
|
|
void onRoiVisibilityChanged();
|
|
|
|
private:
|
|
void buildUi();
|
|
void freeResults();
|
|
void rebuildRoiList();
|
|
void refreshPlot();
|
|
QString defaultOpenDir() const;
|
|
void rememberOpenPath(const QString& path);
|
|
QString resolveAlgoDllPath() const;
|
|
void appendLog(const QString& msg);
|
|
|
|
QLineEdit* m_imgEdit = nullptr;
|
|
QLineEdit* m_rtsEdit = nullptr;
|
|
QTableWidget* m_doseTable = nullptr;
|
|
QListWidget* m_roiList = nullptr;
|
|
QTextEdit* m_log = nullptr;
|
|
QProgressBar* m_progress = nullptr;
|
|
DvhPlotWidget* m_plot = nullptr;
|
|
QPushButton* m_calcBtn = nullptr;
|
|
|
|
QVector<QCheckBox*> m_roiChecks;
|
|
|
|
int m_doseNum = 0;
|
|
StrucSet* m_strucSet = nullptr;
|
|
std::vector<itk::Image<float, 3>::Pointer> m_keptDoses;
|
|
std::vector<itk::Image<unsigned char, 3>::Pointer> m_keptMasks;
|
|
};
|