-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSetTsneParamsWin.py
65 lines (52 loc) · 2.44 KB
/
SetTsneParamsWin.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from PyQt5.QtWidgets import *
class SetTsneParams(QMainWindow):
def __init__(self, parent, in_len):
super().__init__(parent)
# Default
self.previous_window = parent
self.perplexity = 50.0
self.dim = 2
self.iterations = 500
self.centralWidget = QWidget()
self.setCentralWidget(self.centralWidget)
self.layout = QVBoxLayout(self.centralWidget)
self.perplexity_label = QLabel("Перплексия")
self.perplexity_edit = QLineEdit()
self.layout.addWidget(self.perplexity_label)
self.layout.addWidget(self.perplexity_edit)
self.dim_label = QLabel("Новая размерность(исх. = "+str(in_len)+")")
self.dim_edit = QLineEdit()
self.layout.addWidget(self.dim_label)
self.layout.addWidget(self.dim_edit)
self.iterations_label = QLabel("Число итераций")
self.iterations_edit = QLineEdit()
self.layout.addWidget(self.iterations_label)
self.layout.addWidget(self.iterations_edit)
self.confirmationButton1 = QPushButton("Готово")
self.confirmationButton1.clicked.connect(self.set_params)
self.layout.addWidget(self.confirmationButton1)
self.setGeometry(100, 100, 200, 150)
self.setWindowTitle("Параметры t-SNE")
self.show()
def perf(self):
print("everything is good")
def set_params(self): # TODO: временно исключен промежуточный этап
if self.prepareData(): # TODO: what is this func doing?
self.close()
self.previous_window.set_tsne_params_pressed(self.perplexity, self.dim, self.iterations)
def prepareData(self):
""" Подготавилвает данные, нужные для работы
:return: возвращает True если подготовка выполнена успешно и False в противном случае
"""
try:
self.perplexity = float(self.perplexity_edit.text())
self.dim = int(self.dim_edit.text())
self.iterations = int(self.iterations_edit.text())
except ValueError:
msg = QMessageBox()
msg.setIcon(QMessageBox.Warning)
msg.setText("задано некорректно")
msg.setWindowTitle("Внимание")
msg.exec_()
return False
return True