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.
Files changed (94) hide show
  1. misleep/__init__.py +111 -0
  2. misleep/__main__.py +16 -0
  3. misleep/analysis/__init__.py +23 -0
  4. misleep/analysis/auto_stage.py +158 -0
  5. misleep/analysis/detection.py +198 -0
  6. misleep/analysis/features.py +131 -0
  7. misleep/analysis/models/P30_EEG_F_lightgbm.pkl +0 -0
  8. misleep/analysis/models/P30_EEG_P_lightgbm.pkl +0 -0
  9. misleep/analysis/models/__init__.py +0 -0
  10. misleep/analysis/models/ado_EEG_F_lightgbm.pkl +0 -0
  11. misleep/analysis/models/ado_EEG_P_lightgbm.pkl +0 -0
  12. misleep/analysis/models/adult_EEG_F_lightgbm.pkl +0 -0
  13. misleep/analysis/models/adult_EEG_P_lightgbm.pkl +0 -0
  14. misleep/analysis/transformer/__init__.py +46 -0
  15. misleep/analysis/transformer/checkpoints/CausalTransformer_best.pt +0 -0
  16. misleep/analysis/transformer/checkpoints/__init__.py +0 -0
  17. misleep/analysis/transformer/configs.py +52 -0
  18. misleep/analysis/transformer/data.py +362 -0
  19. misleep/analysis/transformer/inference.py +328 -0
  20. misleep/analysis/transformer/models.py +220 -0
  21. misleep/analysis/transformer/preprocessing.py +105 -0
  22. misleep/config/__init__.py +105 -0
  23. misleep/config/default_config.ini +38 -0
  24. misleep/data/__init__.py +13 -0
  25. misleep/data/annotation.py +114 -0
  26. misleep/data/midata.py +387 -0
  27. misleep/gui/__init__.py +23 -0
  28. misleep/gui/app.py +183 -0
  29. misleep/gui/config_dialog.py +429 -0
  30. misleep/gui/dialogs.py +1107 -0
  31. misleep/gui/event_filters.py +26 -0
  32. misleep/gui/main_window.py +2699 -0
  33. misleep/gui/qt_utils.py +277 -0
  34. misleep/gui/resources/__init__.py +9 -0
  35. misleep/gui/resources/entire_logo.png +0 -0
  36. misleep/gui/resources/logo.png +0 -0
  37. misleep/gui/resources/misleep.ico +0 -0
  38. misleep/gui/resources/misleep.qrc +7 -0
  39. misleep/gui/resources/misleep_rc.py +1324 -0
  40. misleep/gui/spec_window.py +187 -0
  41. misleep/gui/style.py +994 -0
  42. misleep/gui/uis/SWA_detect_dialog.ui +181 -0
  43. misleep/gui/uis/SWA_detect_dialog_ui.py +176 -0
  44. misleep/gui/uis/__init__.py +6 -0
  45. misleep/gui/uis/about.ui +88 -0
  46. misleep/gui/uis/about_ui.py +80 -0
  47. misleep/gui/uis/auto_stage_causalTransformer_dialog.ui +77 -0
  48. misleep/gui/uis/auto_stage_causalTransformer_dialog_ui.py +90 -0
  49. misleep/gui/uis/auto_stage_lightGBM_dialog.ui +124 -0
  50. misleep/gui/uis/auto_stage_lightGBM_dialog_ui.py +124 -0
  51. misleep/gui/uis/horizontal_line_dialog.ui +166 -0
  52. misleep/gui/uis/horizontal_line_dialog_ui.py +157 -0
  53. misleep/gui/uis/label_dialog.ui +65 -0
  54. misleep/gui/uis/label_dialog_ui.py +72 -0
  55. misleep/gui/uis/main_window.ui +871 -0
  56. misleep/gui/uis/main_window_ui.py +616 -0
  57. misleep/gui/uis/save_data_dialog.ui +95 -0
  58. misleep/gui/uis/save_data_dialog_ui.py +98 -0
  59. misleep/gui/uis/spec_window.ui +109 -0
  60. misleep/gui/uis/spec_window_ui.py +103 -0
  61. misleep/gui/uis/spindle_detect_dialog.ui +202 -0
  62. misleep/gui/uis/spindle_detect_dialog_ui.py +194 -0
  63. misleep/gui/uis/state_spectral_dialog.ui +240 -0
  64. misleep/gui/uis/state_spectral_dialog_ui.py +204 -0
  65. misleep/gui/uis/transfer_result_dialog.ui +104 -0
  66. misleep/gui/uis/transfer_result_dialog_ui.py +94 -0
  67. misleep/gui/workers.py +69 -0
  68. misleep/io/__init__.py +68 -0
  69. misleep/io/annotation.py +367 -0
  70. misleep/io/array.py +209 -0
  71. misleep/io/base.py +174 -0
  72. misleep/io/edf.py +109 -0
  73. misleep/io/mat.py +189 -0
  74. misleep/logger.py +79 -0
  75. misleep/preprocessing/__init__.py +23 -0
  76. misleep/preprocessing/artifacts.py +76 -0
  77. misleep/preprocessing/filtering.py +94 -0
  78. misleep/preprocessing/segment.py +59 -0
  79. misleep/preprocessing/spectral.py +169 -0
  80. misleep/utils/__init__.py +45 -0
  81. misleep/utils/annotation.py +130 -0
  82. misleep/utils/entropy.py +135 -0
  83. misleep/utils/misc.py +69 -0
  84. misleep/utils/time_utils.py +61 -0
  85. misleep/viz/__init__.py +12 -0
  86. misleep/viz/hypnogram.py +48 -0
  87. misleep/viz/signals.py +51 -0
  88. misleep/viz/spectral.py +98 -0
  89. misleep-0.3.0.dist-info/METADATA +249 -0
  90. misleep-0.3.0.dist-info/RECORD +94 -0
  91. misleep-0.3.0.dist-info/WHEEL +5 -0
  92. misleep-0.3.0.dist-info/entry_points.txt +15 -0
  93. misleep-0.3.0.dist-info/licenses/LICENSE +29 -0
  94. 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
+
@@ -0,0 +1,6 @@
1
+ # -*- coding: UTF-8 -*-
2
+ """Generated PySide6 UI modules.
3
+
4
+ These files are produced from the ``.ui`` sources by
5
+ ``tools/compile_ui.py`` -- do not edit them by hand.
6
+ """
@@ -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>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;img src=&quot;:/logo/entire_logo.png&quot;/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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>