accusleepy 0.7.1__py3-none-any.whl → 0.7.3__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.
- accusleepy/gui/images/primary_window.png +0 -0
- accusleepy/gui/primary_window.py +3 -17
- accusleepy/gui/primary_window.ui +0 -6
- accusleepy/gui/text/dev_guide.md +57 -0
- accusleepy/gui/viewer_window.py +5 -11
- accusleepy/gui/viewer_window.ui +3 -0
- {accusleepy-0.7.1.dist-info → accusleepy-0.7.3.dist-info}/METADATA +9 -5
- {accusleepy-0.7.1.dist-info → accusleepy-0.7.3.dist-info}/RECORD +9 -8
- {accusleepy-0.7.1.dist-info → accusleepy-0.7.3.dist-info}/WHEEL +0 -0
|
Binary file
|
accusleepy/gui/primary_window.py
CHANGED
|
@@ -3,25 +3,13 @@
|
|
|
3
3
|
################################################################################
|
|
4
4
|
## Form generated from reading UI file 'primary_window.ui'
|
|
5
5
|
##
|
|
6
|
-
## Created by: Qt User Interface Compiler version 6.9.
|
|
6
|
+
## Created by: Qt User Interface Compiler version 6.9.0
|
|
7
7
|
##
|
|
8
8
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
9
9
|
################################################################################
|
|
10
10
|
|
|
11
|
-
from PySide6.QtCore import
|
|
12
|
-
|
|
13
|
-
QMetaObject,
|
|
14
|
-
QRect,
|
|
15
|
-
QSize,
|
|
16
|
-
Qt,
|
|
17
|
-
)
|
|
18
|
-
from PySide6.QtGui import (
|
|
19
|
-
QBrush,
|
|
20
|
-
QColor,
|
|
21
|
-
QFont,
|
|
22
|
-
QIcon,
|
|
23
|
-
QPalette,
|
|
24
|
-
)
|
|
11
|
+
from PySide6.QtCore import QCoreApplication, QMetaObject, QRect, QSize, Qt
|
|
12
|
+
from PySide6.QtGui import QBrush, QColor, QFont, QIcon, QPalette
|
|
25
13
|
from PySide6.QtWidgets import (
|
|
26
14
|
QCheckBox,
|
|
27
15
|
QComboBox,
|
|
@@ -676,7 +664,6 @@ class Ui_PrimaryWindow(object):
|
|
|
676
664
|
self.overwritecheckbox.sizePolicy().hasHeightForWidth()
|
|
677
665
|
)
|
|
678
666
|
self.overwritecheckbox.setSizePolicy(sizePolicy1)
|
|
679
|
-
self.overwritecheckbox.setStyleSheet("background-color: transparent;")
|
|
680
667
|
|
|
681
668
|
self.classification_options_layout.addWidget(self.overwritecheckbox)
|
|
682
669
|
|
|
@@ -692,7 +679,6 @@ class Ui_PrimaryWindow(object):
|
|
|
692
679
|
self.save_confidence_checkbox.sizePolicy().hasHeightForWidth()
|
|
693
680
|
)
|
|
694
681
|
self.save_confidence_checkbox.setSizePolicy(sizePolicy1)
|
|
695
|
-
self.save_confidence_checkbox.setStyleSheet("background-color: transparent;")
|
|
696
682
|
|
|
697
683
|
self.classification_options_layout.addWidget(self.save_confidence_checkbox)
|
|
698
684
|
|
accusleepy/gui/primary_window.ui
CHANGED
|
@@ -1065,9 +1065,6 @@ color: rgb(244, 195, 68);</string>
|
|
|
1065
1065
|
<verstretch>0</verstretch>
|
|
1066
1066
|
</sizepolicy>
|
|
1067
1067
|
</property>
|
|
1068
|
-
<property name="styleSheet">
|
|
1069
|
-
<string notr="true">background-color: transparent;</string>
|
|
1070
|
-
</property>
|
|
1071
1068
|
<property name="text">
|
|
1072
1069
|
<string>Only overwrite undefined epochs</string>
|
|
1073
1070
|
</property>
|
|
@@ -1097,9 +1094,6 @@ color: rgb(244, 195, 68);</string>
|
|
|
1097
1094
|
<verstretch>0</verstretch>
|
|
1098
1095
|
</sizepolicy>
|
|
1099
1096
|
</property>
|
|
1100
|
-
<property name="styleSheet">
|
|
1101
|
-
<string notr="true">background-color: transparent;</string>
|
|
1102
|
-
</property>
|
|
1103
1097
|
<property name="text">
|
|
1104
1098
|
<string>Save confidence scores</string>
|
|
1105
1099
|
</property>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Developer guide
|
|
2
|
+
|
|
3
|
+
## Getting started
|
|
4
|
+
This project uses poetry for dependency management and
|
|
5
|
+
pre-commit hooks to maintain a consistent style.
|
|
6
|
+
To set up your development environment:
|
|
7
|
+
1. Install [poetry](https://python-poetry.org/docs/#installation)
|
|
8
|
+
2. Clone the repo
|
|
9
|
+
3. Set up your virtual environment
|
|
10
|
+
4. Run `poetry install` to install dependencies
|
|
11
|
+
5. Run `pre-commit install` to set up the git hook scripts
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Editing the GUI
|
|
15
|
+
Start by installing
|
|
16
|
+
[Qt Creator](https://doc.qt.io/qtcreator/). This software lets you
|
|
17
|
+
interactively modify the `.ui` files for the primary interface
|
|
18
|
+
and the manual scoring interface.
|
|
19
|
+
|
|
20
|
+
### Exporting your changes
|
|
21
|
+
Once you have made edits to a `.ui` file in Qt Creator and saved
|
|
22
|
+
your changes, you need to update the python representation of the UI.
|
|
23
|
+
1. Update the corresponding `.py` file by running
|
|
24
|
+
```
|
|
25
|
+
pyside6-uic accusleepy/gui/<filename>.ui -o accusleepy/gui/<filename>.py
|
|
26
|
+
```
|
|
27
|
+
where `<filename>` is either `primary_window` or `viewer_window`.
|
|
28
|
+
|
|
29
|
+
> [!NOTE]
|
|
30
|
+
> If for some reason that doesn't work, on Windows you can
|
|
31
|
+
> locate `uic.exe` in your PySide6 installation and run
|
|
32
|
+
> ```
|
|
33
|
+
> <path_to_your_uic>.exe -g python accusleepy\gui\<filename>.ui -o accusleepy\gui\<filename>.py
|
|
34
|
+
> ```
|
|
35
|
+
2. `uic` does not create some necessary imports in the modified
|
|
36
|
+
`.py` file, so you will need to add them back.
|
|
37
|
+
Open the file and add the following import statement:
|
|
38
|
+
```
|
|
39
|
+
import accusleepy.gui.resources_rc # noqa F401
|
|
40
|
+
```
|
|
41
|
+
If the file already contains the line `import resources_rc`,
|
|
42
|
+
replace it with the one above.
|
|
43
|
+
If you updated `primary_window.py`, you also need to add:
|
|
44
|
+
```
|
|
45
|
+
from accusleepy.gui.mplwidget import MplWidget
|
|
46
|
+
```
|
|
47
|
+
(replacing `from mplwidget import MplWidget` if necessary)
|
|
48
|
+
|
|
49
|
+
### Updating the resources file
|
|
50
|
+
If you want to modify the resources available to the GUI
|
|
51
|
+
(e.g., icon image files), you can edit the `resources.qrc`
|
|
52
|
+
file using Qt Creator. You then need to update the python
|
|
53
|
+
representation by running
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
pyside6-rcc accusleepy/gui/resources.qrc -o accusleepy/gui/resources_rc.py
|
|
57
|
+
```
|
accusleepy/gui/viewer_window.py
CHANGED
|
@@ -3,20 +3,13 @@
|
|
|
3
3
|
################################################################################
|
|
4
4
|
## Form generated from reading UI file 'viewer_window.ui'
|
|
5
5
|
##
|
|
6
|
-
## Created by: Qt User Interface Compiler version 6.
|
|
6
|
+
## Created by: Qt User Interface Compiler version 6.9.0
|
|
7
7
|
##
|
|
8
8
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
9
9
|
################################################################################
|
|
10
10
|
|
|
11
|
-
from PySide6.QtCore import
|
|
12
|
-
|
|
13
|
-
QMetaObject,
|
|
14
|
-
QSize,
|
|
15
|
-
Qt,
|
|
16
|
-
)
|
|
17
|
-
from PySide6.QtGui import (
|
|
18
|
-
QIcon,
|
|
19
|
-
)
|
|
11
|
+
from PySide6.QtCore import QCoreApplication, QMetaObject, QSize, Qt
|
|
12
|
+
from PySide6.QtGui import QIcon
|
|
20
13
|
from PySide6.QtWidgets import (
|
|
21
14
|
QCheckBox,
|
|
22
15
|
QFrame,
|
|
@@ -30,8 +23,8 @@ from PySide6.QtWidgets import (
|
|
|
30
23
|
QVBoxLayout,
|
|
31
24
|
)
|
|
32
25
|
|
|
33
|
-
import accusleepy.gui.resources_rc # noqa F401
|
|
34
26
|
from accusleepy.gui.mplwidget import MplWidget
|
|
27
|
+
import accusleepy.gui.resources_rc # noqa F401
|
|
35
28
|
|
|
36
29
|
|
|
37
30
|
class Ui_ViewerWindow(object):
|
|
@@ -405,6 +398,7 @@ class Ui_ViewerWindow(object):
|
|
|
405
398
|
self.autoscroll.setObjectName("autoscroll")
|
|
406
399
|
sizePolicy1.setHeightForWidth(self.autoscroll.sizePolicy().hasHeightForWidth())
|
|
407
400
|
self.autoscroll.setSizePolicy(sizePolicy1)
|
|
401
|
+
self.autoscroll.setStyleSheet("background-color: none;")
|
|
408
402
|
|
|
409
403
|
self.autoscroll_layout.addWidget(self.autoscroll)
|
|
410
404
|
|
accusleepy/gui/viewer_window.ui
CHANGED
|
@@ -769,6 +769,9 @@
|
|
|
769
769
|
<property name="toolTip">
|
|
770
770
|
<string>Step forward when setting brain state</string>
|
|
771
771
|
</property>
|
|
772
|
+
<property name="styleSheet">
|
|
773
|
+
<string notr="true">background-color: none;</string>
|
|
774
|
+
</property>
|
|
772
775
|
<property name="text">
|
|
773
776
|
<string>Auto scroll</string>
|
|
774
777
|
</property>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: accusleepy
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: Python implementation of AccuSleep
|
|
5
5
|
License: GPL-3.0-only
|
|
6
6
|
Author: Zeke Barger
|
|
@@ -18,11 +18,11 @@ Requires-Dist: numpy (>=2.2.4,<3.0.0)
|
|
|
18
18
|
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
|
19
19
|
Requires-Dist: pillow (>=11.1.0,<12.0.0)
|
|
20
20
|
Requires-Dist: pre-commit (>=4.2.0,<5.0.0)
|
|
21
|
-
Requires-Dist: pyside6 (>=6.9.0,<
|
|
21
|
+
Requires-Dist: pyside6 (>=6.9.0,<6.9.3)
|
|
22
22
|
Requires-Dist: scipy (>=1.15.2,<2.0.0)
|
|
23
23
|
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
|
24
|
-
Requires-Dist: torch (>=2.
|
|
25
|
-
Requires-Dist: torchvision (>=0.
|
|
24
|
+
Requires-Dist: torch (>=2.8.0,<3.0.0)
|
|
25
|
+
Requires-Dist: torchvision (>=0.23.0,<1.0.0)
|
|
26
26
|
Requires-Dist: tqdm (>=4.67.1,<5.0.0)
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
@@ -74,9 +74,13 @@ to the [config file](accusleepy/config.json).
|
|
|
74
74
|
|
|
75
75
|
[Guide to the manual scoring interface](accusleepy/gui/text/manual_scoring_guide.md)
|
|
76
76
|
|
|
77
|
+
## Developer guide
|
|
78
|
+
If you want to contribute to the project or modify the code for your own use,
|
|
79
|
+
please consult the [developer guide](accusleepy/gui/text/dev_guide.md).
|
|
80
|
+
|
|
77
81
|
## Changelog
|
|
78
82
|
|
|
79
|
-
- 0.7.1: Bugfixes, code cleanup
|
|
83
|
+
- 0.7.1-0.7.3: Bugfixes, code cleanup
|
|
80
84
|
- 0.7.0: More settings can be configured in the UI
|
|
81
85
|
- 0.6.0: Confidence scores can now be displayed and saved. Retraining your models is recommended
|
|
82
86
|
since the new calibration feature will make the confidence scores more accurate.
|
|
@@ -18,25 +18,26 @@ accusleepy/gui/icons/save.png,sha256=J3EA8iU1BqLYRSsrq_OdoZlqrv2yfL7oV54DklTy_DI
|
|
|
18
18
|
accusleepy/gui/icons/up_arrow.png,sha256=V9yF9t1WgjPaUu-mF1YGe_DfaRHg2dUpR_sUVVcvVvY,3329
|
|
19
19
|
accusleepy/gui/icons/zoom_in.png,sha256=MFWnKZp7Rvh4bLPq4Cqo4sB_jQYedUUtT8-ZO8tNYyc,13589
|
|
20
20
|
accusleepy/gui/icons/zoom_out.png,sha256=IB8Jecb3i0U4qjWRR46ridjLpvLCSe7PozBaLqQqYSw,13055
|
|
21
|
-
accusleepy/gui/images/primary_window.png,sha256=
|
|
21
|
+
accusleepy/gui/images/primary_window.png,sha256=VBeXf20pYJ8Sfjz5qCrlciQfiwZhMutF4tHCHA7-RGc,595012
|
|
22
22
|
accusleepy/gui/images/viewer_window.png,sha256=b_B7m9WSLMAOzNjctq76SyekO1WfC6qYZVNnYfhjPe8,977197
|
|
23
23
|
accusleepy/gui/images/viewer_window_annotated.png,sha256=uMNUmsZIdzDlQpyoiS3lJGoWlg_T325Oj5hDZhM3Y14,146817
|
|
24
24
|
accusleepy/gui/main.py,sha256=sLHe1imVU6xz3f6sJ9u7sxrTny9X213ev29ldoxXpX0,57740
|
|
25
25
|
accusleepy/gui/manual_scoring.py,sha256=7jKdw-D9HdpYC2G_2RHt5UALLMjrIsP-hvLFkNM25Ek,40553
|
|
26
26
|
accusleepy/gui/mplwidget.py,sha256=rJSTtWmLjHn8r3c9Kb23Rc4XzXl3i9B-JrjNjjlNnmQ,13492
|
|
27
|
-
accusleepy/gui/primary_window.py,sha256=
|
|
28
|
-
accusleepy/gui/primary_window.ui,sha256=
|
|
27
|
+
accusleepy/gui/primary_window.py,sha256=aV0r4mRIXp56MKvuyF2iZLXPNZjZWrpugPtUb2D5saQ,135855
|
|
28
|
+
accusleepy/gui/primary_window.ui,sha256=8Vs76j-QMlAKaX1oclOS1LicdGQ2znpqKarro2tLgbA,201602
|
|
29
29
|
accusleepy/gui/resources.qrc,sha256=wqPendnTLAuKfVI6v2lKHiRqAWM0oaz2ZuF5cucJdS4,803
|
|
30
30
|
accusleepy/gui/resources_rc.py,sha256=Z2e34h30U4snJjnYdZVV9B6yjATKxxfvgTRt5uXtQdo,329727
|
|
31
|
+
accusleepy/gui/text/dev_guide.md,sha256=X69cMsPtSNCqjiYQNvaIUD-QXjRFeGHLPyH2GXMTC8Q,2061
|
|
31
32
|
accusleepy/gui/text/main_guide.md,sha256=iZDRp5OWyQX9LV7CMeUFIYv2ryKlIcGALRLXjxR8HpI,8288
|
|
32
33
|
accusleepy/gui/text/manual_scoring_guide.md,sha256=ow_RMSjFy05NupEDSCuJtu-V65-BPnIkrZqtssFoZCQ,999
|
|
33
|
-
accusleepy/gui/viewer_window.py,sha256=
|
|
34
|
-
accusleepy/gui/viewer_window.ui,sha256=
|
|
34
|
+
accusleepy/gui/viewer_window.py,sha256=jysFw7C_Tr7mtK1XNWhIpHblBvatwduE3RF2GP4lrro,24479
|
|
35
|
+
accusleepy/gui/viewer_window.ui,sha256=a89iVLk1sJg9N6ZvWAV6YNPStb2Tm4-rs-W7TmIDkb4,31658
|
|
35
36
|
accusleepy/models.py,sha256=kqkcQJoKi7gpnM8gZ7nZbWGvpv7ruNnFLaB7ED1X6Dc,3493
|
|
36
37
|
accusleepy/multitaper.py,sha256=D5-iglwkFBRciL5tKSNcunMtcq0rM3zHwRHUVPgem1U,25679
|
|
37
38
|
accusleepy/signal_processing.py,sha256=47fEAx8Aqqkiqix1ai2YEK9Fhq6UHoQcwAcOi-a8ewo,16834
|
|
38
39
|
accusleepy/temperature_scaling.py,sha256=glvPcvxHpBdFjwjGfZdNku9L_BozycEmdqZhKKUCCNg,5749
|
|
39
40
|
accusleepy/validation.py,sha256=VpLWK-wD5tCU6lTBG3KYgTi3PWGuYh6NitMgMoMH8JM,4434
|
|
40
|
-
accusleepy-0.7.
|
|
41
|
-
accusleepy-0.7.
|
|
42
|
-
accusleepy-0.7.
|
|
41
|
+
accusleepy-0.7.3.dist-info/METADATA,sha256=sna1nfMfIcNYYsNT-2Z3BlanP2Jt5kLr9wpBuRILhzA,4743
|
|
42
|
+
accusleepy-0.7.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
43
|
+
accusleepy-0.7.3.dist-info/RECORD,,
|
|
File without changes
|