misleep 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- misleep/__init__.py +111 -0
- misleep/__main__.py +16 -0
- misleep/analysis/__init__.py +23 -0
- misleep/analysis/auto_stage.py +158 -0
- misleep/analysis/detection.py +198 -0
- misleep/analysis/features.py +131 -0
- misleep/analysis/models/P30_EEG_F_lightgbm.pkl +0 -0
- misleep/analysis/models/P30_EEG_P_lightgbm.pkl +0 -0
- misleep/analysis/models/__init__.py +0 -0
- misleep/analysis/models/ado_EEG_F_lightgbm.pkl +0 -0
- misleep/analysis/models/ado_EEG_P_lightgbm.pkl +0 -0
- misleep/analysis/models/adult_EEG_F_lightgbm.pkl +0 -0
- misleep/analysis/models/adult_EEG_P_lightgbm.pkl +0 -0
- misleep/analysis/transformer/__init__.py +46 -0
- misleep/analysis/transformer/checkpoints/CausalTransformer_best.pt +0 -0
- misleep/analysis/transformer/checkpoints/__init__.py +0 -0
- misleep/analysis/transformer/configs.py +52 -0
- misleep/analysis/transformer/data.py +362 -0
- misleep/analysis/transformer/inference.py +328 -0
- misleep/analysis/transformer/models.py +220 -0
- misleep/analysis/transformer/preprocessing.py +105 -0
- misleep/config/__init__.py +105 -0
- misleep/config/default_config.ini +38 -0
- misleep/data/__init__.py +13 -0
- misleep/data/annotation.py +114 -0
- misleep/data/midata.py +387 -0
- misleep/gui/__init__.py +23 -0
- misleep/gui/app.py +183 -0
- misleep/gui/config_dialog.py +429 -0
- misleep/gui/dialogs.py +1107 -0
- misleep/gui/event_filters.py +26 -0
- misleep/gui/main_window.py +2699 -0
- misleep/gui/qt_utils.py +277 -0
- misleep/gui/resources/__init__.py +9 -0
- misleep/gui/resources/entire_logo.png +0 -0
- misleep/gui/resources/logo.png +0 -0
- misleep/gui/resources/misleep.ico +0 -0
- misleep/gui/resources/misleep.qrc +7 -0
- misleep/gui/resources/misleep_rc.py +1324 -0
- misleep/gui/spec_window.py +187 -0
- misleep/gui/style.py +994 -0
- misleep/gui/uis/SWA_detect_dialog.ui +181 -0
- misleep/gui/uis/SWA_detect_dialog_ui.py +176 -0
- misleep/gui/uis/__init__.py +6 -0
- misleep/gui/uis/about.ui +88 -0
- misleep/gui/uis/about_ui.py +80 -0
- misleep/gui/uis/auto_stage_causalTransformer_dialog.ui +77 -0
- misleep/gui/uis/auto_stage_causalTransformer_dialog_ui.py +90 -0
- misleep/gui/uis/auto_stage_lightGBM_dialog.ui +124 -0
- misleep/gui/uis/auto_stage_lightGBM_dialog_ui.py +124 -0
- misleep/gui/uis/horizontal_line_dialog.ui +166 -0
- misleep/gui/uis/horizontal_line_dialog_ui.py +157 -0
- misleep/gui/uis/label_dialog.ui +65 -0
- misleep/gui/uis/label_dialog_ui.py +72 -0
- misleep/gui/uis/main_window.ui +871 -0
- misleep/gui/uis/main_window_ui.py +616 -0
- misleep/gui/uis/save_data_dialog.ui +95 -0
- misleep/gui/uis/save_data_dialog_ui.py +98 -0
- misleep/gui/uis/spec_window.ui +109 -0
- misleep/gui/uis/spec_window_ui.py +103 -0
- misleep/gui/uis/spindle_detect_dialog.ui +202 -0
- misleep/gui/uis/spindle_detect_dialog_ui.py +194 -0
- misleep/gui/uis/state_spectral_dialog.ui +240 -0
- misleep/gui/uis/state_spectral_dialog_ui.py +204 -0
- misleep/gui/uis/transfer_result_dialog.ui +104 -0
- misleep/gui/uis/transfer_result_dialog_ui.py +94 -0
- misleep/gui/workers.py +69 -0
- misleep/io/__init__.py +68 -0
- misleep/io/annotation.py +367 -0
- misleep/io/array.py +209 -0
- misleep/io/base.py +174 -0
- misleep/io/edf.py +109 -0
- misleep/io/mat.py +189 -0
- misleep/logger.py +79 -0
- misleep/preprocessing/__init__.py +23 -0
- misleep/preprocessing/artifacts.py +76 -0
- misleep/preprocessing/filtering.py +94 -0
- misleep/preprocessing/segment.py +59 -0
- misleep/preprocessing/spectral.py +169 -0
- misleep/utils/__init__.py +45 -0
- misleep/utils/annotation.py +130 -0
- misleep/utils/entropy.py +135 -0
- misleep/utils/misc.py +69 -0
- misleep/utils/time_utils.py +61 -0
- misleep/viz/__init__.py +12 -0
- misleep/viz/hypnogram.py +48 -0
- misleep/viz/signals.py +51 -0
- misleep/viz/spectral.py +98 -0
- misleep-0.3.0.dist-info/METADATA +249 -0
- misleep-0.3.0.dist-info/RECORD +94 -0
- misleep-0.3.0.dist-info/WHEEL +5 -0
- misleep-0.3.0.dist-info/entry_points.txt +15 -0
- misleep-0.3.0.dist-info/licenses/LICENSE +29 -0
- misleep-0.3.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<ui version="4.0">
|
|
3
|
+
<class>SWADetectDialog</class>
|
|
4
|
+
<widget class="QDialog" name="SWADetectDialog">
|
|
5
|
+
<property name="geometry">
|
|
6
|
+
<rect>
|
|
7
|
+
<x>0</x>
|
|
8
|
+
<y>0</y>
|
|
9
|
+
<width>266</width>
|
|
10
|
+
<height>334</height>
|
|
11
|
+
</rect>
|
|
12
|
+
</property>
|
|
13
|
+
<property name="windowTitle">
|
|
14
|
+
<string>Dialog</string>
|
|
15
|
+
</property>
|
|
16
|
+
<property name="windowIcon">
|
|
17
|
+
<iconset resource="../resources/misleep.qrc">
|
|
18
|
+
<normaloff>:/logo/logo.png</normaloff>:/logo/logo.png</iconset>
|
|
19
|
+
</property>
|
|
20
|
+
<layout class="QGridLayout" name="gridLayout">
|
|
21
|
+
<item row="0" column="0" colspan="2">
|
|
22
|
+
<widget class="QGroupBox" name="groupBox">
|
|
23
|
+
<property name="title">
|
|
24
|
+
<string>SWA detection options</string>
|
|
25
|
+
</property>
|
|
26
|
+
<layout class="QGridLayout" name="gridLayout_2">
|
|
27
|
+
<item row="1" column="0" colspan="3">
|
|
28
|
+
<widget class="Line" name="line">
|
|
29
|
+
<property name="orientation">
|
|
30
|
+
<enum>Qt::Horizontal</enum>
|
|
31
|
+
</property>
|
|
32
|
+
</widget>
|
|
33
|
+
</item>
|
|
34
|
+
<item row="3" column="1">
|
|
35
|
+
<widget class="QDoubleSpinBox" name="FreqHighEditor">
|
|
36
|
+
<property name="decimals">
|
|
37
|
+
<number>1</number>
|
|
38
|
+
</property>
|
|
39
|
+
<property name="value">
|
|
40
|
+
<double>4.000000000000000</double>
|
|
41
|
+
</property>
|
|
42
|
+
</widget>
|
|
43
|
+
</item>
|
|
44
|
+
<item row="2" column="0" colspan="3">
|
|
45
|
+
<widget class="QLabel" name="label_2">
|
|
46
|
+
<property name="text">
|
|
47
|
+
<string>Frequency band:</string>
|
|
48
|
+
</property>
|
|
49
|
+
</widget>
|
|
50
|
+
</item>
|
|
51
|
+
<item row="0" column="1" colspan="2">
|
|
52
|
+
<widget class="QComboBox" name="ChannelComBox"/>
|
|
53
|
+
</item>
|
|
54
|
+
<item row="10" column="1">
|
|
55
|
+
<widget class="QCheckBox" name="InitCheckbox">
|
|
56
|
+
<property name="text">
|
|
57
|
+
<string>Init</string>
|
|
58
|
+
</property>
|
|
59
|
+
</widget>
|
|
60
|
+
</item>
|
|
61
|
+
<item row="0" column="0">
|
|
62
|
+
<widget class="QLabel" name="label">
|
|
63
|
+
<property name="text">
|
|
64
|
+
<string>Channel:</string>
|
|
65
|
+
</property>
|
|
66
|
+
</widget>
|
|
67
|
+
</item>
|
|
68
|
+
<item row="10" column="0">
|
|
69
|
+
<widget class="QCheckBox" name="WakeCheckbox">
|
|
70
|
+
<property name="text">
|
|
71
|
+
<string>Wake</string>
|
|
72
|
+
</property>
|
|
73
|
+
</widget>
|
|
74
|
+
</item>
|
|
75
|
+
<item row="9" column="1">
|
|
76
|
+
<widget class="QCheckBox" name="REMCheckbox">
|
|
77
|
+
<property name="text">
|
|
78
|
+
<string>REM</string>
|
|
79
|
+
</property>
|
|
80
|
+
</widget>
|
|
81
|
+
</item>
|
|
82
|
+
<item row="11" column="0" colspan="3">
|
|
83
|
+
<widget class="Line" name="line_4">
|
|
84
|
+
<property name="orientation">
|
|
85
|
+
<enum>Qt::Horizontal</enum>
|
|
86
|
+
</property>
|
|
87
|
+
</widget>
|
|
88
|
+
</item>
|
|
89
|
+
<item row="3" column="0">
|
|
90
|
+
<widget class="QDoubleSpinBox" name="FreqLowEditor">
|
|
91
|
+
<property name="decimals">
|
|
92
|
+
<number>1</number>
|
|
93
|
+
</property>
|
|
94
|
+
<property name="value">
|
|
95
|
+
<double>0.500000000000000</double>
|
|
96
|
+
</property>
|
|
97
|
+
</widget>
|
|
98
|
+
</item>
|
|
99
|
+
<item row="8" column="0" colspan="3">
|
|
100
|
+
<widget class="QLabel" name="label_4">
|
|
101
|
+
<property name="text">
|
|
102
|
+
<string>State</string>
|
|
103
|
+
</property>
|
|
104
|
+
</widget>
|
|
105
|
+
</item>
|
|
106
|
+
<item row="12" column="0" colspan="3">
|
|
107
|
+
<widget class="QCheckBox" name="ExportCheckbox">
|
|
108
|
+
<property name="text">
|
|
109
|
+
<string>Export to csv</string>
|
|
110
|
+
</property>
|
|
111
|
+
</widget>
|
|
112
|
+
</item>
|
|
113
|
+
<item row="9" column="0">
|
|
114
|
+
<widget class="QCheckBox" name="NREMCheckbox">
|
|
115
|
+
<property name="text">
|
|
116
|
+
<string>NREM</string>
|
|
117
|
+
</property>
|
|
118
|
+
<property name="checked">
|
|
119
|
+
<bool>true</bool>
|
|
120
|
+
</property>
|
|
121
|
+
</widget>
|
|
122
|
+
</item>
|
|
123
|
+
<item row="7" column="0" colspan="3">
|
|
124
|
+
<widget class="Line" name="line_3">
|
|
125
|
+
<property name="orientation">
|
|
126
|
+
<enum>Qt::Horizontal</enum>
|
|
127
|
+
</property>
|
|
128
|
+
</widget>
|
|
129
|
+
</item>
|
|
130
|
+
<item row="6" column="0">
|
|
131
|
+
<widget class="QDoubleSpinBox" name="StdEditor">
|
|
132
|
+
<property name="value">
|
|
133
|
+
<double>0.800000000000000</double>
|
|
134
|
+
</property>
|
|
135
|
+
</widget>
|
|
136
|
+
</item>
|
|
137
|
+
<item row="5" column="0" colspan="2">
|
|
138
|
+
<widget class="QLabel" name="label_3">
|
|
139
|
+
<property name="text">
|
|
140
|
+
<string>Ampliitude threshold:</string>
|
|
141
|
+
</property>
|
|
142
|
+
</widget>
|
|
143
|
+
</item>
|
|
144
|
+
<item row="4" column="0" colspan="3">
|
|
145
|
+
<widget class="Line" name="line_2">
|
|
146
|
+
<property name="orientation">
|
|
147
|
+
<enum>Qt::Horizontal</enum>
|
|
148
|
+
</property>
|
|
149
|
+
</widget>
|
|
150
|
+
</item>
|
|
151
|
+
<item row="6" column="1">
|
|
152
|
+
<widget class="QLabel" name="label_5">
|
|
153
|
+
<property name="text">
|
|
154
|
+
<string>* STD + MEAN</string>
|
|
155
|
+
</property>
|
|
156
|
+
</widget>
|
|
157
|
+
</item>
|
|
158
|
+
</layout>
|
|
159
|
+
</widget>
|
|
160
|
+
</item>
|
|
161
|
+
<item row="1" column="0">
|
|
162
|
+
<widget class="QPushButton" name="OKBt">
|
|
163
|
+
<property name="text">
|
|
164
|
+
<string>Ok</string>
|
|
165
|
+
</property>
|
|
166
|
+
</widget>
|
|
167
|
+
</item>
|
|
168
|
+
<item row="1" column="1">
|
|
169
|
+
<widget class="QPushButton" name="CancelBt">
|
|
170
|
+
<property name="text">
|
|
171
|
+
<string>Cancel</string>
|
|
172
|
+
</property>
|
|
173
|
+
</widget>
|
|
174
|
+
</item>
|
|
175
|
+
</layout>
|
|
176
|
+
</widget>
|
|
177
|
+
<resources>
|
|
178
|
+
<include location="../resources/misleep.qrc"/>
|
|
179
|
+
</resources>
|
|
180
|
+
<connections/>
|
|
181
|
+
</ui>
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
################################################################################
|
|
4
|
+
## Form generated from reading UI file 'SWA_detect_dialog.ui'
|
|
5
|
+
##
|
|
6
|
+
## Created by: Qt User Interface Compiler version 6.11.1
|
|
7
|
+
##
|
|
8
|
+
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
9
|
+
################################################################################
|
|
10
|
+
|
|
11
|
+
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
|
12
|
+
QMetaObject, QObject, QPoint, QRect,
|
|
13
|
+
QSize, QTime, QUrl, Qt)
|
|
14
|
+
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
|
15
|
+
QFont, QFontDatabase, QGradient, QIcon,
|
|
16
|
+
QImage, QKeySequence, QLinearGradient, QPainter,
|
|
17
|
+
QPalette, QPixmap, QRadialGradient, QTransform)
|
|
18
|
+
from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDialog,
|
|
19
|
+
QDoubleSpinBox, QFrame, QGridLayout, QGroupBox,
|
|
20
|
+
QLabel, QPushButton, QSizePolicy, QWidget)
|
|
21
|
+
from misleep.gui.resources import misleep_rc
|
|
22
|
+
|
|
23
|
+
class Ui_SWADetectDialog(object):
|
|
24
|
+
def setupUi(self, SWADetectDialog):
|
|
25
|
+
if not SWADetectDialog.objectName():
|
|
26
|
+
SWADetectDialog.setObjectName(u"SWADetectDialog")
|
|
27
|
+
SWADetectDialog.resize(266, 334)
|
|
28
|
+
icon = QIcon()
|
|
29
|
+
icon.addFile(u":/logo/logo.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
|
|
30
|
+
SWADetectDialog.setWindowIcon(icon)
|
|
31
|
+
self.gridLayout = QGridLayout(SWADetectDialog)
|
|
32
|
+
self.gridLayout.setObjectName(u"gridLayout")
|
|
33
|
+
self.groupBox = QGroupBox(SWADetectDialog)
|
|
34
|
+
self.groupBox.setObjectName(u"groupBox")
|
|
35
|
+
self.gridLayout_2 = QGridLayout(self.groupBox)
|
|
36
|
+
self.gridLayout_2.setObjectName(u"gridLayout_2")
|
|
37
|
+
self.line = QFrame(self.groupBox)
|
|
38
|
+
self.line.setObjectName(u"line")
|
|
39
|
+
self.line.setFrameShape(QFrame.Shape.HLine)
|
|
40
|
+
self.line.setFrameShadow(QFrame.Shadow.Sunken)
|
|
41
|
+
|
|
42
|
+
self.gridLayout_2.addWidget(self.line, 1, 0, 1, 3)
|
|
43
|
+
|
|
44
|
+
self.FreqHighEditor = QDoubleSpinBox(self.groupBox)
|
|
45
|
+
self.FreqHighEditor.setObjectName(u"FreqHighEditor")
|
|
46
|
+
self.FreqHighEditor.setDecimals(1)
|
|
47
|
+
self.FreqHighEditor.setValue(4.000000000000000)
|
|
48
|
+
|
|
49
|
+
self.gridLayout_2.addWidget(self.FreqHighEditor, 3, 1, 1, 1)
|
|
50
|
+
|
|
51
|
+
self.label_2 = QLabel(self.groupBox)
|
|
52
|
+
self.label_2.setObjectName(u"label_2")
|
|
53
|
+
|
|
54
|
+
self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 3)
|
|
55
|
+
|
|
56
|
+
self.ChannelComBox = QComboBox(self.groupBox)
|
|
57
|
+
self.ChannelComBox.setObjectName(u"ChannelComBox")
|
|
58
|
+
|
|
59
|
+
self.gridLayout_2.addWidget(self.ChannelComBox, 0, 1, 1, 2)
|
|
60
|
+
|
|
61
|
+
self.InitCheckbox = QCheckBox(self.groupBox)
|
|
62
|
+
self.InitCheckbox.setObjectName(u"InitCheckbox")
|
|
63
|
+
|
|
64
|
+
self.gridLayout_2.addWidget(self.InitCheckbox, 10, 1, 1, 1)
|
|
65
|
+
|
|
66
|
+
self.label = QLabel(self.groupBox)
|
|
67
|
+
self.label.setObjectName(u"label")
|
|
68
|
+
|
|
69
|
+
self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
|
|
70
|
+
|
|
71
|
+
self.WakeCheckbox = QCheckBox(self.groupBox)
|
|
72
|
+
self.WakeCheckbox.setObjectName(u"WakeCheckbox")
|
|
73
|
+
|
|
74
|
+
self.gridLayout_2.addWidget(self.WakeCheckbox, 10, 0, 1, 1)
|
|
75
|
+
|
|
76
|
+
self.REMCheckbox = QCheckBox(self.groupBox)
|
|
77
|
+
self.REMCheckbox.setObjectName(u"REMCheckbox")
|
|
78
|
+
|
|
79
|
+
self.gridLayout_2.addWidget(self.REMCheckbox, 9, 1, 1, 1)
|
|
80
|
+
|
|
81
|
+
self.line_4 = QFrame(self.groupBox)
|
|
82
|
+
self.line_4.setObjectName(u"line_4")
|
|
83
|
+
self.line_4.setFrameShape(QFrame.Shape.HLine)
|
|
84
|
+
self.line_4.setFrameShadow(QFrame.Shadow.Sunken)
|
|
85
|
+
|
|
86
|
+
self.gridLayout_2.addWidget(self.line_4, 11, 0, 1, 3)
|
|
87
|
+
|
|
88
|
+
self.FreqLowEditor = QDoubleSpinBox(self.groupBox)
|
|
89
|
+
self.FreqLowEditor.setObjectName(u"FreqLowEditor")
|
|
90
|
+
self.FreqLowEditor.setDecimals(1)
|
|
91
|
+
self.FreqLowEditor.setValue(0.500000000000000)
|
|
92
|
+
|
|
93
|
+
self.gridLayout_2.addWidget(self.FreqLowEditor, 3, 0, 1, 1)
|
|
94
|
+
|
|
95
|
+
self.label_4 = QLabel(self.groupBox)
|
|
96
|
+
self.label_4.setObjectName(u"label_4")
|
|
97
|
+
|
|
98
|
+
self.gridLayout_2.addWidget(self.label_4, 8, 0, 1, 3)
|
|
99
|
+
|
|
100
|
+
self.ExportCheckbox = QCheckBox(self.groupBox)
|
|
101
|
+
self.ExportCheckbox.setObjectName(u"ExportCheckbox")
|
|
102
|
+
|
|
103
|
+
self.gridLayout_2.addWidget(self.ExportCheckbox, 12, 0, 1, 3)
|
|
104
|
+
|
|
105
|
+
self.NREMCheckbox = QCheckBox(self.groupBox)
|
|
106
|
+
self.NREMCheckbox.setObjectName(u"NREMCheckbox")
|
|
107
|
+
self.NREMCheckbox.setChecked(True)
|
|
108
|
+
|
|
109
|
+
self.gridLayout_2.addWidget(self.NREMCheckbox, 9, 0, 1, 1)
|
|
110
|
+
|
|
111
|
+
self.line_3 = QFrame(self.groupBox)
|
|
112
|
+
self.line_3.setObjectName(u"line_3")
|
|
113
|
+
self.line_3.setFrameShape(QFrame.Shape.HLine)
|
|
114
|
+
self.line_3.setFrameShadow(QFrame.Shadow.Sunken)
|
|
115
|
+
|
|
116
|
+
self.gridLayout_2.addWidget(self.line_3, 7, 0, 1, 3)
|
|
117
|
+
|
|
118
|
+
self.StdEditor = QDoubleSpinBox(self.groupBox)
|
|
119
|
+
self.StdEditor.setObjectName(u"StdEditor")
|
|
120
|
+
self.StdEditor.setValue(0.800000000000000)
|
|
121
|
+
|
|
122
|
+
self.gridLayout_2.addWidget(self.StdEditor, 6, 0, 1, 1)
|
|
123
|
+
|
|
124
|
+
self.label_3 = QLabel(self.groupBox)
|
|
125
|
+
self.label_3.setObjectName(u"label_3")
|
|
126
|
+
|
|
127
|
+
self.gridLayout_2.addWidget(self.label_3, 5, 0, 1, 2)
|
|
128
|
+
|
|
129
|
+
self.line_2 = QFrame(self.groupBox)
|
|
130
|
+
self.line_2.setObjectName(u"line_2")
|
|
131
|
+
self.line_2.setFrameShape(QFrame.Shape.HLine)
|
|
132
|
+
self.line_2.setFrameShadow(QFrame.Shadow.Sunken)
|
|
133
|
+
|
|
134
|
+
self.gridLayout_2.addWidget(self.line_2, 4, 0, 1, 3)
|
|
135
|
+
|
|
136
|
+
self.label_5 = QLabel(self.groupBox)
|
|
137
|
+
self.label_5.setObjectName(u"label_5")
|
|
138
|
+
|
|
139
|
+
self.gridLayout_2.addWidget(self.label_5, 6, 1, 1, 1)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 2)
|
|
143
|
+
|
|
144
|
+
self.OKBt = QPushButton(SWADetectDialog)
|
|
145
|
+
self.OKBt.setObjectName(u"OKBt")
|
|
146
|
+
|
|
147
|
+
self.gridLayout.addWidget(self.OKBt, 1, 0, 1, 1)
|
|
148
|
+
|
|
149
|
+
self.CancelBt = QPushButton(SWADetectDialog)
|
|
150
|
+
self.CancelBt.setObjectName(u"CancelBt")
|
|
151
|
+
|
|
152
|
+
self.gridLayout.addWidget(self.CancelBt, 1, 1, 1, 1)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
self.retranslateUi(SWADetectDialog)
|
|
156
|
+
|
|
157
|
+
QMetaObject.connectSlotsByName(SWADetectDialog)
|
|
158
|
+
# setupUi
|
|
159
|
+
|
|
160
|
+
def retranslateUi(self, SWADetectDialog):
|
|
161
|
+
SWADetectDialog.setWindowTitle(QCoreApplication.translate("SWADetectDialog", u"Dialog", None))
|
|
162
|
+
self.groupBox.setTitle(QCoreApplication.translate("SWADetectDialog", u"SWA detection options", None))
|
|
163
|
+
self.label_2.setText(QCoreApplication.translate("SWADetectDialog", u"Frequency band:", None))
|
|
164
|
+
self.InitCheckbox.setText(QCoreApplication.translate("SWADetectDialog", u"Init", None))
|
|
165
|
+
self.label.setText(QCoreApplication.translate("SWADetectDialog", u"Channel:", None))
|
|
166
|
+
self.WakeCheckbox.setText(QCoreApplication.translate("SWADetectDialog", u"Wake", None))
|
|
167
|
+
self.REMCheckbox.setText(QCoreApplication.translate("SWADetectDialog", u"REM", None))
|
|
168
|
+
self.label_4.setText(QCoreApplication.translate("SWADetectDialog", u"State", None))
|
|
169
|
+
self.ExportCheckbox.setText(QCoreApplication.translate("SWADetectDialog", u"Export to csv", None))
|
|
170
|
+
self.NREMCheckbox.setText(QCoreApplication.translate("SWADetectDialog", u"NREM", None))
|
|
171
|
+
self.label_3.setText(QCoreApplication.translate("SWADetectDialog", u"Ampliitude threshold:", None))
|
|
172
|
+
self.label_5.setText(QCoreApplication.translate("SWADetectDialog", u"* STD + MEAN", None))
|
|
173
|
+
self.OKBt.setText(QCoreApplication.translate("SWADetectDialog", u"Ok", None))
|
|
174
|
+
self.CancelBt.setText(QCoreApplication.translate("SWADetectDialog", u"Cancel", None))
|
|
175
|
+
# retranslateUi
|
|
176
|
+
|
misleep/gui/uis/about.ui
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<ui version="4.0">
|
|
3
|
+
<class>AboutDialog</class>
|
|
4
|
+
<widget class="QDialog" name="AboutDialog">
|
|
5
|
+
<property name="geometry">
|
|
6
|
+
<rect>
|
|
7
|
+
<x>0</x>
|
|
8
|
+
<y>0</y>
|
|
9
|
+
<width>480</width>
|
|
10
|
+
<height>342</height>
|
|
11
|
+
</rect>
|
|
12
|
+
</property>
|
|
13
|
+
<property name="windowTitle">
|
|
14
|
+
<string>About</string>
|
|
15
|
+
</property>
|
|
16
|
+
<property name="windowIcon">
|
|
17
|
+
<iconset resource="../resources/misleep.qrc">
|
|
18
|
+
<normaloff>:/logo/logo.png</normaloff>:/logo/logo.png</iconset>
|
|
19
|
+
</property>
|
|
20
|
+
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
21
|
+
<property name="spacing">
|
|
22
|
+
<number>20</number>
|
|
23
|
+
</property>
|
|
24
|
+
<property name="sizeConstraint">
|
|
25
|
+
<enum>QLayout::SetFixedSize</enum>
|
|
26
|
+
</property>
|
|
27
|
+
<property name="leftMargin">
|
|
28
|
+
<number>40</number>
|
|
29
|
+
</property>
|
|
30
|
+
<property name="topMargin">
|
|
31
|
+
<number>40</number>
|
|
32
|
+
</property>
|
|
33
|
+
<property name="rightMargin">
|
|
34
|
+
<number>40</number>
|
|
35
|
+
</property>
|
|
36
|
+
<property name="bottomMargin">
|
|
37
|
+
<number>20</number>
|
|
38
|
+
</property>
|
|
39
|
+
<item>
|
|
40
|
+
<widget class="QLabel" name="label_4">
|
|
41
|
+
<property name="text">
|
|
42
|
+
<string><html><head/><body><p><img src=":/logo/entire_logo.png"/></p></body></html></string>
|
|
43
|
+
</property>
|
|
44
|
+
</widget>
|
|
45
|
+
</item>
|
|
46
|
+
<item>
|
|
47
|
+
<widget class="QGroupBox" name="groupBox">
|
|
48
|
+
<property name="font">
|
|
49
|
+
<font>
|
|
50
|
+
<family>Arial</family>
|
|
51
|
+
<pointsize>11</pointsize>
|
|
52
|
+
</font>
|
|
53
|
+
</property>
|
|
54
|
+
<property name="title">
|
|
55
|
+
<string>MiSleep</string>
|
|
56
|
+
</property>
|
|
57
|
+
<layout class="QVBoxLayout" name="verticalLayout">
|
|
58
|
+
<item>
|
|
59
|
+
<widget class="QLabel" name="VersionLabel">
|
|
60
|
+
<property name="text">
|
|
61
|
+
<string>Version: 0.3.0</string>
|
|
62
|
+
</property>
|
|
63
|
+
</widget>
|
|
64
|
+
</item>
|
|
65
|
+
<item>
|
|
66
|
+
<widget class="QLabel" name="UpdateLabel">
|
|
67
|
+
<property name="text">
|
|
68
|
+
<string>Update: 2026/08/18</string>
|
|
69
|
+
</property>
|
|
70
|
+
</widget>
|
|
71
|
+
</item>
|
|
72
|
+
<item>
|
|
73
|
+
<widget class="QLabel" name="CopyrightLabel">
|
|
74
|
+
<property name="text">
|
|
75
|
+
<string>Copyright © 2023–2026 Xueqiang Wang.</string>
|
|
76
|
+
</property>
|
|
77
|
+
</widget>
|
|
78
|
+
</item>
|
|
79
|
+
</layout>
|
|
80
|
+
</widget>
|
|
81
|
+
</item>
|
|
82
|
+
</layout>
|
|
83
|
+
</widget>
|
|
84
|
+
<resources>
|
|
85
|
+
<include location="../resources/misleep.qrc"/>
|
|
86
|
+
</resources>
|
|
87
|
+
<connections/>
|
|
88
|
+
</ui>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
################################################################################
|
|
4
|
+
## Form generated from reading UI file 'about.ui'
|
|
5
|
+
##
|
|
6
|
+
## Created by: Qt User Interface Compiler version 6.11.1
|
|
7
|
+
##
|
|
8
|
+
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
9
|
+
################################################################################
|
|
10
|
+
|
|
11
|
+
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
|
12
|
+
QMetaObject, QObject, QPoint, QRect,
|
|
13
|
+
QSize, QTime, QUrl, Qt)
|
|
14
|
+
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
|
15
|
+
QFont, QFontDatabase, QGradient, QIcon,
|
|
16
|
+
QImage, QKeySequence, QLinearGradient, QPainter,
|
|
17
|
+
QPalette, QPixmap, QRadialGradient, QTransform)
|
|
18
|
+
from PySide6.QtWidgets import (QApplication, QDialog, QGroupBox, QLabel,
|
|
19
|
+
QLayout, QSizePolicy, QVBoxLayout, QWidget)
|
|
20
|
+
from misleep.gui.resources import misleep_rc
|
|
21
|
+
|
|
22
|
+
class Ui_AboutDialog(object):
|
|
23
|
+
def setupUi(self, AboutDialog):
|
|
24
|
+
if not AboutDialog.objectName():
|
|
25
|
+
AboutDialog.setObjectName(u"AboutDialog")
|
|
26
|
+
AboutDialog.resize(480, 342)
|
|
27
|
+
icon = QIcon()
|
|
28
|
+
icon.addFile(u":/logo/logo.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
|
|
29
|
+
AboutDialog.setWindowIcon(icon)
|
|
30
|
+
self.verticalLayout_2 = QVBoxLayout(AboutDialog)
|
|
31
|
+
self.verticalLayout_2.setSpacing(20)
|
|
32
|
+
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
|
33
|
+
self.verticalLayout_2.setSizeConstraint(QLayout.SetFixedSize)
|
|
34
|
+
self.verticalLayout_2.setContentsMargins(40, 40, 40, 20)
|
|
35
|
+
self.label_4 = QLabel(AboutDialog)
|
|
36
|
+
self.label_4.setObjectName(u"label_4")
|
|
37
|
+
|
|
38
|
+
self.verticalLayout_2.addWidget(self.label_4)
|
|
39
|
+
|
|
40
|
+
self.groupBox = QGroupBox(AboutDialog)
|
|
41
|
+
self.groupBox.setObjectName(u"groupBox")
|
|
42
|
+
font = QFont()
|
|
43
|
+
font.setFamilies([u"Arial"])
|
|
44
|
+
font.setPointSize(11)
|
|
45
|
+
self.groupBox.setFont(font)
|
|
46
|
+
self.verticalLayout = QVBoxLayout(self.groupBox)
|
|
47
|
+
self.verticalLayout.setObjectName(u"verticalLayout")
|
|
48
|
+
self.VersionLabel = QLabel(self.groupBox)
|
|
49
|
+
self.VersionLabel.setObjectName(u"VersionLabel")
|
|
50
|
+
|
|
51
|
+
self.verticalLayout.addWidget(self.VersionLabel)
|
|
52
|
+
|
|
53
|
+
self.UpdateLabel = QLabel(self.groupBox)
|
|
54
|
+
self.UpdateLabel.setObjectName(u"UpdateLabel")
|
|
55
|
+
|
|
56
|
+
self.verticalLayout.addWidget(self.UpdateLabel)
|
|
57
|
+
|
|
58
|
+
self.CopyrightLabel = QLabel(self.groupBox)
|
|
59
|
+
self.CopyrightLabel.setObjectName(u"CopyrightLabel")
|
|
60
|
+
|
|
61
|
+
self.verticalLayout.addWidget(self.CopyrightLabel)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
self.verticalLayout_2.addWidget(self.groupBox)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
self.retranslateUi(AboutDialog)
|
|
68
|
+
|
|
69
|
+
QMetaObject.connectSlotsByName(AboutDialog)
|
|
70
|
+
# setupUi
|
|
71
|
+
|
|
72
|
+
def retranslateUi(self, AboutDialog):
|
|
73
|
+
AboutDialog.setWindowTitle(QCoreApplication.translate("AboutDialog", u"About", None))
|
|
74
|
+
self.label_4.setText(QCoreApplication.translate("AboutDialog", u"<html><head/><body><p><img src=\":/logo/entire_logo.png\"/></p></body></html>", None))
|
|
75
|
+
self.groupBox.setTitle(QCoreApplication.translate("AboutDialog", u"MiSleep", None))
|
|
76
|
+
self.VersionLabel.setText(QCoreApplication.translate("AboutDialog", u"Version: 0.3.0", None))
|
|
77
|
+
self.UpdateLabel.setText(QCoreApplication.translate("AboutDialog", u"Update: 2026/08/18", None))
|
|
78
|
+
self.CopyrightLabel.setText(QCoreApplication.translate("AboutDialog", u"Copyright \u00a9 2023\u20132026 Xueqiang Wang.", None))
|
|
79
|
+
# retranslateUi
|
|
80
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<ui version="4.0">
|
|
3
|
+
<class>AutoStageCausalTransformerDialog</class>
|
|
4
|
+
<widget class="QDialog" name="AutoStageCausalTransformerDialog">
|
|
5
|
+
<property name="geometry">
|
|
6
|
+
<rect>
|
|
7
|
+
<x>0</x>
|
|
8
|
+
<y>0</y>
|
|
9
|
+
<width>408</width>
|
|
10
|
+
<height>342</height>
|
|
11
|
+
</rect>
|
|
12
|
+
</property>
|
|
13
|
+
<property name="windowTitle">
|
|
14
|
+
<string>Dialog</string>
|
|
15
|
+
</property>
|
|
16
|
+
<property name="windowIcon">
|
|
17
|
+
<iconset resource="../resources/misleep.qrc">
|
|
18
|
+
<normaloff>:/logo/logo.png</normaloff>:/logo/logo.png</iconset>
|
|
19
|
+
</property>
|
|
20
|
+
<layout class="QGridLayout" name="gridLayout">
|
|
21
|
+
<item row="1" column="0">
|
|
22
|
+
<widget class="QPushButton" name="OKBt">
|
|
23
|
+
<property name="text">
|
|
24
|
+
<string>Ok</string>
|
|
25
|
+
</property>
|
|
26
|
+
</widget>
|
|
27
|
+
</item>
|
|
28
|
+
<item row="1" column="1">
|
|
29
|
+
<widget class="QPushButton" name="CancelBt">
|
|
30
|
+
<property name="text">
|
|
31
|
+
<string>Cancel</string>
|
|
32
|
+
</property>
|
|
33
|
+
</widget>
|
|
34
|
+
</item>
|
|
35
|
+
<item row="0" column="0" colspan="2">
|
|
36
|
+
<widget class="QGroupBox" name="groupBox">
|
|
37
|
+
<property name="title">
|
|
38
|
+
<string>Causal Transformer Auto Stage options</string>
|
|
39
|
+
</property>
|
|
40
|
+
<layout class="QGridLayout" name="gridLayout_2">
|
|
41
|
+
<item row="0" column="0">
|
|
42
|
+
<widget class="QLabel" name="label">
|
|
43
|
+
<property name="text">
|
|
44
|
+
<string>EEG channel:</string>
|
|
45
|
+
</property>
|
|
46
|
+
</widget>
|
|
47
|
+
</item>
|
|
48
|
+
<item row="0" column="1" colspan="2">
|
|
49
|
+
<widget class="QComboBox" name="EEGChannelCombox"/>
|
|
50
|
+
</item>
|
|
51
|
+
<item row="1" column="0">
|
|
52
|
+
<widget class="QLabel" name="label_8">
|
|
53
|
+
<property name="text">
|
|
54
|
+
<string>EMG channel:</string>
|
|
55
|
+
</property>
|
|
56
|
+
</widget>
|
|
57
|
+
</item>
|
|
58
|
+
<item row="1" column="1" colspan="2">
|
|
59
|
+
<widget class="QComboBox" name="EMGchannelCombox"/>
|
|
60
|
+
</item>
|
|
61
|
+
<item row="2" column="0" colspan="3">
|
|
62
|
+
<widget class="QCheckBox" name="SaveAnnoCheckbox">
|
|
63
|
+
<property name="text">
|
|
64
|
+
<string>Cover current label</string>
|
|
65
|
+
</property>
|
|
66
|
+
</widget>
|
|
67
|
+
</item>
|
|
68
|
+
</layout>
|
|
69
|
+
</widget>
|
|
70
|
+
</item>
|
|
71
|
+
</layout>
|
|
72
|
+
</widget>
|
|
73
|
+
<resources>
|
|
74
|
+
<include location="../resources/misleep.qrc"/>
|
|
75
|
+
</resources>
|
|
76
|
+
<connections/>
|
|
77
|
+
</ui>
|