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,194 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ ################################################################################
4
+ ## Form generated from reading UI file 'spindle_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_SpindleDetectDialog(object):
24
+ def setupUi(self, SpindleDetectDialog):
25
+ if not SpindleDetectDialog.objectName():
26
+ SpindleDetectDialog.setObjectName(u"SpindleDetectDialog")
27
+ SpindleDetectDialog.resize(278, 429)
28
+ icon = QIcon()
29
+ icon.addFile(u":/logo/logo.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
30
+ SpindleDetectDialog.setWindowIcon(icon)
31
+ self.gridLayout = QGridLayout(SpindleDetectDialog)
32
+ self.gridLayout.setObjectName(u"gridLayout")
33
+ self.groupBox = QGroupBox(SpindleDetectDialog)
34
+ self.groupBox.setObjectName(u"groupBox")
35
+ self.gridLayout_2 = QGridLayout(self.groupBox)
36
+ self.gridLayout_2.setObjectName(u"gridLayout_2")
37
+ self.WakeCheckbox = QCheckBox(self.groupBox)
38
+ self.WakeCheckbox.setObjectName(u"WakeCheckbox")
39
+
40
+ self.gridLayout_2.addWidget(self.WakeCheckbox, 12, 0, 1, 1)
41
+
42
+ self.StdEditor = QDoubleSpinBox(self.groupBox)
43
+ self.StdEditor.setObjectName(u"StdEditor")
44
+ self.StdEditor.setValue(1.500000000000000)
45
+
46
+ self.gridLayout_2.addWidget(self.StdEditor, 6, 0, 1, 1)
47
+
48
+ self.ExportCheckbox = QCheckBox(self.groupBox)
49
+ self.ExportCheckbox.setObjectName(u"ExportCheckbox")
50
+
51
+ self.gridLayout_2.addWidget(self.ExportCheckbox, 14, 0, 1, 3)
52
+
53
+ self.line = QFrame(self.groupBox)
54
+ self.line.setObjectName(u"line")
55
+ self.line.setFrameShape(QFrame.Shape.HLine)
56
+ self.line.setFrameShadow(QFrame.Shadow.Sunken)
57
+
58
+ self.gridLayout_2.addWidget(self.line, 1, 0, 1, 3)
59
+
60
+ self.REMCheckbox = QCheckBox(self.groupBox)
61
+ self.REMCheckbox.setObjectName(u"REMCheckbox")
62
+
63
+ self.gridLayout_2.addWidget(self.REMCheckbox, 11, 1, 1, 1)
64
+
65
+ self.label = QLabel(self.groupBox)
66
+ self.label.setObjectName(u"label")
67
+
68
+ self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
69
+
70
+ self.label_5 = QLabel(self.groupBox)
71
+ self.label_5.setObjectName(u"label_5")
72
+
73
+ self.gridLayout_2.addWidget(self.label_5, 6, 1, 1, 1)
74
+
75
+ self.label_4 = QLabel(self.groupBox)
76
+ self.label_4.setObjectName(u"label_4")
77
+
78
+ self.gridLayout_2.addWidget(self.label_4, 10, 0, 1, 3)
79
+
80
+ self.InitCheckbox = QCheckBox(self.groupBox)
81
+ self.InitCheckbox.setObjectName(u"InitCheckbox")
82
+
83
+ self.gridLayout_2.addWidget(self.InitCheckbox, 12, 1, 1, 1)
84
+
85
+ self.ChannelComBox = QComboBox(self.groupBox)
86
+ self.ChannelComBox.setObjectName(u"ChannelComBox")
87
+
88
+ self.gridLayout_2.addWidget(self.ChannelComBox, 0, 1, 1, 2)
89
+
90
+ self.NREMCheckbox = QCheckBox(self.groupBox)
91
+ self.NREMCheckbox.setObjectName(u"NREMCheckbox")
92
+ self.NREMCheckbox.setChecked(True)
93
+
94
+ self.gridLayout_2.addWidget(self.NREMCheckbox, 11, 0, 1, 1)
95
+
96
+ self.line_2 = QFrame(self.groupBox)
97
+ self.line_2.setObjectName(u"line_2")
98
+ self.line_2.setFrameShape(QFrame.Shape.HLine)
99
+ self.line_2.setFrameShadow(QFrame.Shadow.Sunken)
100
+
101
+ self.gridLayout_2.addWidget(self.line_2, 4, 0, 1, 3)
102
+
103
+ self.label_2 = QLabel(self.groupBox)
104
+ self.label_2.setObjectName(u"label_2")
105
+
106
+ self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 3)
107
+
108
+ self.label_3 = QLabel(self.groupBox)
109
+ self.label_3.setObjectName(u"label_3")
110
+
111
+ self.gridLayout_2.addWidget(self.label_3, 5, 0, 1, 2)
112
+
113
+ self.line_4 = QFrame(self.groupBox)
114
+ self.line_4.setObjectName(u"line_4")
115
+ self.line_4.setFrameShape(QFrame.Shape.HLine)
116
+ self.line_4.setFrameShadow(QFrame.Shadow.Sunken)
117
+
118
+ self.gridLayout_2.addWidget(self.line_4, 13, 0, 1, 3)
119
+
120
+ self.line_3 = QFrame(self.groupBox)
121
+ self.line_3.setObjectName(u"line_3")
122
+ self.line_3.setFrameShape(QFrame.Shape.HLine)
123
+ self.line_3.setFrameShadow(QFrame.Shadow.Sunken)
124
+
125
+ self.gridLayout_2.addWidget(self.line_3, 9, 0, 1, 3)
126
+
127
+ self.label_6 = QLabel(self.groupBox)
128
+ self.label_6.setObjectName(u"label_6")
129
+
130
+ self.gridLayout_2.addWidget(self.label_6, 7, 0, 1, 3)
131
+
132
+ self.FreqLowEditor = QDoubleSpinBox(self.groupBox)
133
+ self.FreqLowEditor.setObjectName(u"FreqLowEditor")
134
+ self.FreqLowEditor.setDecimals(1)
135
+ self.FreqLowEditor.setValue(10.000000000000000)
136
+
137
+ self.gridLayout_2.addWidget(self.FreqLowEditor, 3, 0, 1, 1)
138
+
139
+ self.FreqHighEditor = QDoubleSpinBox(self.groupBox)
140
+ self.FreqHighEditor.setObjectName(u"FreqHighEditor")
141
+ self.FreqHighEditor.setDecimals(1)
142
+ self.FreqHighEditor.setValue(15.000000000000000)
143
+
144
+ self.gridLayout_2.addWidget(self.FreqHighEditor, 3, 1, 1, 1)
145
+
146
+ self.durationThresholdEditor = QDoubleSpinBox(self.groupBox)
147
+ self.durationThresholdEditor.setObjectName(u"durationThresholdEditor")
148
+ self.durationThresholdEditor.setValue(0.200000000000000)
149
+
150
+ self.gridLayout_2.addWidget(self.durationThresholdEditor, 8, 0, 1, 1)
151
+
152
+ self.label_7 = QLabel(self.groupBox)
153
+ self.label_7.setObjectName(u"label_7")
154
+
155
+ self.gridLayout_2.addWidget(self.label_7, 8, 1, 1, 1)
156
+
157
+
158
+ self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 2)
159
+
160
+ self.OKBt = QPushButton(SpindleDetectDialog)
161
+ self.OKBt.setObjectName(u"OKBt")
162
+
163
+ self.gridLayout.addWidget(self.OKBt, 1, 0, 1, 1)
164
+
165
+ self.CancelBt = QPushButton(SpindleDetectDialog)
166
+ self.CancelBt.setObjectName(u"CancelBt")
167
+
168
+ self.gridLayout.addWidget(self.CancelBt, 1, 1, 1, 1)
169
+
170
+
171
+ self.retranslateUi(SpindleDetectDialog)
172
+
173
+ QMetaObject.connectSlotsByName(SpindleDetectDialog)
174
+ # setupUi
175
+
176
+ def retranslateUi(self, SpindleDetectDialog):
177
+ SpindleDetectDialog.setWindowTitle(QCoreApplication.translate("SpindleDetectDialog", u"Dialog", None))
178
+ self.groupBox.setTitle(QCoreApplication.translate("SpindleDetectDialog", u"Spindle detection options", None))
179
+ self.WakeCheckbox.setText(QCoreApplication.translate("SpindleDetectDialog", u"Wake", None))
180
+ self.ExportCheckbox.setText(QCoreApplication.translate("SpindleDetectDialog", u"Export to csv", None))
181
+ self.REMCheckbox.setText(QCoreApplication.translate("SpindleDetectDialog", u"REM", None))
182
+ self.label.setText(QCoreApplication.translate("SpindleDetectDialog", u"Channel:", None))
183
+ self.label_5.setText(QCoreApplication.translate("SpindleDetectDialog", u"* STD + MEAN", None))
184
+ self.label_4.setText(QCoreApplication.translate("SpindleDetectDialog", u"State", None))
185
+ self.InitCheckbox.setText(QCoreApplication.translate("SpindleDetectDialog", u"Init", None))
186
+ self.NREMCheckbox.setText(QCoreApplication.translate("SpindleDetectDialog", u"NREM", None))
187
+ self.label_2.setText(QCoreApplication.translate("SpindleDetectDialog", u"Frequency band:", None))
188
+ self.label_3.setText(QCoreApplication.translate("SpindleDetectDialog", u"Spindle square power threshold:", None))
189
+ self.label_6.setText(QCoreApplication.translate("SpindleDetectDialog", u"Spindle duration threshold", None))
190
+ self.label_7.setText(QCoreApplication.translate("SpindleDetectDialog", u"*STD + MEAN", None))
191
+ self.OKBt.setText(QCoreApplication.translate("SpindleDetectDialog", u"Ok", None))
192
+ self.CancelBt.setText(QCoreApplication.translate("SpindleDetectDialog", u"Cancel", None))
193
+ # retranslateUi
194
+
@@ -0,0 +1,240 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>StateSpectralDialog</class>
4
+ <widget class="QDialog" name="StateSpectralDialog">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>400</width>
10
+ <height>600</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_2">
21
+ <item row="2" 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="2" 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_2">
37
+ <property name="title">
38
+ <string>Time options</string>
39
+ </property>
40
+ <layout class="QGridLayout" name="gridLayout_3">
41
+ <item row="0" column="0">
42
+ <widget class="QCheckBox" name="StartTimeCheckBox">
43
+ <property name="text">
44
+ <string>Start time</string>
45
+ </property>
46
+ </widget>
47
+ </item>
48
+ <item row="1" column="0">
49
+ <widget class="QDateTimeEdit" name="StartTimeEditor">
50
+ <property name="displayFormat">
51
+ <string>yyyy/MM/dd HH:mm:ss</string>
52
+ </property>
53
+ </widget>
54
+ </item>
55
+ <item row="2" column="0">
56
+ <widget class="QCheckBox" name="EndTimeCheckBox">
57
+ <property name="text">
58
+ <string>Stop time</string>
59
+ </property>
60
+ </widget>
61
+ </item>
62
+ <item row="4" column="0">
63
+ <widget class="QCheckBox" name="HourSegmentCheckBox">
64
+ <property name="text">
65
+ <string>Hour segmentation</string>
66
+ </property>
67
+ </widget>
68
+ </item>
69
+ <item row="3" column="0">
70
+ <widget class="QDateTimeEdit" name="EndTimeEditor">
71
+ <property name="displayFormat">
72
+ <string>yyyy/MM/dd HH:mm:ss</string>
73
+ </property>
74
+ </widget>
75
+ </item>
76
+ </layout>
77
+ </widget>
78
+ </item>
79
+ <item row="1" column="0" colspan="2">
80
+ <widget class="QGroupBox" name="groupBox">
81
+ <property name="title">
82
+ <string>State spectral analysis options</string>
83
+ </property>
84
+ <layout class="QGridLayout" name="gridLayout">
85
+ <property name="spacing">
86
+ <number>10</number>
87
+ </property>
88
+ <item row="4" column="1">
89
+ <widget class="QDoubleSpinBox" name="BPLow">
90
+ <property name="decimals">
91
+ <number>1</number>
92
+ </property>
93
+ <property name="maximum">
94
+ <double>100000.000000000000000</double>
95
+ </property>
96
+ <property name="singleStep">
97
+ <double>0.100000000000000</double>
98
+ </property>
99
+ <property name="value">
100
+ <double>0.500000000000000</double>
101
+ </property>
102
+ </widget>
103
+ </item>
104
+ <item row="4" column="2">
105
+ <widget class="QDoubleSpinBox" name="BPHigh">
106
+ <property name="decimals">
107
+ <number>1</number>
108
+ </property>
109
+ <property name="maximum">
110
+ <double>10000.000000000000000</double>
111
+ </property>
112
+ <property name="singleStep">
113
+ <double>0.100000000000000</double>
114
+ </property>
115
+ <property name="value">
116
+ <double>30.000000000000000</double>
117
+ </property>
118
+ </widget>
119
+ </item>
120
+ <item row="13" column="2">
121
+ <widget class="QDoubleSpinBox" name="ArtThresholdSpinBox">
122
+ <property name="decimals">
123
+ <number>1</number>
124
+ </property>
125
+ <property name="value">
126
+ <double>2.000000000000000</double>
127
+ </property>
128
+ </widget>
129
+ </item>
130
+ <item row="8" column="0" colspan="2">
131
+ <widget class="QCheckBox" name="GaussianCheckBox">
132
+ <property name="text">
133
+ <string>Gaussian smmothing(sigma)</string>
134
+ </property>
135
+ </widget>
136
+ </item>
137
+ <item row="14" column="0" colspan="2">
138
+ <widget class="QCheckBox" name="MergeDataCheckBox">
139
+ <property name="text">
140
+ <string>Merge data</string>
141
+ </property>
142
+ </widget>
143
+ </item>
144
+ <item row="5" column="0" colspan="2">
145
+ <widget class="QCheckBox" name="WinLengthCheckBox">
146
+ <property name="text">
147
+ <string>Window length(s)</string>
148
+ </property>
149
+ </widget>
150
+ </item>
151
+ <item row="1" column="0" colspan="3">
152
+ <widget class="QComboBox" name="ChannelSelector"/>
153
+ </item>
154
+ <item row="12" column="0" colspan="2">
155
+ <widget class="QCheckBox" name="RelativeCheckBox">
156
+ <property name="text">
157
+ <string>Relative</string>
158
+ </property>
159
+ </widget>
160
+ </item>
161
+ <item row="5" column="2">
162
+ <widget class="QDoubleSpinBox" name="WinLengthSpinBox">
163
+ <property name="minimum">
164
+ <double>0.100000000000000</double>
165
+ </property>
166
+ <property name="maximum">
167
+ <double>100.000000000000000</double>
168
+ </property>
169
+ <property name="singleStep">
170
+ <double>0.100000000000000</double>
171
+ </property>
172
+ <property name="value">
173
+ <double>10.000000000000000</double>
174
+ </property>
175
+ </widget>
176
+ </item>
177
+ <item row="4" column="0">
178
+ <widget class="QCheckBox" name="BPFilterCheckBox">
179
+ <property name="text">
180
+ <string>Bandpass filter</string>
181
+ </property>
182
+ </widget>
183
+ </item>
184
+ <item row="0" column="0">
185
+ <widget class="QLabel" name="label">
186
+ <property name="text">
187
+ <string>Channel:</string>
188
+ </property>
189
+ </widget>
190
+ </item>
191
+ <item row="13" column="0" colspan="2">
192
+ <widget class="QCheckBox" name="RejectArtifactCheckBox">
193
+ <property name="text">
194
+ <string>Reject artifact</string>
195
+ </property>
196
+ </widget>
197
+ </item>
198
+ <item row="8" column="2">
199
+ <widget class="QDoubleSpinBox" name="GaussianSpinBox">
200
+ <property name="minimum">
201
+ <double>0.100000000000000</double>
202
+ </property>
203
+ <property name="maximum">
204
+ <double>20.000000000000000</double>
205
+ </property>
206
+ <property name="value">
207
+ <double>2.000000000000000</double>
208
+ </property>
209
+ </widget>
210
+ </item>
211
+ <item row="6" column="0" colspan="2">
212
+ <widget class="QCheckBox" name="nfftCheckBox">
213
+ <property name="text">
214
+ <string>nfft(s, &gt; window length)</string>
215
+ </property>
216
+ </widget>
217
+ </item>
218
+ <item row="6" column="2">
219
+ <widget class="QDoubleSpinBox" name="nfftSpinBox">
220
+ <property name="minimum">
221
+ <double>0.200000000000000</double>
222
+ </property>
223
+ <property name="maximum">
224
+ <double>100.000000000000000</double>
225
+ </property>
226
+ <property name="value">
227
+ <double>10.000000000000000</double>
228
+ </property>
229
+ </widget>
230
+ </item>
231
+ </layout>
232
+ </widget>
233
+ </item>
234
+ </layout>
235
+ </widget>
236
+ <resources>
237
+ <include location="../resources/misleep.qrc"/>
238
+ </resources>
239
+ <connections/>
240
+ </ui>
@@ -0,0 +1,204 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ ################################################################################
4
+ ## Form generated from reading UI file 'state_spectral_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, QDateTimeEdit,
19
+ QDialog, QDoubleSpinBox, QGridLayout, QGroupBox,
20
+ QLabel, QPushButton, QSizePolicy, QWidget)
21
+ from misleep.gui.resources import misleep_rc
22
+
23
+ class Ui_StateSpectralDialog(object):
24
+ def setupUi(self, StateSpectralDialog):
25
+ if not StateSpectralDialog.objectName():
26
+ StateSpectralDialog.setObjectName(u"StateSpectralDialog")
27
+ StateSpectralDialog.resize(400, 600)
28
+ icon = QIcon()
29
+ icon.addFile(u":/logo/logo.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
30
+ StateSpectralDialog.setWindowIcon(icon)
31
+ self.gridLayout_2 = QGridLayout(StateSpectralDialog)
32
+ self.gridLayout_2.setObjectName(u"gridLayout_2")
33
+ self.OKBt = QPushButton(StateSpectralDialog)
34
+ self.OKBt.setObjectName(u"OKBt")
35
+
36
+ self.gridLayout_2.addWidget(self.OKBt, 2, 0, 1, 1)
37
+
38
+ self.CancelBt = QPushButton(StateSpectralDialog)
39
+ self.CancelBt.setObjectName(u"CancelBt")
40
+
41
+ self.gridLayout_2.addWidget(self.CancelBt, 2, 1, 1, 1)
42
+
43
+ self.groupBox_2 = QGroupBox(StateSpectralDialog)
44
+ self.groupBox_2.setObjectName(u"groupBox_2")
45
+ self.gridLayout_3 = QGridLayout(self.groupBox_2)
46
+ self.gridLayout_3.setObjectName(u"gridLayout_3")
47
+ self.StartTimeCheckBox = QCheckBox(self.groupBox_2)
48
+ self.StartTimeCheckBox.setObjectName(u"StartTimeCheckBox")
49
+
50
+ self.gridLayout_3.addWidget(self.StartTimeCheckBox, 0, 0, 1, 1)
51
+
52
+ self.StartTimeEditor = QDateTimeEdit(self.groupBox_2)
53
+ self.StartTimeEditor.setObjectName(u"StartTimeEditor")
54
+
55
+ self.gridLayout_3.addWidget(self.StartTimeEditor, 1, 0, 1, 1)
56
+
57
+ self.EndTimeCheckBox = QCheckBox(self.groupBox_2)
58
+ self.EndTimeCheckBox.setObjectName(u"EndTimeCheckBox")
59
+
60
+ self.gridLayout_3.addWidget(self.EndTimeCheckBox, 2, 0, 1, 1)
61
+
62
+ self.HourSegmentCheckBox = QCheckBox(self.groupBox_2)
63
+ self.HourSegmentCheckBox.setObjectName(u"HourSegmentCheckBox")
64
+
65
+ self.gridLayout_3.addWidget(self.HourSegmentCheckBox, 4, 0, 1, 1)
66
+
67
+ self.EndTimeEditor = QDateTimeEdit(self.groupBox_2)
68
+ self.EndTimeEditor.setObjectName(u"EndTimeEditor")
69
+
70
+ self.gridLayout_3.addWidget(self.EndTimeEditor, 3, 0, 1, 1)
71
+
72
+
73
+ self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 2)
74
+
75
+ self.groupBox = QGroupBox(StateSpectralDialog)
76
+ self.groupBox.setObjectName(u"groupBox")
77
+ self.gridLayout = QGridLayout(self.groupBox)
78
+ self.gridLayout.setSpacing(10)
79
+ self.gridLayout.setObjectName(u"gridLayout")
80
+ self.BPLow = QDoubleSpinBox(self.groupBox)
81
+ self.BPLow.setObjectName(u"BPLow")
82
+ self.BPLow.setDecimals(1)
83
+ self.BPLow.setMaximum(100000.000000000000000)
84
+ self.BPLow.setSingleStep(0.100000000000000)
85
+ self.BPLow.setValue(0.500000000000000)
86
+
87
+ self.gridLayout.addWidget(self.BPLow, 4, 1, 1, 1)
88
+
89
+ self.BPHigh = QDoubleSpinBox(self.groupBox)
90
+ self.BPHigh.setObjectName(u"BPHigh")
91
+ self.BPHigh.setDecimals(1)
92
+ self.BPHigh.setMaximum(10000.000000000000000)
93
+ self.BPHigh.setSingleStep(0.100000000000000)
94
+ self.BPHigh.setValue(30.000000000000000)
95
+
96
+ self.gridLayout.addWidget(self.BPHigh, 4, 2, 1, 1)
97
+
98
+ self.ArtThresholdSpinBox = QDoubleSpinBox(self.groupBox)
99
+ self.ArtThresholdSpinBox.setObjectName(u"ArtThresholdSpinBox")
100
+ self.ArtThresholdSpinBox.setDecimals(1)
101
+ self.ArtThresholdSpinBox.setValue(2.000000000000000)
102
+
103
+ self.gridLayout.addWidget(self.ArtThresholdSpinBox, 13, 2, 1, 1)
104
+
105
+ self.GaussianCheckBox = QCheckBox(self.groupBox)
106
+ self.GaussianCheckBox.setObjectName(u"GaussianCheckBox")
107
+
108
+ self.gridLayout.addWidget(self.GaussianCheckBox, 8, 0, 1, 2)
109
+
110
+ self.MergeDataCheckBox = QCheckBox(self.groupBox)
111
+ self.MergeDataCheckBox.setObjectName(u"MergeDataCheckBox")
112
+
113
+ self.gridLayout.addWidget(self.MergeDataCheckBox, 14, 0, 1, 2)
114
+
115
+ self.WinLengthCheckBox = QCheckBox(self.groupBox)
116
+ self.WinLengthCheckBox.setObjectName(u"WinLengthCheckBox")
117
+
118
+ self.gridLayout.addWidget(self.WinLengthCheckBox, 5, 0, 1, 2)
119
+
120
+ self.ChannelSelector = QComboBox(self.groupBox)
121
+ self.ChannelSelector.setObjectName(u"ChannelSelector")
122
+
123
+ self.gridLayout.addWidget(self.ChannelSelector, 1, 0, 1, 3)
124
+
125
+ self.RelativeCheckBox = QCheckBox(self.groupBox)
126
+ self.RelativeCheckBox.setObjectName(u"RelativeCheckBox")
127
+
128
+ self.gridLayout.addWidget(self.RelativeCheckBox, 12, 0, 1, 2)
129
+
130
+ self.WinLengthSpinBox = QDoubleSpinBox(self.groupBox)
131
+ self.WinLengthSpinBox.setObjectName(u"WinLengthSpinBox")
132
+ self.WinLengthSpinBox.setMinimum(0.100000000000000)
133
+ self.WinLengthSpinBox.setMaximum(100.000000000000000)
134
+ self.WinLengthSpinBox.setSingleStep(0.100000000000000)
135
+ self.WinLengthSpinBox.setValue(10.000000000000000)
136
+
137
+ self.gridLayout.addWidget(self.WinLengthSpinBox, 5, 2, 1, 1)
138
+
139
+ self.BPFilterCheckBox = QCheckBox(self.groupBox)
140
+ self.BPFilterCheckBox.setObjectName(u"BPFilterCheckBox")
141
+
142
+ self.gridLayout.addWidget(self.BPFilterCheckBox, 4, 0, 1, 1)
143
+
144
+ self.label = QLabel(self.groupBox)
145
+ self.label.setObjectName(u"label")
146
+
147
+ self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
148
+
149
+ self.RejectArtifactCheckBox = QCheckBox(self.groupBox)
150
+ self.RejectArtifactCheckBox.setObjectName(u"RejectArtifactCheckBox")
151
+
152
+ self.gridLayout.addWidget(self.RejectArtifactCheckBox, 13, 0, 1, 2)
153
+
154
+ self.GaussianSpinBox = QDoubleSpinBox(self.groupBox)
155
+ self.GaussianSpinBox.setObjectName(u"GaussianSpinBox")
156
+ self.GaussianSpinBox.setMinimum(0.100000000000000)
157
+ self.GaussianSpinBox.setMaximum(20.000000000000000)
158
+ self.GaussianSpinBox.setValue(2.000000000000000)
159
+
160
+ self.gridLayout.addWidget(self.GaussianSpinBox, 8, 2, 1, 1)
161
+
162
+ self.nfftCheckBox = QCheckBox(self.groupBox)
163
+ self.nfftCheckBox.setObjectName(u"nfftCheckBox")
164
+
165
+ self.gridLayout.addWidget(self.nfftCheckBox, 6, 0, 1, 2)
166
+
167
+ self.nfftSpinBox = QDoubleSpinBox(self.groupBox)
168
+ self.nfftSpinBox.setObjectName(u"nfftSpinBox")
169
+ self.nfftSpinBox.setMinimum(0.200000000000000)
170
+ self.nfftSpinBox.setMaximum(100.000000000000000)
171
+ self.nfftSpinBox.setValue(10.000000000000000)
172
+
173
+ self.gridLayout.addWidget(self.nfftSpinBox, 6, 2, 1, 1)
174
+
175
+
176
+ self.gridLayout_2.addWidget(self.groupBox, 1, 0, 1, 2)
177
+
178
+
179
+ self.retranslateUi(StateSpectralDialog)
180
+
181
+ QMetaObject.connectSlotsByName(StateSpectralDialog)
182
+ # setupUi
183
+
184
+ def retranslateUi(self, StateSpectralDialog):
185
+ StateSpectralDialog.setWindowTitle(QCoreApplication.translate("StateSpectralDialog", u"Dialog", None))
186
+ self.OKBt.setText(QCoreApplication.translate("StateSpectralDialog", u"OK", None))
187
+ self.CancelBt.setText(QCoreApplication.translate("StateSpectralDialog", u"Cancel", None))
188
+ self.groupBox_2.setTitle(QCoreApplication.translate("StateSpectralDialog", u"Time options", None))
189
+ self.StartTimeCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Start time", None))
190
+ self.StartTimeEditor.setDisplayFormat(QCoreApplication.translate("StateSpectralDialog", u"yyyy/MM/dd HH:mm:ss", None))
191
+ self.EndTimeCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Stop time", None))
192
+ self.HourSegmentCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Hour segmentation", None))
193
+ self.EndTimeEditor.setDisplayFormat(QCoreApplication.translate("StateSpectralDialog", u"yyyy/MM/dd HH:mm:ss", None))
194
+ self.groupBox.setTitle(QCoreApplication.translate("StateSpectralDialog", u"State spectral analysis options", None))
195
+ self.GaussianCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Gaussian smmothing(sigma)", None))
196
+ self.MergeDataCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Merge data", None))
197
+ self.WinLengthCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Window length(s)", None))
198
+ self.RelativeCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Relative", None))
199
+ self.BPFilterCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Bandpass filter", None))
200
+ self.label.setText(QCoreApplication.translate("StateSpectralDialog", u"Channel:", None))
201
+ self.RejectArtifactCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"Reject artifact", None))
202
+ self.nfftCheckBox.setText(QCoreApplication.translate("StateSpectralDialog", u"nfft(s, > window length)", None))
203
+ # retranslateUi
204
+