개정판 18903146
issue #000: add ai ui
Change-Id: Iec4893461fc21c70516a1d2e7735cd2f5d0c9bd2
DTI_PID/DTI_PID/TrainingSymbolImageListDialog.py | ||
---|---|---|
62 | 62 |
self.ui.pushButtonDeleteBatchLabel.clicked.connect(self.pushButtonDeleteBatchLabelClicked) |
63 | 63 |
self.ui.pushButtonUpload.clicked.connect(self.upload_training_data) |
64 | 64 |
self.ui.pushButtonTrain.clicked.connect(self.execute_training) |
65 |
self.ui.pushButtonResult.clicked.connect(self.show_result_dialog) |
|
65 | 66 |
|
66 | 67 |
# delete character in box |
67 | 68 |
self.ui.pushButtonDeleteBatchLabel.setEnabled(False) |
... | ... | |
84 | 85 |
def pushButtonCloseClicked(self): |
85 | 86 |
QDialog.reject(self) |
86 | 87 |
|
88 |
def show_result_dialog(self): |
|
89 |
from Training_ResultDialog import QTrainingResultDialog |
|
90 |
dlg = QTrainingResultDialog(self) |
|
91 |
dlg.exec_() |
|
92 |
|
|
87 | 93 |
def execute_training(self): |
88 | 94 |
""" execute training on server """ |
89 | 95 |
from AppWebService import AppWebService |
96 |
from Training_AlgorithmDialog import QTrainingAlgorithmDialog |
|
90 | 97 |
|
91 | 98 |
app_doc_data = AppDocData.instance() |
92 | 99 |
project = app_doc_data.getCurrentProject() |
... | ... | |
102 | 109 |
if symbol.width > 300 or symbol.height > 300: |
103 | 110 |
bigs.append(symbol.getName()) |
104 | 111 |
|
105 |
app_web_service = AppWebService() |
|
106 |
res = app_web_service.request_execute_training(project.name, classes, bigs) |
|
107 |
if res: |
|
112 |
dlg = QTrainingAlgorithmDialog(self) |
|
113 |
if QDialog.Accepted == dlg.exec_(): |
|
108 | 114 |
QMessageBox.about(self, self.tr("Notice"), self.tr('Successfully requested. ')) |
115 |
|
|
116 |
#app_web_service = AppWebService() |
|
117 |
#res = app_web_service.request_execute_training(project.name, classes, bigs) |
|
109 | 118 |
|
110 | 119 |
def upload_training_data(self): |
111 | 120 |
""" upload tile image and xml file to server """ |
DTI_PID/DTI_PID/TrainingSymbolImageList_UI.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 |
|
3 |
# Form implementation generated from reading ui file '.\UI\TrainingSymbolImageList.ui'
|
|
3 |
# Form implementation generated from reading ui file './UI/TrainingSymbolImageList.ui'
|
|
4 | 4 |
# |
5 |
# Created by: PyQt5 UI code generator 5.13.0
|
|
5 |
# Created by: PyQt5 UI code generator 5.11.3
|
|
6 | 6 |
# |
7 | 7 |
# WARNING! All changes made in this file will be lost! |
8 | 8 |
|
9 |
|
|
10 | 9 |
from PyQt5 import QtCore, QtGui, QtWidgets |
11 | 10 |
|
12 |
|
|
13 | 11 |
class Ui_TraingingSymbolImageListDialog(object): |
14 | 12 |
def setupUi(self, TraingingSymbolImageListDialog): |
15 | 13 |
TraingingSymbolImageListDialog.setObjectName("TraingingSymbolImageListDialog") |
... | ... | |
26 | 24 |
self.gridLayout.setObjectName("gridLayout") |
27 | 25 |
self.horizontalLayout_4 = QtWidgets.QHBoxLayout() |
28 | 26 |
self.horizontalLayout_4.setObjectName("horizontalLayout_4") |
27 |
self.pushButtonResult = QtWidgets.QPushButton(TraingingSymbolImageListDialog) |
|
28 |
self.pushButtonResult.setObjectName("pushButtonResult") |
|
29 |
self.horizontalLayout_4.addWidget(self.pushButtonResult) |
|
29 | 30 |
self.pushButtonDeleteBatchLabel = QtWidgets.QPushButton(TraingingSymbolImageListDialog) |
30 | 31 |
self.pushButtonDeleteBatchLabel.setObjectName("pushButtonDeleteBatchLabel") |
31 | 32 |
self.horizontalLayout_4.addWidget(self.pushButtonDeleteBatchLabel) |
... | ... | |
126 | 127 |
def retranslateUi(self, TraingingSymbolImageListDialog): |
127 | 128 |
_translate = QtCore.QCoreApplication.translate |
128 | 129 |
TraingingSymbolImageListDialog.setWindowTitle(_translate("TraingingSymbolImageListDialog", "Symbol Training Image List")) |
130 |
self.pushButtonResult.setText(_translate("TraingingSymbolImageListDialog", "Result")) |
|
129 | 131 |
self.pushButtonDeleteBatchLabel.setText(_translate("TraingingSymbolImageListDialog", "Delete Batch Label ")) |
130 | 132 |
self.pushButtonUpload.setText(_translate("TraingingSymbolImageListDialog", "Upload")) |
131 | 133 |
self.pushButtonTrain.setText(_translate("TraingingSymbolImageListDialog", "Train")) |
... | ... | |
137 | 139 |
self.pushButtonMakeTrainingImage.setText(_translate("TraingingSymbolImageListDialog", "Generate Training Image")) |
138 | 140 |
self.pushButtonClose.setText(_translate("TraingingSymbolImageListDialog", "Close")) |
139 | 141 |
self.tableWidgetList.setSortingEnabled(True) |
142 |
|
|
140 | 143 |
import MainWindow_rc |
144 |
|
|
145 |
if __name__ == "__main__": |
|
146 |
import sys |
|
147 |
app = QtWidgets.QApplication(sys.argv) |
|
148 |
TraingingSymbolImageListDialog = QtWidgets.QDialog() |
|
149 |
ui = Ui_TraingingSymbolImageListDialog() |
|
150 |
ui.setupUi(TraingingSymbolImageListDialog) |
|
151 |
TraingingSymbolImageListDialog.show() |
|
152 |
sys.exit(app.exec_()) |
|
153 |
|
DTI_PID/DTI_PID/Training_AlgorithmDialog.py | ||
---|---|---|
1 |
# coding: utf-8 |
|
2 |
""" This is validation dialog module """ |
|
3 |
|
|
4 |
import os |
|
5 |
import sys |
|
6 |
from PyQt5.QtCore import * |
|
7 |
from PyQt5.QtGui import * |
|
8 |
from PyQt5.QtWidgets import * |
|
9 |
from AppDocData import AppDocData, MessageType |
|
10 |
|
|
11 |
import Training_Algorithm_UI |
|
12 |
|
|
13 |
|
|
14 |
class QTrainingAlgorithmDialog(QDialog): |
|
15 |
""" This Training Algorithm dialog class """ |
|
16 |
|
|
17 |
def __init__(self, parent): |
|
18 |
QDialog.__init__(self, parent) |
|
19 |
|
|
20 |
self.ui = Training_Algorithm_UI.Ui_AlgorithmDialog() |
|
21 |
self.ui.setupUi(self) |
|
22 |
self.ui.pushButtonRun.clicked.connect(self.accept) |
|
23 |
self.ui.pushButtonClose.clicked.connect(self.reject) |
|
24 |
|
|
25 |
def accept(self): |
|
26 |
QDialog.accept(self) |
|
27 |
|
|
28 |
def reject(self): |
|
29 |
QDialog.reject(self) |
DTI_PID/DTI_PID/Training_Algorithm_UI.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
|
|
3 |
# Form implementation generated from reading ui file './UI/Training_Algorithm.ui' |
|
4 |
# |
|
5 |
# Created by: PyQt5 UI code generator 5.11.3 |
|
6 |
# |
|
7 |
# WARNING! All changes made in this file will be lost! |
|
8 |
|
|
9 |
from PyQt5 import QtCore, QtGui, QtWidgets |
|
10 |
|
|
11 |
class Ui_AlgorithmDialog(object): |
|
12 |
def setupUi(self, AlgorithmDialog): |
|
13 |
AlgorithmDialog.setObjectName("AlgorithmDialog") |
|
14 |
AlgorithmDialog.resize(512, 176) |
|
15 |
self.gridLayout_2 = QtWidgets.QGridLayout(AlgorithmDialog) |
|
16 |
self.gridLayout_2.setObjectName("gridLayout_2") |
|
17 |
self.groupBox_2 = QtWidgets.QGroupBox(AlgorithmDialog) |
|
18 |
self.groupBox_2.setObjectName("groupBox_2") |
|
19 |
self.gridLayout = QtWidgets.QGridLayout(self.groupBox_2) |
|
20 |
self.gridLayout.setObjectName("gridLayout") |
|
21 |
self.gridLayout_5 = QtWidgets.QGridLayout() |
|
22 |
self.gridLayout_5.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) |
|
23 |
self.gridLayout_5.setObjectName("gridLayout_5") |
|
24 |
self.checkBoxA1 = QtWidgets.QCheckBox(self.groupBox_2) |
|
25 |
self.checkBoxA1.setEnabled(True) |
|
26 |
self.checkBoxA1.setChecked(True) |
|
27 |
self.checkBoxA1.setObjectName("checkBoxA1") |
|
28 |
self.gridLayout_5.addWidget(self.checkBoxA1, 0, 0, 1, 1) |
|
29 |
self.checkBoxA2 = QtWidgets.QCheckBox(self.groupBox_2) |
|
30 |
self.checkBoxA2.setEnabled(True) |
|
31 |
self.checkBoxA2.setChecked(True) |
|
32 |
self.checkBoxA2.setObjectName("checkBoxA2") |
|
33 |
self.gridLayout_5.addWidget(self.checkBoxA2, 1, 0, 1, 1) |
|
34 |
self.checkBoxA3 = QtWidgets.QCheckBox(self.groupBox_2) |
|
35 |
self.checkBoxA3.setEnabled(True) |
|
36 |
self.checkBoxA3.setChecked(True) |
|
37 |
self.checkBoxA3.setObjectName("checkBoxA3") |
|
38 |
self.gridLayout_5.addWidget(self.checkBoxA3, 2, 0, 1, 1) |
|
39 |
self.gridLayout.addLayout(self.gridLayout_5, 0, 0, 1, 1) |
|
40 |
self.horizontalLayout = QtWidgets.QHBoxLayout() |
|
41 |
self.horizontalLayout.setObjectName("horizontalLayout") |
|
42 |
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) |
|
43 |
self.horizontalLayout.addItem(spacerItem) |
|
44 |
self.pushButtonRun = QtWidgets.QPushButton(self.groupBox_2) |
|
45 |
self.pushButtonRun.setObjectName("pushButtonRun") |
|
46 |
self.horizontalLayout.addWidget(self.pushButtonRun) |
|
47 |
self.pushButtonClose = QtWidgets.QPushButton(self.groupBox_2) |
|
48 |
self.pushButtonClose.setObjectName("pushButtonClose") |
|
49 |
self.horizontalLayout.addWidget(self.pushButtonClose) |
|
50 |
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1) |
|
51 |
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) |
|
52 |
self.gridLayout.addItem(spacerItem1, 1, 0, 1, 1) |
|
53 |
self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 1) |
|
54 |
|
|
55 |
self.retranslateUi(AlgorithmDialog) |
|
56 |
QtCore.QMetaObject.connectSlotsByName(AlgorithmDialog) |
|
57 |
|
|
58 |
def retranslateUi(self, AlgorithmDialog): |
|
59 |
_translate = QtCore.QCoreApplication.translate |
|
60 |
AlgorithmDialog.setWindowTitle(_translate("AlgorithmDialog", "Training")) |
|
61 |
self.groupBox_2.setTitle(_translate("AlgorithmDialog", "Algorithm")) |
|
62 |
self.checkBoxA1.setText(_translate("AlgorithmDialog", "Yolo")) |
|
63 |
self.checkBoxA2.setText(_translate("AlgorithmDialog", "Algorithm 2")) |
|
64 |
self.checkBoxA3.setText(_translate("AlgorithmDialog", "Algorithm 3")) |
|
65 |
self.pushButtonRun.setText(_translate("AlgorithmDialog", "Run")) |
|
66 |
self.pushButtonClose.setText(_translate("AlgorithmDialog", "Close")) |
|
67 |
|
|
68 |
import MainWindow_rc |
|
69 |
|
|
70 |
if __name__ == "__main__": |
|
71 |
import sys |
|
72 |
app = QtWidgets.QApplication(sys.argv) |
|
73 |
AlgorithmDialog = QtWidgets.QDialog() |
|
74 |
ui = Ui_AlgorithmDialog() |
|
75 |
ui.setupUi(AlgorithmDialog) |
|
76 |
AlgorithmDialog.show() |
|
77 |
sys.exit(app.exec_()) |
|
78 |
|
DTI_PID/DTI_PID/Training_ResultDialog.py | ||
---|---|---|
1 |
# coding: utf-8 |
|
2 |
""" This is validation dialog module """ |
|
3 |
|
|
4 |
import os |
|
5 |
import sys |
|
6 |
from PyQt5.QtCore import * |
|
7 |
from PyQt5.QtGui import * |
|
8 |
from PyQt5.QtWidgets import * |
|
9 |
from AppDocData import AppDocData, MessageType |
|
10 |
|
|
11 |
import Training_Result_UI |
|
12 |
|
|
13 |
|
|
14 |
class QTrainingResultDialog(QDialog): |
|
15 |
""" This Training Algorithm dialog class """ |
|
16 |
|
|
17 |
def __init__(self, parent): |
|
18 |
QDialog.__init__(self, parent) |
|
19 |
|
|
20 |
self.ui = Training_Result_UI.Ui_TrainingResultDialog() |
|
21 |
self.ui.setupUi(self) |
DTI_PID/DTI_PID/Training_Result_UI.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
|
|
3 |
# Form implementation generated from reading ui file './UI/Training_Result.ui' |
|
4 |
# |
|
5 |
# Created by: PyQt5 UI code generator 5.11.3 |
|
6 |
# |
|
7 |
# WARNING! All changes made in this file will be lost! |
|
8 |
|
|
9 |
from PyQt5 import QtCore, QtGui, QtWidgets |
|
10 |
|
|
11 |
class Ui_TrainingResultDialog(object): |
|
12 |
def setupUi(self, TrainingResultDialog): |
|
13 |
TrainingResultDialog.setObjectName("TrainingResultDialog") |
|
14 |
TrainingResultDialog.resize(511, 188) |
|
15 |
self.gridLayout_2 = QtWidgets.QGridLayout(TrainingResultDialog) |
|
16 |
self.gridLayout_2.setObjectName("gridLayout_2") |
|
17 |
self.groupBox_2 = QtWidgets.QGroupBox(TrainingResultDialog) |
|
18 |
self.groupBox_2.setObjectName("groupBox_2") |
|
19 |
self.gridLayout = QtWidgets.QGridLayout(self.groupBox_2) |
|
20 |
self.gridLayout.setObjectName("gridLayout") |
|
21 |
self.gridLayout_5 = QtWidgets.QGridLayout() |
|
22 |
self.gridLayout_5.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) |
|
23 |
self.gridLayout_5.setObjectName("gridLayout_5") |
|
24 |
self.label_3 = QtWidgets.QLabel(self.groupBox_2) |
|
25 |
self.label_3.setObjectName("label_3") |
|
26 |
self.gridLayout_5.addWidget(self.label_3, 2, 0, 1, 1) |
|
27 |
self.label_2 = QtWidgets.QLabel(self.groupBox_2) |
|
28 |
self.label_2.setObjectName("label_2") |
|
29 |
self.gridLayout_5.addWidget(self.label_2, 3, 0, 1, 1) |
|
30 |
self.label = QtWidgets.QLabel(self.groupBox_2) |
|
31 |
self.label.setObjectName("label") |
|
32 |
self.gridLayout_5.addWidget(self.label, 1, 0, 1, 1) |
|
33 |
self.label_5 = QtWidgets.QLabel(self.groupBox_2) |
|
34 |
self.label_5.setObjectName("label_5") |
|
35 |
self.gridLayout_5.addWidget(self.label_5, 0, 1, 1, 1) |
|
36 |
self.label_4 = QtWidgets.QLabel(self.groupBox_2) |
|
37 |
self.label_4.setObjectName("label_4") |
|
38 |
self.gridLayout_5.addWidget(self.label_4, 0, 0, 1, 1) |
|
39 |
self.label_6 = QtWidgets.QLabel(self.groupBox_2) |
|
40 |
self.label_6.setObjectName("label_6") |
|
41 |
self.gridLayout_5.addWidget(self.label_6, 0, 2, 1, 1) |
|
42 |
self.lineEdit = QtWidgets.QLineEdit(self.groupBox_2) |
|
43 |
self.lineEdit.setReadOnly(True) |
|
44 |
self.lineEdit.setObjectName("lineEdit") |
|
45 |
self.gridLayout_5.addWidget(self.lineEdit, 1, 1, 1, 1) |
|
46 |
self.lineEdit_2 = QtWidgets.QLineEdit(self.groupBox_2) |
|
47 |
self.lineEdit_2.setReadOnly(True) |
|
48 |
self.lineEdit_2.setObjectName("lineEdit_2") |
|
49 |
self.gridLayout_5.addWidget(self.lineEdit_2, 1, 2, 1, 1) |
|
50 |
self.lineEdit_3 = QtWidgets.QLineEdit(self.groupBox_2) |
|
51 |
self.lineEdit_3.setReadOnly(True) |
|
52 |
self.lineEdit_3.setObjectName("lineEdit_3") |
|
53 |
self.gridLayout_5.addWidget(self.lineEdit_3, 2, 1, 1, 1) |
|
54 |
self.lineEdit_4 = QtWidgets.QLineEdit(self.groupBox_2) |
|
55 |
self.lineEdit_4.setReadOnly(True) |
|
56 |
self.lineEdit_4.setObjectName("lineEdit_4") |
|
57 |
self.gridLayout_5.addWidget(self.lineEdit_4, 3, 1, 1, 1) |
|
58 |
self.lineEdit_5 = QtWidgets.QLineEdit(self.groupBox_2) |
|
59 |
self.lineEdit_5.setReadOnly(True) |
|
60 |
self.lineEdit_5.setObjectName("lineEdit_5") |
|
61 |
self.gridLayout_5.addWidget(self.lineEdit_5, 2, 2, 1, 1) |
|
62 |
self.lineEdit_6 = QtWidgets.QLineEdit(self.groupBox_2) |
|
63 |
self.lineEdit_6.setReadOnly(True) |
|
64 |
self.lineEdit_6.setObjectName("lineEdit_6") |
|
65 |
self.gridLayout_5.addWidget(self.lineEdit_6, 3, 2, 1, 1) |
|
66 |
self.gridLayout.addLayout(self.gridLayout_5, 0, 0, 1, 1) |
|
67 |
self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 1) |
|
68 |
self.buttonBox = QtWidgets.QDialogButtonBox(TrainingResultDialog) |
|
69 |
self.buttonBox.setOrientation(QtCore.Qt.Horizontal) |
|
70 |
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close) |
|
71 |
self.buttonBox.setObjectName("buttonBox") |
|
72 |
self.gridLayout_2.addWidget(self.buttonBox, 2, 0, 1, 1) |
|
73 |
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) |
|
74 |
self.gridLayout_2.addItem(spacerItem, 1, 0, 1, 1) |
|
75 |
|
|
76 |
self.retranslateUi(TrainingResultDialog) |
|
77 |
self.buttonBox.accepted.connect(TrainingResultDialog.accept) |
|
78 |
self.buttonBox.rejected.connect(TrainingResultDialog.reject) |
|
79 |
QtCore.QMetaObject.connectSlotsByName(TrainingResultDialog) |
|
80 |
|
|
81 |
def retranslateUi(self, TrainingResultDialog): |
|
82 |
_translate = QtCore.QCoreApplication.translate |
|
83 |
TrainingResultDialog.setWindowTitle(_translate("TrainingResultDialog", "Result")) |
|
84 |
self.groupBox_2.setTitle(_translate("TrainingResultDialog", "Summary")) |
|
85 |
self.label_3.setText(_translate("TrainingResultDialog", "Algorithm 1")) |
|
86 |
self.label_2.setText(_translate("TrainingResultDialog", "Algorithm 2")) |
|
87 |
self.label.setText(_translate("TrainingResultDialog", "Yolo")) |
|
88 |
self.label_5.setText(_translate("TrainingResultDialog", "Estimated Time for Symbols(sec)")) |
|
89 |
self.label_4.setText(_translate("TrainingResultDialog", "Algorithm")) |
|
90 |
self.label_6.setText(_translate("TrainingResultDialog", "Loss")) |
|
91 |
self.lineEdit.setText(_translate("TrainingResultDialog", "45.8")) |
|
92 |
self.lineEdit_2.setText(_translate("TrainingResultDialog", "0.936")) |
|
93 |
self.lineEdit_3.setText(_translate("TrainingResultDialog", "40.6")) |
|
94 |
self.lineEdit_4.setText(_translate("TrainingResultDialog", "55.7")) |
|
95 |
self.lineEdit_5.setText(_translate("TrainingResultDialog", "1.124")) |
|
96 |
self.lineEdit_6.setText(_translate("TrainingResultDialog", "0.983")) |
|
97 |
|
|
98 |
import MainWindow_rc |
|
99 |
|
|
100 |
if __name__ == "__main__": |
|
101 |
import sys |
|
102 |
app = QtWidgets.QApplication(sys.argv) |
|
103 |
TrainingResultDialog = QtWidgets.QDialog() |
|
104 |
ui = Ui_TrainingResultDialog() |
|
105 |
ui.setupUi(TrainingResultDialog) |
|
106 |
TrainingResultDialog.show() |
|
107 |
sys.exit(app.exec_()) |
|
108 |
|
DTI_PID/DTI_PID/UI/LineTypeRegistration.ui | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<ui version="4.0"> |
|
3 |
<class>Dialog</class> |
|
4 |
<widget class="QDialog" name="Dialog"> |
|
5 |
<property name="geometry"> |
|
6 |
<rect> |
|
7 |
<x>0</x> |
|
8 |
<y>0</y> |
|
9 |
<width>513</width> |
|
10 |
<height>273</height> |
|
11 |
</rect> |
|
12 |
</property> |
|
13 |
<property name="windowTitle"> |
|
14 |
<string>Line Type Registration</string> |
|
15 |
</property> |
|
16 |
<layout class="QGridLayout" name="gridLayout"> |
|
17 |
<item row="0" column="0"> |
|
18 |
<layout class="QVBoxLayout" name="verticalLayout"> |
|
19 |
<item> |
|
20 |
<widget class="QLineEdit" name="lineEdit"> |
|
21 |
<property name="enabled"> |
|
22 |
<bool>false</bool> |
|
23 |
</property> |
|
24 |
<property name="readOnly"> |
|
25 |
<bool>false</bool> |
|
26 |
</property> |
|
27 |
</widget> |
|
28 |
</item> |
|
29 |
<item> |
|
30 |
<layout class="QHBoxLayout" name="horizontalLayout"/> |
|
31 |
</item> |
|
32 |
<item> |
|
33 |
<widget class="QDialogButtonBox" name="buttonBox"> |
|
34 |
<property name="orientation"> |
|
35 |
<enum>Qt::Horizontal</enum> |
|
36 |
</property> |
|
37 |
<property name="standardButtons"> |
|
38 |
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set> |
|
39 |
</property> |
|
40 |
</widget> |
|
41 |
</item> |
|
42 |
</layout> |
|
43 |
</item> |
|
44 |
</layout> |
|
45 |
</widget> |
|
46 |
<resources/> |
|
47 |
<connections> |
|
48 |
<connection> |
|
49 |
<sender>buttonBox</sender> |
|
50 |
<signal>accepted()</signal> |
|
51 |
<receiver>Dialog</receiver> |
|
52 |
<slot>accept()</slot> |
|
53 |
<hints> |
|
54 |
<hint type="sourcelabel"> |
|
55 |
<x>248</x> |
|
56 |
<y>254</y> |
|
57 |
</hint> |
|
58 |
<hint type="destinationlabel"> |
|
59 |
<x>157</x> |
|
60 |
<y>274</y> |
|
61 |
</hint> |
|
62 |
</hints> |
|
63 |
</connection> |
|
64 |
<connection> |
|
65 |
<sender>buttonBox</sender> |
|
66 |
<signal>rejected()</signal> |
|
67 |
<receiver>Dialog</receiver> |
|
68 |
<slot>reject()</slot> |
|
69 |
<hints> |
|
70 |
<hint type="sourcelabel"> |
|
71 |
<x>316</x> |
|
72 |
<y>260</y> |
|
73 |
</hint> |
|
74 |
<hint type="destinationlabel"> |
|
75 |
<x>286</x> |
|
76 |
<y>274</y> |
|
77 |
</hint> |
|
78 |
</hints> |
|
79 |
</connection> |
|
80 |
</connections> |
|
81 |
</ui> |
DTI_PID/DTI_PID/UI/TrainingSymbolImageList.ui | ||
---|---|---|
28 | 28 |
<item row="0" column="0"> |
29 | 29 |
<layout class="QHBoxLayout" name="horizontalLayout_4"> |
30 | 30 |
<item> |
31 |
<widget class="QPushButton" name="pushButtonResult"> |
|
32 |
<property name="text"> |
|
33 |
<string>Result</string> |
|
34 |
</property> |
|
35 |
</widget> |
|
36 |
</item> |
|
37 |
<item> |
|
31 | 38 |
<widget class="QPushButton" name="pushButtonDeleteBatchLabel"> |
32 | 39 |
<property name="text"> |
33 | 40 |
<string>Delete Batch Label </string> |
DTI_PID/DTI_PID/UI/Training_Algorithm.ui | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<ui version="4.0"> |
|
3 |
<class>AlgorithmDialog</class> |
|
4 |
<widget class="QDialog" name="AlgorithmDialog"> |
|
5 |
<property name="geometry"> |
|
6 |
<rect> |
|
7 |
<x>0</x> |
|
8 |
<y>0</y> |
|
9 |
<width>512</width> |
|
10 |
<height>176</height> |
|
11 |
</rect> |
|
12 |
</property> |
|
13 |
<property name="windowTitle"> |
|
14 |
<string>Training</string> |
|
15 |
</property> |
|
16 |
<layout class="QGridLayout" name="gridLayout_2"> |
|
17 |
<item row="0" column="0"> |
|
18 |
<widget class="QGroupBox" name="groupBox_2"> |
|
19 |
<property name="title"> |
|
20 |
<string>Algorithm</string> |
|
21 |
</property> |
|
22 |
<layout class="QGridLayout" name="gridLayout"> |
|
23 |
<item row="0" column="0"> |
|
24 |
<layout class="QGridLayout" name="gridLayout_5"> |
|
25 |
<property name="sizeConstraint"> |
|
26 |
<enum>QLayout::SetFixedSize</enum> |
|
27 |
</property> |
|
28 |
<item row="0" column="0"> |
|
29 |
<widget class="QCheckBox" name="checkBoxA1"> |
|
30 |
<property name="enabled"> |
|
31 |
<bool>true</bool> |
|
32 |
</property> |
|
33 |
<property name="text"> |
|
34 |
<string>Yolo</string> |
|
35 |
</property> |
|
36 |
<property name="checked"> |
|
37 |
<bool>true</bool> |
|
38 |
</property> |
|
39 |
</widget> |
|
40 |
</item> |
|
41 |
<item row="1" column="0"> |
|
42 |
<widget class="QCheckBox" name="checkBoxA2"> |
|
43 |
<property name="enabled"> |
|
44 |
<bool>true</bool> |
|
45 |
</property> |
|
46 |
<property name="text"> |
|
47 |
<string>Algorithm 2</string> |
|
48 |
</property> |
|
49 |
<property name="checked"> |
|
50 |
<bool>true</bool> |
|
51 |
</property> |
|
52 |
</widget> |
|
53 |
</item> |
|
54 |
<item row="2" column="0"> |
|
55 |
<widget class="QCheckBox" name="checkBoxA3"> |
|
56 |
<property name="enabled"> |
|
57 |
<bool>true</bool> |
|
58 |
</property> |
|
59 |
<property name="text"> |
|
60 |
<string>Algorithm 3</string> |
|
61 |
</property> |
|
62 |
<property name="checked"> |
|
63 |
<bool>true</bool> |
|
64 |
</property> |
|
65 |
</widget> |
|
66 |
</item> |
|
67 |
</layout> |
|
68 |
</item> |
|
69 |
<item row="2" column="0"> |
|
70 |
<layout class="QHBoxLayout" name="horizontalLayout"> |
|
71 |
<item> |
|
72 |
<spacer name="horizontalSpacer"> |
|
73 |
<property name="orientation"> |
|
74 |
<enum>Qt::Horizontal</enum> |
|
75 |
</property> |
|
76 |
<property name="sizeHint" stdset="0"> |
|
77 |
<size> |
|
78 |
<width>40</width> |
|
79 |
<height>20</height> |
|
80 |
</size> |
|
81 |
</property> |
|
82 |
</spacer> |
|
83 |
</item> |
|
84 |
<item> |
|
85 |
<widget class="QPushButton" name="pushButtonRun"> |
|
86 |
<property name="text"> |
|
87 |
<string>Run</string> |
|
88 |
</property> |
|
89 |
</widget> |
|
90 |
</item> |
|
91 |
<item> |
|
92 |
<widget class="QPushButton" name="pushButtonClose"> |
|
93 |
<property name="text"> |
|
94 |
<string>Close</string> |
|
95 |
</property> |
|
96 |
</widget> |
|
97 |
</item> |
|
98 |
</layout> |
|
99 |
</item> |
|
100 |
<item row="1" column="0"> |
|
101 |
<spacer name="verticalSpacer"> |
|
102 |
<property name="orientation"> |
|
103 |
<enum>Qt::Vertical</enum> |
|
104 |
</property> |
|
105 |
<property name="sizeHint" stdset="0"> |
|
106 |
<size> |
|
107 |
<width>20</width> |
|
108 |
<height>40</height> |
|
109 |
</size> |
|
110 |
</property> |
|
111 |
</spacer> |
|
112 |
</item> |
|
113 |
</layout> |
|
114 |
</widget> |
|
115 |
</item> |
|
116 |
</layout> |
|
117 |
</widget> |
|
118 |
<resources> |
|
119 |
<include location="../res/MainWindow.qrc"/> |
|
120 |
</resources> |
|
121 |
<connections/> |
|
122 |
</ui> |
DTI_PID/DTI_PID/UI/Training_Result.ui | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<ui version="4.0"> |
|
3 |
<class>TrainingResultDialog</class> |
|
4 |
<widget class="QDialog" name="TrainingResultDialog"> |
|
5 |
<property name="geometry"> |
|
6 |
<rect> |
|
7 |
<x>0</x> |
|
8 |
<y>0</y> |
|
9 |
<width>511</width> |
|
10 |
<height>188</height> |
|
11 |
</rect> |
|
12 |
</property> |
|
13 |
<property name="windowTitle"> |
|
14 |
<string>Result</string> |
|
15 |
</property> |
|
16 |
<layout class="QGridLayout" name="gridLayout_2"> |
|
17 |
<item row="0" column="0"> |
|
18 |
<widget class="QGroupBox" name="groupBox_2"> |
|
19 |
<property name="title"> |
|
20 |
<string>Summary</string> |
|
21 |
</property> |
|
22 |
<layout class="QGridLayout" name="gridLayout"> |
|
23 |
<item row="0" column="0"> |
|
24 |
<layout class="QGridLayout" name="gridLayout_5"> |
|
25 |
<property name="sizeConstraint"> |
|
26 |
<enum>QLayout::SetFixedSize</enum> |
|
27 |
</property> |
|
28 |
<item row="2" column="0"> |
|
29 |
<widget class="QLabel" name="label_3"> |
|
30 |
<property name="text"> |
|
31 |
<string>Algorithm 1</string> |
|
32 |
</property> |
|
33 |
</widget> |
|
34 |
</item> |
|
35 |
<item row="3" column="0"> |
|
36 |
<widget class="QLabel" name="label_2"> |
|
37 |
<property name="text"> |
|
38 |
<string>Algorithm 2</string> |
|
39 |
</property> |
|
40 |
</widget> |
|
41 |
</item> |
|
42 |
<item row="1" column="0"> |
|
43 |
<widget class="QLabel" name="label"> |
|
44 |
<property name="text"> |
|
45 |
<string>Yolo</string> |
|
46 |
</property> |
|
47 |
</widget> |
|
48 |
</item> |
|
49 |
<item row="0" column="1"> |
|
50 |
<widget class="QLabel" name="label_5"> |
|
51 |
<property name="text"> |
|
52 |
<string>Estimated Time for Symbols(sec)</string> |
|
53 |
</property> |
|
54 |
</widget> |
|
55 |
</item> |
|
56 |
<item row="0" column="0"> |
|
57 |
<widget class="QLabel" name="label_4"> |
|
58 |
<property name="text"> |
|
59 |
<string>Algorithm</string> |
|
60 |
</property> |
|
61 |
</widget> |
|
62 |
</item> |
|
63 |
<item row="0" column="2"> |
|
64 |
<widget class="QLabel" name="label_6"> |
|
65 |
<property name="text"> |
|
66 |
<string>Loss</string> |
|
67 |
</property> |
|
68 |
</widget> |
|
69 |
</item> |
|
70 |
<item row="1" column="1"> |
|
71 |
<widget class="QLineEdit" name="lineEdit"> |
|
72 |
<property name="text"> |
|
73 |
<string>45.8</string> |
|
74 |
</property> |
|
75 |
<property name="readOnly"> |
|
76 |
<bool>true</bool> |
|
77 |
</property> |
|
78 |
</widget> |
|
79 |
</item> |
|
80 |
<item row="1" column="2"> |
|
81 |
<widget class="QLineEdit" name="lineEdit_2"> |
|
82 |
<property name="text"> |
|
83 |
<string>0.936</string> |
|
84 |
</property> |
|
85 |
<property name="readOnly"> |
|
86 |
<bool>true</bool> |
|
87 |
</property> |
|
88 |
</widget> |
|
89 |
</item> |
|
90 |
<item row="2" column="1"> |
|
91 |
<widget class="QLineEdit" name="lineEdit_3"> |
|
92 |
<property name="text"> |
|
93 |
<string>40.6</string> |
|
94 |
</property> |
|
95 |
<property name="readOnly"> |
|
96 |
<bool>true</bool> |
|
97 |
</property> |
|
98 |
</widget> |
|
99 |
</item> |
|
100 |
<item row="3" column="1"> |
|
101 |
<widget class="QLineEdit" name="lineEdit_4"> |
|
102 |
<property name="text"> |
|
103 |
<string>55.7</string> |
|
104 |
</property> |
|
105 |
<property name="readOnly"> |
|
106 |
<bool>true</bool> |
|
107 |
</property> |
|
108 |
</widget> |
|
109 |
</item> |
|
110 |
<item row="2" column="2"> |
|
111 |
<widget class="QLineEdit" name="lineEdit_5"> |
|
112 |
<property name="text"> |
|
113 |
<string>1.124</string> |
|
114 |
</property> |
|
115 |
<property name="readOnly"> |
|
116 |
<bool>true</bool> |
|
117 |
</property> |
|
118 |
</widget> |
|
119 |
</item> |
|
120 |
<item row="3" column="2"> |
|
121 |
<widget class="QLineEdit" name="lineEdit_6"> |
|
122 |
<property name="text"> |
|
123 |
<string>0.983</string> |
|
124 |
</property> |
|
125 |
<property name="readOnly"> |
|
126 |
<bool>true</bool> |
|
127 |
</property> |
|
128 |
</widget> |
|
129 |
</item> |
|
130 |
</layout> |
|
131 |
</item> |
|
132 |
</layout> |
|
133 |
</widget> |
|
134 |
</item> |
|
135 |
<item row="2" column="0"> |
|
136 |
<widget class="QDialogButtonBox" name="buttonBox"> |
|
137 |
<property name="orientation"> |
|
138 |
<enum>Qt::Horizontal</enum> |
|
139 |
</property> |
|
140 |
<property name="standardButtons"> |
|
141 |
<set>QDialogButtonBox::Close</set> |
|
142 |
</property> |
|
143 |
</widget> |
|
144 |
</item> |
|
145 |
<item row="1" column="0"> |
|
146 |
<spacer name="verticalSpacer"> |
|
147 |
<property name="orientation"> |
|
148 |
<enum>Qt::Vertical</enum> |
|
149 |
</property> |
|
150 |
<property name="sizeHint" stdset="0"> |
|
151 |
<size> |
|
152 |
<width>20</width> |
|
153 |
<height>40</height> |
|
154 |
</size> |
|
155 |
</property> |
|
156 |
</spacer> |
|
157 |
</item> |
|
158 |
</layout> |
|
159 |
</widget> |
|
160 |
<resources> |
|
161 |
<include location="../res/MainWindow.qrc"/> |
|
162 |
</resources> |
|
163 |
<connections> |
|
164 |
<connection> |
|
165 |
<sender>buttonBox</sender> |
|
166 |
<signal>accepted()</signal> |
|
167 |
<receiver>TrainingResultDialog</receiver> |
|
168 |
<slot>accept()</slot> |
|
169 |
<hints> |
|
170 |
<hint type="sourcelabel"> |
|
171 |
<x>248</x> |
|
172 |
<y>254</y> |
|
173 |
</hint> |
|
174 |
<hint type="destinationlabel"> |
|
175 |
<x>157</x> |
|
176 |
<y>274</y> |
|
177 |
</hint> |
|
178 |
</hints> |
|
179 |
</connection> |
|
180 |
<connection> |
|
181 |
<sender>buttonBox</sender> |
|
182 |
<signal>rejected()</signal> |
|
183 |
<receiver>TrainingResultDialog</receiver> |
|
184 |
<slot>reject()</slot> |
|
185 |
<hints> |
|
186 |
<hint type="sourcelabel"> |
|
187 |
<x>316</x> |
|
188 |
<y>260</y> |
|
189 |
</hint> |
|
190 |
<hint type="destinationlabel"> |
|
191 |
<x>286</x> |
|
192 |
<y>274</y> |
|
193 |
</hint> |
|
194 |
</hints> |
|
195 |
</connection> |
|
196 |
</connections> |
|
197 |
</ui> |
내보내기 Unified diff