accusleepy 0.5.0__py3-none-any.whl → 0.7.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.
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'primary_window.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.7.3
6
+ ## Created by: Qt User Interface Compiler version 6.9.1
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -12,6 +12,7 @@ from PySide6.QtCore import QCoreApplication, QMetaObject, QRect, QSize, Qt
12
12
  from PySide6.QtGui import QBrush, QColor, QFont, QIcon, QPalette
13
13
  from PySide6.QtWidgets import (
14
14
  QCheckBox,
15
+ QComboBox,
15
16
  QDoubleSpinBox,
16
17
  QFrame,
17
18
  QGridLayout,
@@ -25,12 +26,12 @@ from PySide6.QtWidgets import (
25
26
  QSizePolicy,
26
27
  QSpacerItem,
27
28
  QSpinBox,
29
+ QStackedWidget,
28
30
  QTabWidget,
29
31
  QTextBrowser,
30
32
  QVBoxLayout,
31
33
  QWidget,
32
34
  )
33
-
34
35
  import accusleepy.gui.resources_rc # noqa F401
35
36
 
36
37
 
@@ -48,11 +49,11 @@ class Ui_PrimaryWindow(object):
48
49
  PrimaryWindow.setSizePolicy(sizePolicy)
49
50
  palette = QPalette()
50
51
  brush = QBrush(QColor(223, 226, 226, 255))
51
- brush.setStyle(Qt.SolidPattern)
52
- palette.setBrush(QPalette.Active, QPalette.Window, brush)
53
- palette.setBrush(QPalette.Inactive, QPalette.Window, brush)
54
- palette.setBrush(QPalette.Disabled, QPalette.Base, brush)
55
- palette.setBrush(QPalette.Disabled, QPalette.Window, brush)
52
+ brush.setStyle(Qt.BrushStyle.SolidPattern)
53
+ palette.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.Window, brush)
54
+ palette.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Window, brush)
55
+ palette.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.Base, brush)
56
+ palette.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.Window, brush)
56
57
  PrimaryWindow.setPalette(palette)
57
58
  self.centralwidget = QWidget(PrimaryWindow)
58
59
  self.centralwidget.setObjectName("centralwidget")
@@ -577,8 +578,47 @@ class Ui_PrimaryWindow(object):
577
578
  self.gridLayout.setContentsMargins(5, 5, 5, 5)
578
579
  self.gridLayout_4 = QGridLayout()
579
580
  self.gridLayout_4.setObjectName("gridLayout_4")
580
- self.gridLayout_4.setVerticalSpacing(15)
581
- self.gridLayout_4.setContentsMargins(0, 5, 0, 10)
581
+ self.gridLayout_4.setVerticalSpacing(10)
582
+ self.gridLayout_4.setContentsMargins(0, 5, 0, 3)
583
+ self.load_model_layout = QHBoxLayout()
584
+ self.load_model_layout.setSpacing(10)
585
+ self.load_model_layout.setObjectName("load_model_layout")
586
+ self.horizontalLayout_11 = QHBoxLayout()
587
+ self.horizontalLayout_11.setSpacing(5)
588
+ self.horizontalLayout_11.setObjectName("horizontalLayout_11")
589
+ self.load_model_button = QPushButton(self.classification_tab)
590
+ self.load_model_button.setObjectName("load_model_button")
591
+ sizePolicy3.setHeightForWidth(
592
+ self.load_model_button.sizePolicy().hasHeightForWidth()
593
+ )
594
+ self.load_model_button.setSizePolicy(sizePolicy3)
595
+
596
+ self.horizontalLayout_11.addWidget(self.load_model_button)
597
+
598
+ self.load_model_layout.addLayout(self.horizontalLayout_11)
599
+
600
+ self.model_label = QLabel(self.classification_tab)
601
+ self.model_label.setObjectName("model_label")
602
+ sizePolicy4.setHeightForWidth(self.model_label.sizePolicy().hasHeightForWidth())
603
+ self.model_label.setSizePolicy(sizePolicy4)
604
+ self.model_label.setAcceptDrops(True)
605
+ self.model_label.setStyleSheet(
606
+ "background-color: rgb(240, 242, 255); border: 1px solid gray;"
607
+ )
608
+ self.model_label.setAlignment(
609
+ Qt.AlignmentFlag.AlignRight
610
+ | Qt.AlignmentFlag.AlignTrailing
611
+ | Qt.AlignmentFlag.AlignVCenter
612
+ )
613
+ self.model_label.setMargin(4)
614
+
615
+ self.load_model_layout.addWidget(self.model_label)
616
+
617
+ self.load_model_layout.setStretch(0, 5)
618
+ self.load_model_layout.setStretch(1, 12)
619
+
620
+ self.gridLayout_4.addLayout(self.load_model_layout, 0, 0, 1, 1)
621
+
582
622
  self.score_all_layout = QHBoxLayout()
583
623
  self.score_all_layout.setObjectName("score_all_layout")
584
624
  self.score_all_button = QPushButton(self.classification_tab)
@@ -601,9 +641,23 @@ class Ui_PrimaryWindow(object):
601
641
 
602
642
  self.score_all_layout.addWidget(self.score_all_status)
603
643
 
604
- self.verticalLayout_4 = QVBoxLayout()
605
- self.verticalLayout_4.setSpacing(10)
606
- self.verticalLayout_4.setObjectName("verticalLayout_4")
644
+ self.horizontalSpacer_5 = QSpacerItem(
645
+ 10, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
646
+ )
647
+
648
+ self.score_all_layout.addItem(self.horizontalSpacer_5)
649
+
650
+ self.score_all_layout.setStretch(0, 3)
651
+ self.score_all_layout.setStretch(1, 3)
652
+ self.score_all_layout.setStretch(2, 4)
653
+
654
+ self.gridLayout_4.addLayout(self.score_all_layout, 2, 0, 1, 1)
655
+
656
+ self.classification_options_layout = QHBoxLayout()
657
+ self.classification_options_layout.setSpacing(10)
658
+ self.classification_options_layout.setObjectName(
659
+ "classification_options_layout"
660
+ )
607
661
  self.overwritecheckbox = QCheckBox(self.classification_tab)
608
662
  self.overwritecheckbox.setObjectName("overwritecheckbox")
609
663
  sizePolicy1.setHeightForWidth(
@@ -612,11 +666,39 @@ class Ui_PrimaryWindow(object):
612
666
  self.overwritecheckbox.setSizePolicy(sizePolicy1)
613
667
  self.overwritecheckbox.setStyleSheet("background-color: transparent;")
614
668
 
615
- self.verticalLayout_4.addWidget(self.overwritecheckbox)
669
+ self.classification_options_layout.addWidget(self.overwritecheckbox)
670
+
671
+ self.horizontalSpacer_77 = QSpacerItem(
672
+ 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
673
+ )
674
+
675
+ self.classification_options_layout.addItem(self.horizontalSpacer_77)
676
+
677
+ self.save_confidence_checkbox = QCheckBox(self.classification_tab)
678
+ self.save_confidence_checkbox.setObjectName("save_confidence_checkbox")
679
+ sizePolicy1.setHeightForWidth(
680
+ self.save_confidence_checkbox.sizePolicy().hasHeightForWidth()
681
+ )
682
+ self.save_confidence_checkbox.setSizePolicy(sizePolicy1)
683
+ self.save_confidence_checkbox.setStyleSheet("background-color: transparent;")
684
+
685
+ self.classification_options_layout.addWidget(self.save_confidence_checkbox)
686
+
687
+ self.horizontalSpacer_76 = QSpacerItem(
688
+ 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
689
+ )
690
+
691
+ self.classification_options_layout.addItem(self.horizontalSpacer_76)
616
692
 
617
693
  self.boutlengthlayout = QHBoxLayout()
618
694
  self.boutlengthlayout.setSpacing(5)
619
695
  self.boutlengthlayout.setObjectName("boutlengthlayout")
696
+ self.horizontalSpacer_74 = QSpacerItem(
697
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
698
+ )
699
+
700
+ self.boutlengthlayout.addItem(self.horizontalSpacer_74)
701
+
620
702
  self.boutlengthlabel = QLabel(self.classification_tab)
621
703
  self.boutlengthlabel.setObjectName("boutlengthlabel")
622
704
  sizePolicy1.setHeightForWidth(
@@ -644,61 +726,21 @@ class Ui_PrimaryWindow(object):
644
726
 
645
727
  self.boutlengthlayout.addWidget(self.bout_length_input)
646
728
 
647
- self.verticalLayout_4.addLayout(self.boutlengthlayout)
648
-
649
- self.score_all_layout.addLayout(self.verticalLayout_4)
650
-
651
- self.horizontalSpacer_5 = QSpacerItem(
652
- 10, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
653
- )
654
-
655
- self.score_all_layout.addItem(self.horizontalSpacer_5)
656
-
657
- self.score_all_layout.setStretch(0, 3)
658
- self.score_all_layout.setStretch(1, 3)
659
- self.score_all_layout.setStretch(2, 4)
660
- self.score_all_layout.setStretch(3, 2)
661
-
662
- self.gridLayout_4.addLayout(self.score_all_layout, 1, 0, 1, 1)
663
-
664
- self.load_model_layout = QHBoxLayout()
665
- self.load_model_layout.setSpacing(10)
666
- self.load_model_layout.setObjectName("load_model_layout")
667
- self.horizontalLayout_11 = QHBoxLayout()
668
- self.horizontalLayout_11.setSpacing(5)
669
- self.horizontalLayout_11.setObjectName("horizontalLayout_11")
670
- self.load_model_button = QPushButton(self.classification_tab)
671
- self.load_model_button.setObjectName("load_model_button")
672
- sizePolicy3.setHeightForWidth(
673
- self.load_model_button.sizePolicy().hasHeightForWidth()
729
+ self.horizontalSpacer_75 = QSpacerItem(
730
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
674
731
  )
675
- self.load_model_button.setSizePolicy(sizePolicy3)
676
-
677
- self.horizontalLayout_11.addWidget(self.load_model_button)
678
-
679
- self.load_model_layout.addLayout(self.horizontalLayout_11)
680
732
 
681
- self.model_label = QLabel(self.classification_tab)
682
- self.model_label.setObjectName("model_label")
683
- sizePolicy4.setHeightForWidth(self.model_label.sizePolicy().hasHeightForWidth())
684
- self.model_label.setSizePolicy(sizePolicy4)
685
- self.model_label.setAcceptDrops(True)
686
- self.model_label.setStyleSheet(
687
- "background-color: rgb(240, 242, 255); border: 1px solid gray;"
688
- )
689
- self.model_label.setAlignment(
690
- Qt.AlignmentFlag.AlignRight
691
- | Qt.AlignmentFlag.AlignTrailing
692
- | Qt.AlignmentFlag.AlignVCenter
693
- )
694
- self.model_label.setMargin(4)
733
+ self.boutlengthlayout.addItem(self.horizontalSpacer_75)
695
734
 
696
- self.load_model_layout.addWidget(self.model_label)
735
+ self.classification_options_layout.addLayout(self.boutlengthlayout)
697
736
 
698
- self.load_model_layout.setStretch(0, 5)
699
- self.load_model_layout.setStretch(1, 12)
737
+ self.classification_options_layout.setStretch(0, 5)
738
+ self.classification_options_layout.setStretch(1, 1)
739
+ self.classification_options_layout.setStretch(2, 5)
740
+ self.classification_options_layout.setStretch(3, 1)
741
+ self.classification_options_layout.setStretch(4, 7)
700
742
 
701
- self.gridLayout_4.addLayout(self.load_model_layout, 0, 0, 1, 1)
743
+ self.gridLayout_4.addLayout(self.classification_options_layout, 1, 0, 1, 1)
702
744
 
703
745
  self.gridLayout.addLayout(self.gridLayout_4, 0, 0, 1, 1)
704
746
 
@@ -712,7 +754,7 @@ class Ui_PrimaryWindow(object):
712
754
  self.model_training_layout = QGridLayout()
713
755
  self.model_training_layout.setObjectName("model_training_layout")
714
756
  self.model_training_layout.setVerticalSpacing(10)
715
- self.model_training_layout.setContentsMargins(5, 5, 5, 5)
757
+ self.model_training_layout.setContentsMargins(5, 5, 5, 25)
716
758
  self.top_training_layout = QHBoxLayout()
717
759
  self.top_training_layout.setSpacing(10)
718
760
  self.top_training_layout.setObjectName("top_training_layout")
@@ -813,12 +855,6 @@ class Ui_PrimaryWindow(object):
813
855
 
814
856
  self.bottom_training_layout = QHBoxLayout()
815
857
  self.bottom_training_layout.setObjectName("bottom_training_layout")
816
- self.horizontalSpacer_7 = QSpacerItem(
817
- 10, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
818
- )
819
-
820
- self.bottom_training_layout.addItem(self.horizontalSpacer_7)
821
-
822
858
  self.train_model_button = QPushButton(self.model_training_tab)
823
859
  self.train_model_button.setObjectName("train_model_button")
824
860
  sizePolicy3.setHeightForWidth(
@@ -834,49 +870,61 @@ class Ui_PrimaryWindow(object):
834
870
 
835
871
  self.bottom_training_layout.addItem(self.horizontalSpacer_8)
836
872
 
837
- self.bottom_training_layout.setStretch(0, 2)
838
- self.bottom_training_layout.setStretch(1, 1)
839
- self.bottom_training_layout.setStretch(2, 2)
873
+ self.calibrate_checkbox = QCheckBox(self.model_training_tab)
874
+ self.calibrate_checkbox.setObjectName("calibrate_checkbox")
875
+ sizePolicy1.setHeightForWidth(
876
+ self.calibrate_checkbox.sizePolicy().hasHeightForWidth()
877
+ )
878
+ self.calibrate_checkbox.setSizePolicy(sizePolicy1)
879
+ self.calibrate_checkbox.setChecked(True)
840
880
 
841
- self.model_training_layout.addLayout(self.bottom_training_layout, 2, 0, 1, 1)
881
+ self.bottom_training_layout.addWidget(self.calibrate_checkbox)
842
882
 
843
- self.middle_training_layout = QHBoxLayout()
844
- self.middle_training_layout.setSpacing(10)
845
- self.middle_training_layout.setObjectName("middle_training_layout")
846
- self.horizontalLayout_2 = QHBoxLayout()
847
- self.horizontalLayout_2.setObjectName("horizontalLayout_2")
848
- self.training_folder_button = QPushButton(self.model_training_tab)
849
- self.training_folder_button.setObjectName("training_folder_button")
850
- sizePolicy3.setHeightForWidth(
851
- self.training_folder_button.sizePolicy().hasHeightForWidth()
883
+ self.horizontalSpacer_7 = QSpacerItem(
884
+ 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
852
885
  )
853
- self.training_folder_button.setSizePolicy(sizePolicy3)
854
886
 
855
- self.horizontalLayout_2.addWidget(self.training_folder_button)
887
+ self.bottom_training_layout.addItem(self.horizontalSpacer_7)
888
+
889
+ self.calibrate_label = QLabel(self.model_training_tab)
890
+ self.calibrate_label.setObjectName("calibrate_label")
891
+ sizePolicy1.setHeightForWidth(
892
+ self.calibrate_label.sizePolicy().hasHeightForWidth()
893
+ )
894
+ self.calibrate_label.setSizePolicy(sizePolicy1)
856
895
 
857
- self.middle_training_layout.addLayout(self.horizontalLayout_2)
896
+ self.bottom_training_layout.addWidget(self.calibrate_label)
858
897
 
859
- self.image_folder_label = QLabel(self.model_training_tab)
860
- self.image_folder_label.setObjectName("image_folder_label")
861
- sizePolicy4.setHeightForWidth(
862
- self.image_folder_label.sizePolicy().hasHeightForWidth()
898
+ self.calibration_spinbox = QSpinBox(self.model_training_tab)
899
+ self.calibration_spinbox.setObjectName("calibration_spinbox")
900
+ sizePolicy1.setHeightForWidth(
901
+ self.calibration_spinbox.sizePolicy().hasHeightForWidth()
863
902
  )
864
- self.image_folder_label.setSizePolicy(sizePolicy4)
865
- self.image_folder_label.setStyleSheet(
866
- "background-color: rgb(240, 242, 255); border: 1px solid gray;"
903
+ self.calibration_spinbox.setSizePolicy(sizePolicy1)
904
+ self.calibration_spinbox.setMinimum(10)
905
+ self.calibration_spinbox.setMaximum(50)
906
+ self.calibration_spinbox.setValue(15)
907
+
908
+ self.bottom_training_layout.addWidget(self.calibration_spinbox)
909
+
910
+ self.horizontalSpacer_78 = QSpacerItem(
911
+ 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
867
912
  )
868
- self.image_folder_label.setMargin(4)
869
913
 
870
- self.middle_training_layout.addWidget(self.image_folder_label)
914
+ self.bottom_training_layout.addItem(self.horizontalSpacer_78)
871
915
 
872
- self.middle_training_layout.setStretch(0, 5)
873
- self.middle_training_layout.setStretch(1, 12)
916
+ self.bottom_training_layout.setStretch(0, 6)
917
+ self.bottom_training_layout.setStretch(1, 5)
918
+ self.bottom_training_layout.setStretch(2, 3)
919
+ self.bottom_training_layout.setStretch(3, 1)
920
+ self.bottom_training_layout.setStretch(4, 3)
921
+ self.bottom_training_layout.setStretch(5, 1)
922
+ self.bottom_training_layout.setStretch(6, 1)
874
923
 
875
- self.model_training_layout.addLayout(self.middle_training_layout, 1, 0, 1, 1)
924
+ self.model_training_layout.addLayout(self.bottom_training_layout, 1, 0, 1, 1)
876
925
 
877
926
  self.model_training_layout.setRowStretch(0, 1)
878
927
  self.model_training_layout.setRowStretch(1, 1)
879
- self.model_training_layout.setRowStretch(2, 1)
880
928
 
881
929
  self.gridLayout_7.addLayout(self.model_training_layout, 0, 0, 1, 1)
882
930
 
@@ -936,21 +984,90 @@ class Ui_PrimaryWindow(object):
936
984
  self.settings_tab_layout.setContentsMargins(20, 20, 20, -1)
937
985
  self.verticalLayout_3 = QVBoxLayout()
938
986
  self.verticalLayout_3.setObjectName("verticalLayout_3")
939
- self.settings_text = QLabel(self.settings_tab)
940
- self.settings_text.setObjectName("settings_text")
941
- self.settings_text.setStyleSheet("background-color: white;")
942
- self.settings_text.setMargin(16)
987
+ self.saveconfig_layout = QHBoxLayout()
988
+ self.saveconfig_layout.setObjectName("saveconfig_layout")
989
+ self.horizontalSpacer_79 = QSpacerItem(
990
+ 40, 20, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
991
+ )
992
+
993
+ self.saveconfig_layout.addItem(self.horizontalSpacer_79)
994
+
995
+ self.save_config_button = QPushButton(self.settings_tab)
996
+ self.save_config_button.setObjectName("save_config_button")
997
+ sizePolicy1.setHeightForWidth(
998
+ self.save_config_button.sizePolicy().hasHeightForWidth()
999
+ )
1000
+ self.save_config_button.setSizePolicy(sizePolicy1)
943
1001
 
944
- self.verticalLayout_3.addWidget(self.settings_text)
1002
+ self.saveconfig_layout.addWidget(self.save_config_button)
945
1003
 
946
- self.settings_tab_layout.addLayout(self.verticalLayout_3, 0, 1, 1, 1)
1004
+ self.save_config_status = QLabel(self.settings_tab)
1005
+ self.save_config_status.setObjectName("save_config_status")
1006
+ sizePolicy3.setHeightForWidth(
1007
+ self.save_config_status.sizePolicy().hasHeightForWidth()
1008
+ )
1009
+ self.save_config_status.setSizePolicy(sizePolicy3)
1010
+ self.save_config_status.setStyleSheet("background-color: transparent;")
947
1011
 
948
- self.verticalLayout_6 = QVBoxLayout()
949
- self.verticalLayout_6.setObjectName("verticalLayout_6")
1012
+ self.saveconfig_layout.addWidget(self.save_config_status)
1013
+
1014
+ self.saveconfig_layout.setStretch(0, 10)
1015
+ self.saveconfig_layout.setStretch(1, 2)
1016
+ self.saveconfig_layout.setStretch(2, 10)
1017
+
1018
+ self.verticalLayout_3.addLayout(self.saveconfig_layout)
1019
+
1020
+ self.verticalSpacer_2 = QSpacerItem(
1021
+ 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
1022
+ )
1023
+
1024
+ self.verticalLayout_3.addItem(self.verticalSpacer_2)
1025
+
1026
+ self.settings_tab_layout.addLayout(self.verticalLayout_3, 2, 0, 1, 1)
1027
+
1028
+ self.settings_layout = QVBoxLayout()
1029
+ self.settings_layout.setObjectName("settings_layout")
1030
+ self.settings_combo_layout = QHBoxLayout()
1031
+ self.settings_combo_layout.setSpacing(20)
1032
+ self.settings_combo_layout.setObjectName("settings_combo_layout")
1033
+ self.settings_combobox = QComboBox(self.settings_tab)
1034
+ self.settings_combobox.addItem("")
1035
+ self.settings_combobox.addItem("")
1036
+ self.settings_combobox.addItem("")
1037
+ self.settings_combobox.addItem("")
1038
+ self.settings_combobox.setObjectName("settings_combobox")
1039
+ sizePolicy3.setHeightForWidth(
1040
+ self.settings_combobox.sizePolicy().hasHeightForWidth()
1041
+ )
1042
+ self.settings_combobox.setSizePolicy(sizePolicy3)
1043
+
1044
+ self.settings_combo_layout.addWidget(self.settings_combobox)
1045
+
1046
+ self.horizontalSpacer_89 = QSpacerItem(
1047
+ 5, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
1048
+ )
1049
+
1050
+ self.settings_combo_layout.addItem(self.horizontalSpacer_89)
1051
+
1052
+ self.settings_combo_layout.setStretch(0, 1)
1053
+ self.settings_combo_layout.setStretch(1, 3)
1054
+
1055
+ self.settings_layout.addLayout(self.settings_combo_layout)
1056
+
1057
+ self.settings_stack = QStackedWidget(self.settings_tab)
1058
+ self.settings_stack.setObjectName("settings_stack")
1059
+ self.brain_state_page = QWidget()
1060
+ self.brain_state_page.setObjectName("brain_state_page")
1061
+ self.horizontalLayout_80 = QHBoxLayout(self.brain_state_page)
1062
+ self.horizontalLayout_80.setSpacing(20)
1063
+ self.horizontalLayout_80.setObjectName("horizontalLayout_80")
1064
+ self.settings_controls_layout = QVBoxLayout()
1065
+ self.settings_controls_layout.setSpacing(10)
1066
+ self.settings_controls_layout.setObjectName("settings_controls_layout")
950
1067
  self.horizontalLayout_3 = QHBoxLayout()
951
1068
  self.horizontalLayout_3.setSpacing(10)
952
1069
  self.horizontalLayout_3.setObjectName("horizontalLayout_3")
953
- self.label_15 = QLabel(self.settings_tab)
1070
+ self.label_15 = QLabel(self.brain_state_page)
954
1071
  self.label_15.setObjectName("label_15")
955
1072
  sizePolicy3.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth())
956
1073
  self.label_15.setSizePolicy(sizePolicy3)
@@ -958,7 +1075,7 @@ class Ui_PrimaryWindow(object):
958
1075
 
959
1076
  self.horizontalLayout_3.addWidget(self.label_15)
960
1077
 
961
- self.label_14 = QLabel(self.settings_tab)
1078
+ self.label_14 = QLabel(self.brain_state_page)
962
1079
  self.label_14.setObjectName("label_14")
963
1080
  sizePolicy3.setHeightForWidth(self.label_14.sizePolicy().hasHeightForWidth())
964
1081
  self.label_14.setSizePolicy(sizePolicy3)
@@ -966,7 +1083,7 @@ class Ui_PrimaryWindow(object):
966
1083
 
967
1084
  self.horizontalLayout_3.addWidget(self.label_14)
968
1085
 
969
- self.label_16 = QLabel(self.settings_tab)
1086
+ self.label_16 = QLabel(self.brain_state_page)
970
1087
  self.label_16.setObjectName("label_16")
971
1088
  sizePolicy3.setHeightForWidth(self.label_16.sizePolicy().hasHeightForWidth())
972
1089
  self.label_16.setSizePolicy(sizePolicy3)
@@ -974,7 +1091,7 @@ class Ui_PrimaryWindow(object):
974
1091
 
975
1092
  self.horizontalLayout_3.addWidget(self.label_16)
976
1093
 
977
- self.label_13 = QLabel(self.settings_tab)
1094
+ self.label_13 = QLabel(self.brain_state_page)
978
1095
  self.label_13.setObjectName("label_13")
979
1096
  sizePolicy3.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
980
1097
  self.label_13.setSizePolicy(sizePolicy3)
@@ -982,7 +1099,7 @@ class Ui_PrimaryWindow(object):
982
1099
 
983
1100
  self.horizontalLayout_3.addWidget(self.label_13)
984
1101
 
985
- self.label_18 = QLabel(self.settings_tab)
1102
+ self.label_18 = QLabel(self.brain_state_page)
986
1103
  self.label_18.setObjectName("label_18")
987
1104
  sizePolicy6 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
988
1105
  sizePolicy6.setHorizontalStretch(0)
@@ -999,14 +1116,14 @@ class Ui_PrimaryWindow(object):
999
1116
  self.horizontalLayout_3.setStretch(3, 3)
1000
1117
  self.horizontalLayout_3.setStretch(4, 4)
1001
1118
 
1002
- self.verticalLayout_6.addLayout(self.horizontalLayout_3)
1119
+ self.settings_controls_layout.addLayout(self.horizontalLayout_3)
1003
1120
 
1004
1121
  self.horizontalLayout_17 = QHBoxLayout()
1005
1122
  self.horizontalLayout_17.setSpacing(10)
1006
1123
  self.horizontalLayout_17.setObjectName("horizontalLayout_17")
1007
1124
  self.horizontalLayout_19 = QHBoxLayout()
1008
1125
  self.horizontalLayout_19.setObjectName("horizontalLayout_19")
1009
- self.label_12 = QLabel(self.settings_tab)
1126
+ self.label_12 = QLabel(self.brain_state_page)
1010
1127
  self.label_12.setObjectName("label_12")
1011
1128
  sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
1012
1129
  self.label_12.setSizePolicy(sizePolicy)
@@ -1027,7 +1144,7 @@ class Ui_PrimaryWindow(object):
1027
1144
 
1028
1145
  self.horizontalLayout_20.addItem(self.horizontalSpacer_12)
1029
1146
 
1030
- self.enable_state_1 = QCheckBox(self.settings_tab)
1147
+ self.enable_state_1 = QCheckBox(self.brain_state_page)
1031
1148
  self.enable_state_1.setObjectName("enable_state_1")
1032
1149
  sizePolicy1.setHeightForWidth(
1033
1150
  self.enable_state_1.sizePolicy().hasHeightForWidth()
@@ -1044,7 +1161,7 @@ class Ui_PrimaryWindow(object):
1044
1161
 
1045
1162
  self.horizontalLayout_17.addLayout(self.horizontalLayout_20)
1046
1163
 
1047
- self.state_name_1 = QLineEdit(self.settings_tab)
1164
+ self.state_name_1 = QLineEdit(self.brain_state_page)
1048
1165
  self.state_name_1.setObjectName("state_name_1")
1049
1166
  sizePolicy3.setHeightForWidth(
1050
1167
  self.state_name_1.sizePolicy().hasHeightForWidth()
@@ -1062,7 +1179,7 @@ class Ui_PrimaryWindow(object):
1062
1179
 
1063
1180
  self.horizontalLayout_21.addItem(self.horizontalSpacer_14)
1064
1181
 
1065
- self.state_scored_1 = QCheckBox(self.settings_tab)
1182
+ self.state_scored_1 = QCheckBox(self.brain_state_page)
1066
1183
  self.state_scored_1.setObjectName("state_scored_1")
1067
1184
  sizePolicy1.setHeightForWidth(
1068
1185
  self.state_scored_1.sizePolicy().hasHeightForWidth()
@@ -1088,7 +1205,7 @@ class Ui_PrimaryWindow(object):
1088
1205
 
1089
1206
  self.horizontalLayout_22.addItem(self.horizontalSpacer_10)
1090
1207
 
1091
- self.state_frequency_1 = QDoubleSpinBox(self.settings_tab)
1208
+ self.state_frequency_1 = QDoubleSpinBox(self.brain_state_page)
1092
1209
  self.state_frequency_1.setObjectName("state_frequency_1")
1093
1210
  self.state_frequency_1.setMaximum(1.000000000000000)
1094
1211
  self.state_frequency_1.setSingleStep(0.010000000000000)
@@ -1109,14 +1226,14 @@ class Ui_PrimaryWindow(object):
1109
1226
  self.horizontalLayout_17.setStretch(3, 3)
1110
1227
  self.horizontalLayout_17.setStretch(4, 4)
1111
1228
 
1112
- self.verticalLayout_6.addLayout(self.horizontalLayout_17)
1229
+ self.settings_controls_layout.addLayout(self.horizontalLayout_17)
1113
1230
 
1114
1231
  self.horizontalLayout_16 = QHBoxLayout()
1115
1232
  self.horizontalLayout_16.setSpacing(10)
1116
1233
  self.horizontalLayout_16.setObjectName("horizontalLayout_16")
1117
1234
  self.horizontalLayout_23 = QHBoxLayout()
1118
1235
  self.horizontalLayout_23.setObjectName("horizontalLayout_23")
1119
- self.label_11 = QLabel(self.settings_tab)
1236
+ self.label_11 = QLabel(self.brain_state_page)
1120
1237
  self.label_11.setObjectName("label_11")
1121
1238
  sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
1122
1239
  self.label_11.setSizePolicy(sizePolicy)
@@ -1135,7 +1252,7 @@ class Ui_PrimaryWindow(object):
1135
1252
 
1136
1253
  self.horizontalLayout_24.addItem(self.horizontalSpacer_16)
1137
1254
 
1138
- self.enable_state_2 = QCheckBox(self.settings_tab)
1255
+ self.enable_state_2 = QCheckBox(self.brain_state_page)
1139
1256
  self.enable_state_2.setObjectName("enable_state_2")
1140
1257
  sizePolicy1.setHeightForWidth(
1141
1258
  self.enable_state_2.sizePolicy().hasHeightForWidth()
@@ -1152,7 +1269,7 @@ class Ui_PrimaryWindow(object):
1152
1269
 
1153
1270
  self.horizontalLayout_16.addLayout(self.horizontalLayout_24)
1154
1271
 
1155
- self.state_name_2 = QLineEdit(self.settings_tab)
1272
+ self.state_name_2 = QLineEdit(self.brain_state_page)
1156
1273
  self.state_name_2.setObjectName("state_name_2")
1157
1274
  sizePolicy3.setHeightForWidth(
1158
1275
  self.state_name_2.sizePolicy().hasHeightForWidth()
@@ -1169,7 +1286,7 @@ class Ui_PrimaryWindow(object):
1169
1286
 
1170
1287
  self.horizontalLayout_26.addItem(self.horizontalSpacer_18)
1171
1288
 
1172
- self.state_scored_2 = QCheckBox(self.settings_tab)
1289
+ self.state_scored_2 = QCheckBox(self.brain_state_page)
1173
1290
  self.state_scored_2.setObjectName("state_scored_2")
1174
1291
  sizePolicy1.setHeightForWidth(
1175
1292
  self.state_scored_2.sizePolicy().hasHeightForWidth()
@@ -1195,7 +1312,7 @@ class Ui_PrimaryWindow(object):
1195
1312
 
1196
1313
  self.horizontalLayout_25.addItem(self.horizontalSpacer_52)
1197
1314
 
1198
- self.state_frequency_2 = QDoubleSpinBox(self.settings_tab)
1315
+ self.state_frequency_2 = QDoubleSpinBox(self.brain_state_page)
1199
1316
  self.state_frequency_2.setObjectName("state_frequency_2")
1200
1317
  self.state_frequency_2.setMaximum(1.000000000000000)
1201
1318
  self.state_frequency_2.setSingleStep(0.010000000000000)
@@ -1216,14 +1333,14 @@ class Ui_PrimaryWindow(object):
1216
1333
  self.horizontalLayout_16.setStretch(3, 3)
1217
1334
  self.horizontalLayout_16.setStretch(4, 4)
1218
1335
 
1219
- self.verticalLayout_6.addLayout(self.horizontalLayout_16)
1336
+ self.settings_controls_layout.addLayout(self.horizontalLayout_16)
1220
1337
 
1221
1338
  self.horizontalLayout_15 = QHBoxLayout()
1222
1339
  self.horizontalLayout_15.setSpacing(10)
1223
1340
  self.horizontalLayout_15.setObjectName("horizontalLayout_15")
1224
1341
  self.horizontalLayout_28 = QHBoxLayout()
1225
1342
  self.horizontalLayout_28.setObjectName("horizontalLayout_28")
1226
- self.label_10 = QLabel(self.settings_tab)
1343
+ self.label_10 = QLabel(self.brain_state_page)
1227
1344
  self.label_10.setObjectName("label_10")
1228
1345
  sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth())
1229
1346
  self.label_10.setSizePolicy(sizePolicy)
@@ -1242,7 +1359,7 @@ class Ui_PrimaryWindow(object):
1242
1359
 
1243
1360
  self.horizontalLayout_29.addItem(self.horizontalSpacer_20)
1244
1361
 
1245
- self.enable_state_3 = QCheckBox(self.settings_tab)
1362
+ self.enable_state_3 = QCheckBox(self.brain_state_page)
1246
1363
  self.enable_state_3.setObjectName("enable_state_3")
1247
1364
  sizePolicy1.setHeightForWidth(
1248
1365
  self.enable_state_3.sizePolicy().hasHeightForWidth()
@@ -1259,7 +1376,7 @@ class Ui_PrimaryWindow(object):
1259
1376
 
1260
1377
  self.horizontalLayout_15.addLayout(self.horizontalLayout_29)
1261
1378
 
1262
- self.state_name_3 = QLineEdit(self.settings_tab)
1379
+ self.state_name_3 = QLineEdit(self.brain_state_page)
1263
1380
  self.state_name_3.setObjectName("state_name_3")
1264
1381
  sizePolicy3.setHeightForWidth(
1265
1382
  self.state_name_3.sizePolicy().hasHeightForWidth()
@@ -1276,7 +1393,7 @@ class Ui_PrimaryWindow(object):
1276
1393
 
1277
1394
  self.horizontalLayout_30.addItem(self.horizontalSpacer_22)
1278
1395
 
1279
- self.state_scored_3 = QCheckBox(self.settings_tab)
1396
+ self.state_scored_3 = QCheckBox(self.brain_state_page)
1280
1397
  self.state_scored_3.setObjectName("state_scored_3")
1281
1398
  sizePolicy1.setHeightForWidth(
1282
1399
  self.state_scored_3.sizePolicy().hasHeightForWidth()
@@ -1302,7 +1419,7 @@ class Ui_PrimaryWindow(object):
1302
1419
 
1303
1420
  self.horizontalLayout_27.addItem(self.horizontalSpacer_55)
1304
1421
 
1305
- self.state_frequency_3 = QDoubleSpinBox(self.settings_tab)
1422
+ self.state_frequency_3 = QDoubleSpinBox(self.brain_state_page)
1306
1423
  self.state_frequency_3.setObjectName("state_frequency_3")
1307
1424
  self.state_frequency_3.setMaximum(1.000000000000000)
1308
1425
  self.state_frequency_3.setSingleStep(0.010000000000000)
@@ -1323,14 +1440,14 @@ class Ui_PrimaryWindow(object):
1323
1440
  self.horizontalLayout_15.setStretch(3, 3)
1324
1441
  self.horizontalLayout_15.setStretch(4, 4)
1325
1442
 
1326
- self.verticalLayout_6.addLayout(self.horizontalLayout_15)
1443
+ self.settings_controls_layout.addLayout(self.horizontalLayout_15)
1327
1444
 
1328
1445
  self.horizontalLayout_14 = QHBoxLayout()
1329
1446
  self.horizontalLayout_14.setSpacing(10)
1330
1447
  self.horizontalLayout_14.setObjectName("horizontalLayout_14")
1331
1448
  self.horizontalLayout_31 = QHBoxLayout()
1332
1449
  self.horizontalLayout_31.setObjectName("horizontalLayout_31")
1333
- self.label_9 = QLabel(self.settings_tab)
1450
+ self.label_9 = QLabel(self.brain_state_page)
1334
1451
  self.label_9.setObjectName("label_9")
1335
1452
  sizePolicy.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth())
1336
1453
  self.label_9.setSizePolicy(sizePolicy)
@@ -1349,7 +1466,7 @@ class Ui_PrimaryWindow(object):
1349
1466
 
1350
1467
  self.horizontalLayout_45.addItem(self.horizontalSpacer_24)
1351
1468
 
1352
- self.enable_state_4 = QCheckBox(self.settings_tab)
1469
+ self.enable_state_4 = QCheckBox(self.brain_state_page)
1353
1470
  self.enable_state_4.setObjectName("enable_state_4")
1354
1471
  sizePolicy1.setHeightForWidth(
1355
1472
  self.enable_state_4.sizePolicy().hasHeightForWidth()
@@ -1366,7 +1483,7 @@ class Ui_PrimaryWindow(object):
1366
1483
 
1367
1484
  self.horizontalLayout_14.addLayout(self.horizontalLayout_45)
1368
1485
 
1369
- self.state_name_4 = QLineEdit(self.settings_tab)
1486
+ self.state_name_4 = QLineEdit(self.brain_state_page)
1370
1487
  self.state_name_4.setObjectName("state_name_4")
1371
1488
  sizePolicy3.setHeightForWidth(
1372
1489
  self.state_name_4.sizePolicy().hasHeightForWidth()
@@ -1383,7 +1500,7 @@ class Ui_PrimaryWindow(object):
1383
1500
 
1384
1501
  self.horizontalLayout_52.addItem(self.horizontalSpacer_26)
1385
1502
 
1386
- self.state_scored_4 = QCheckBox(self.settings_tab)
1503
+ self.state_scored_4 = QCheckBox(self.brain_state_page)
1387
1504
  self.state_scored_4.setObjectName("state_scored_4")
1388
1505
  sizePolicy1.setHeightForWidth(
1389
1506
  self.state_scored_4.sizePolicy().hasHeightForWidth()
@@ -1409,7 +1526,7 @@ class Ui_PrimaryWindow(object):
1409
1526
 
1410
1527
  self.horizontalLayout_38.addItem(self.horizontalSpacer_57)
1411
1528
 
1412
- self.state_frequency_4 = QDoubleSpinBox(self.settings_tab)
1529
+ self.state_frequency_4 = QDoubleSpinBox(self.brain_state_page)
1413
1530
  self.state_frequency_4.setObjectName("state_frequency_4")
1414
1531
  self.state_frequency_4.setMaximum(1.000000000000000)
1415
1532
  self.state_frequency_4.setSingleStep(0.010000000000000)
@@ -1430,14 +1547,14 @@ class Ui_PrimaryWindow(object):
1430
1547
  self.horizontalLayout_14.setStretch(3, 3)
1431
1548
  self.horizontalLayout_14.setStretch(4, 4)
1432
1549
 
1433
- self.verticalLayout_6.addLayout(self.horizontalLayout_14)
1550
+ self.settings_controls_layout.addLayout(self.horizontalLayout_14)
1434
1551
 
1435
1552
  self.horizontalLayout_13 = QHBoxLayout()
1436
1553
  self.horizontalLayout_13.setSpacing(10)
1437
1554
  self.horizontalLayout_13.setObjectName("horizontalLayout_13")
1438
1555
  self.horizontalLayout_32 = QHBoxLayout()
1439
1556
  self.horizontalLayout_32.setObjectName("horizontalLayout_32")
1440
- self.label_8 = QLabel(self.settings_tab)
1557
+ self.label_8 = QLabel(self.brain_state_page)
1441
1558
  self.label_8.setObjectName("label_8")
1442
1559
  sizePolicy.setHeightForWidth(self.label_8.sizePolicy().hasHeightForWidth())
1443
1560
  self.label_8.setSizePolicy(sizePolicy)
@@ -1456,7 +1573,7 @@ class Ui_PrimaryWindow(object):
1456
1573
 
1457
1574
  self.horizontalLayout_46.addItem(self.horizontalSpacer_29)
1458
1575
 
1459
- self.enable_state_5 = QCheckBox(self.settings_tab)
1576
+ self.enable_state_5 = QCheckBox(self.brain_state_page)
1460
1577
  self.enable_state_5.setObjectName("enable_state_5")
1461
1578
  sizePolicy1.setHeightForWidth(
1462
1579
  self.enable_state_5.sizePolicy().hasHeightForWidth()
@@ -1473,7 +1590,7 @@ class Ui_PrimaryWindow(object):
1473
1590
 
1474
1591
  self.horizontalLayout_13.addLayout(self.horizontalLayout_46)
1475
1592
 
1476
- self.state_name_5 = QLineEdit(self.settings_tab)
1593
+ self.state_name_5 = QLineEdit(self.brain_state_page)
1477
1594
  self.state_name_5.setObjectName("state_name_5")
1478
1595
  sizePolicy3.setHeightForWidth(
1479
1596
  self.state_name_5.sizePolicy().hasHeightForWidth()
@@ -1490,7 +1607,7 @@ class Ui_PrimaryWindow(object):
1490
1607
 
1491
1608
  self.horizontalLayout_53.addItem(self.horizontalSpacer_27)
1492
1609
 
1493
- self.state_scored_5 = QCheckBox(self.settings_tab)
1610
+ self.state_scored_5 = QCheckBox(self.brain_state_page)
1494
1611
  self.state_scored_5.setObjectName("state_scored_5")
1495
1612
  sizePolicy1.setHeightForWidth(
1496
1613
  self.state_scored_5.sizePolicy().hasHeightForWidth()
@@ -1516,7 +1633,7 @@ class Ui_PrimaryWindow(object):
1516
1633
 
1517
1634
  self.horizontalLayout_39.addItem(self.horizontalSpacer_59)
1518
1635
 
1519
- self.state_frequency_5 = QDoubleSpinBox(self.settings_tab)
1636
+ self.state_frequency_5 = QDoubleSpinBox(self.brain_state_page)
1520
1637
  self.state_frequency_5.setObjectName("state_frequency_5")
1521
1638
  self.state_frequency_5.setMaximum(1.000000000000000)
1522
1639
  self.state_frequency_5.setSingleStep(0.010000000000000)
@@ -1537,14 +1654,14 @@ class Ui_PrimaryWindow(object):
1537
1654
  self.horizontalLayout_13.setStretch(3, 3)
1538
1655
  self.horizontalLayout_13.setStretch(4, 4)
1539
1656
 
1540
- self.verticalLayout_6.addLayout(self.horizontalLayout_13)
1657
+ self.settings_controls_layout.addLayout(self.horizontalLayout_13)
1541
1658
 
1542
1659
  self.horizontalLayout_12 = QHBoxLayout()
1543
1660
  self.horizontalLayout_12.setSpacing(10)
1544
1661
  self.horizontalLayout_12.setObjectName("horizontalLayout_12")
1545
1662
  self.horizontalLayout_33 = QHBoxLayout()
1546
1663
  self.horizontalLayout_33.setObjectName("horizontalLayout_33")
1547
- self.label_7 = QLabel(self.settings_tab)
1664
+ self.label_7 = QLabel(self.brain_state_page)
1548
1665
  self.label_7.setObjectName("label_7")
1549
1666
  sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
1550
1667
  self.label_7.setSizePolicy(sizePolicy)
@@ -1563,7 +1680,7 @@ class Ui_PrimaryWindow(object):
1563
1680
 
1564
1681
  self.horizontalLayout_47.addItem(self.horizontalSpacer_32)
1565
1682
 
1566
- self.enable_state_6 = QCheckBox(self.settings_tab)
1683
+ self.enable_state_6 = QCheckBox(self.brain_state_page)
1567
1684
  self.enable_state_6.setObjectName("enable_state_6")
1568
1685
  sizePolicy1.setHeightForWidth(
1569
1686
  self.enable_state_6.sizePolicy().hasHeightForWidth()
@@ -1580,7 +1697,7 @@ class Ui_PrimaryWindow(object):
1580
1697
 
1581
1698
  self.horizontalLayout_12.addLayout(self.horizontalLayout_47)
1582
1699
 
1583
- self.state_name_6 = QLineEdit(self.settings_tab)
1700
+ self.state_name_6 = QLineEdit(self.brain_state_page)
1584
1701
  self.state_name_6.setObjectName("state_name_6")
1585
1702
  sizePolicy3.setHeightForWidth(
1586
1703
  self.state_name_6.sizePolicy().hasHeightForWidth()
@@ -1597,7 +1714,7 @@ class Ui_PrimaryWindow(object):
1597
1714
 
1598
1715
  self.horizontalLayout_54.addItem(self.horizontalSpacer_34)
1599
1716
 
1600
- self.state_scored_6 = QCheckBox(self.settings_tab)
1717
+ self.state_scored_6 = QCheckBox(self.brain_state_page)
1601
1718
  self.state_scored_6.setObjectName("state_scored_6")
1602
1719
  sizePolicy1.setHeightForWidth(
1603
1720
  self.state_scored_6.sizePolicy().hasHeightForWidth()
@@ -1623,7 +1740,7 @@ class Ui_PrimaryWindow(object):
1623
1740
 
1624
1741
  self.horizontalLayout_40.addItem(self.horizontalSpacer_61)
1625
1742
 
1626
- self.state_frequency_6 = QDoubleSpinBox(self.settings_tab)
1743
+ self.state_frequency_6 = QDoubleSpinBox(self.brain_state_page)
1627
1744
  self.state_frequency_6.setObjectName("state_frequency_6")
1628
1745
  self.state_frequency_6.setMaximum(1.000000000000000)
1629
1746
  self.state_frequency_6.setSingleStep(0.010000000000000)
@@ -1644,14 +1761,14 @@ class Ui_PrimaryWindow(object):
1644
1761
  self.horizontalLayout_12.setStretch(3, 3)
1645
1762
  self.horizontalLayout_12.setStretch(4, 4)
1646
1763
 
1647
- self.verticalLayout_6.addLayout(self.horizontalLayout_12)
1764
+ self.settings_controls_layout.addLayout(self.horizontalLayout_12)
1648
1765
 
1649
1766
  self.horizontalLayout_9 = QHBoxLayout()
1650
1767
  self.horizontalLayout_9.setSpacing(10)
1651
1768
  self.horizontalLayout_9.setObjectName("horizontalLayout_9")
1652
1769
  self.horizontalLayout_34 = QHBoxLayout()
1653
1770
  self.horizontalLayout_34.setObjectName("horizontalLayout_34")
1654
- self.label_6 = QLabel(self.settings_tab)
1771
+ self.label_6 = QLabel(self.brain_state_page)
1655
1772
  self.label_6.setObjectName("label_6")
1656
1773
  sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
1657
1774
  self.label_6.setSizePolicy(sizePolicy)
@@ -1670,7 +1787,7 @@ class Ui_PrimaryWindow(object):
1670
1787
 
1671
1788
  self.horizontalLayout_48.addItem(self.horizontalSpacer_36)
1672
1789
 
1673
- self.enable_state_7 = QCheckBox(self.settings_tab)
1790
+ self.enable_state_7 = QCheckBox(self.brain_state_page)
1674
1791
  self.enable_state_7.setObjectName("enable_state_7")
1675
1792
  sizePolicy1.setHeightForWidth(
1676
1793
  self.enable_state_7.sizePolicy().hasHeightForWidth()
@@ -1687,7 +1804,7 @@ class Ui_PrimaryWindow(object):
1687
1804
 
1688
1805
  self.horizontalLayout_9.addLayout(self.horizontalLayout_48)
1689
1806
 
1690
- self.state_name_7 = QLineEdit(self.settings_tab)
1807
+ self.state_name_7 = QLineEdit(self.brain_state_page)
1691
1808
  self.state_name_7.setObjectName("state_name_7")
1692
1809
  sizePolicy3.setHeightForWidth(
1693
1810
  self.state_name_7.sizePolicy().hasHeightForWidth()
@@ -1704,7 +1821,7 @@ class Ui_PrimaryWindow(object):
1704
1821
 
1705
1822
  self.horizontalLayout_55.addItem(self.horizontalSpacer_38)
1706
1823
 
1707
- self.state_scored_7 = QCheckBox(self.settings_tab)
1824
+ self.state_scored_7 = QCheckBox(self.brain_state_page)
1708
1825
  self.state_scored_7.setObjectName("state_scored_7")
1709
1826
  sizePolicy1.setHeightForWidth(
1710
1827
  self.state_scored_7.sizePolicy().hasHeightForWidth()
@@ -1730,7 +1847,7 @@ class Ui_PrimaryWindow(object):
1730
1847
 
1731
1848
  self.horizontalLayout_41.addItem(self.horizontalSpacer_63)
1732
1849
 
1733
- self.state_frequency_7 = QDoubleSpinBox(self.settings_tab)
1850
+ self.state_frequency_7 = QDoubleSpinBox(self.brain_state_page)
1734
1851
  self.state_frequency_7.setObjectName("state_frequency_7")
1735
1852
  self.state_frequency_7.setMaximum(1.000000000000000)
1736
1853
  self.state_frequency_7.setSingleStep(0.010000000000000)
@@ -1751,14 +1868,14 @@ class Ui_PrimaryWindow(object):
1751
1868
  self.horizontalLayout_9.setStretch(3, 3)
1752
1869
  self.horizontalLayout_9.setStretch(4, 4)
1753
1870
 
1754
- self.verticalLayout_6.addLayout(self.horizontalLayout_9)
1871
+ self.settings_controls_layout.addLayout(self.horizontalLayout_9)
1755
1872
 
1756
1873
  self.horizontalLayout_8 = QHBoxLayout()
1757
1874
  self.horizontalLayout_8.setSpacing(10)
1758
1875
  self.horizontalLayout_8.setObjectName("horizontalLayout_8")
1759
1876
  self.horizontalLayout_35 = QHBoxLayout()
1760
1877
  self.horizontalLayout_35.setObjectName("horizontalLayout_35")
1761
- self.label_5 = QLabel(self.settings_tab)
1878
+ self.label_5 = QLabel(self.brain_state_page)
1762
1879
  self.label_5.setObjectName("label_5")
1763
1880
  sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
1764
1881
  self.label_5.setSizePolicy(sizePolicy)
@@ -1777,7 +1894,7 @@ class Ui_PrimaryWindow(object):
1777
1894
 
1778
1895
  self.horizontalLayout_49.addItem(self.horizontalSpacer_40)
1779
1896
 
1780
- self.enable_state_8 = QCheckBox(self.settings_tab)
1897
+ self.enable_state_8 = QCheckBox(self.brain_state_page)
1781
1898
  self.enable_state_8.setObjectName("enable_state_8")
1782
1899
  sizePolicy1.setHeightForWidth(
1783
1900
  self.enable_state_8.sizePolicy().hasHeightForWidth()
@@ -1794,7 +1911,7 @@ class Ui_PrimaryWindow(object):
1794
1911
 
1795
1912
  self.horizontalLayout_8.addLayout(self.horizontalLayout_49)
1796
1913
 
1797
- self.state_name_8 = QLineEdit(self.settings_tab)
1914
+ self.state_name_8 = QLineEdit(self.brain_state_page)
1798
1915
  self.state_name_8.setObjectName("state_name_8")
1799
1916
  sizePolicy3.setHeightForWidth(
1800
1917
  self.state_name_8.sizePolicy().hasHeightForWidth()
@@ -1811,7 +1928,7 @@ class Ui_PrimaryWindow(object):
1811
1928
 
1812
1929
  self.horizontalLayout_56.addItem(self.horizontalSpacer_42)
1813
1930
 
1814
- self.state_scored_8 = QCheckBox(self.settings_tab)
1931
+ self.state_scored_8 = QCheckBox(self.brain_state_page)
1815
1932
  self.state_scored_8.setObjectName("state_scored_8")
1816
1933
  sizePolicy1.setHeightForWidth(
1817
1934
  self.state_scored_8.sizePolicy().hasHeightForWidth()
@@ -1837,7 +1954,7 @@ class Ui_PrimaryWindow(object):
1837
1954
 
1838
1955
  self.horizontalLayout_42.addItem(self.horizontalSpacer_65)
1839
1956
 
1840
- self.state_frequency_8 = QDoubleSpinBox(self.settings_tab)
1957
+ self.state_frequency_8 = QDoubleSpinBox(self.brain_state_page)
1841
1958
  self.state_frequency_8.setObjectName("state_frequency_8")
1842
1959
  self.state_frequency_8.setMaximum(1.000000000000000)
1843
1960
  self.state_frequency_8.setSingleStep(0.010000000000000)
@@ -1858,14 +1975,14 @@ class Ui_PrimaryWindow(object):
1858
1975
  self.horizontalLayout_8.setStretch(3, 3)
1859
1976
  self.horizontalLayout_8.setStretch(4, 4)
1860
1977
 
1861
- self.verticalLayout_6.addLayout(self.horizontalLayout_8)
1978
+ self.settings_controls_layout.addLayout(self.horizontalLayout_8)
1862
1979
 
1863
1980
  self.horizontalLayout_7 = QHBoxLayout()
1864
1981
  self.horizontalLayout_7.setSpacing(10)
1865
1982
  self.horizontalLayout_7.setObjectName("horizontalLayout_7")
1866
1983
  self.horizontalLayout_36 = QHBoxLayout()
1867
1984
  self.horizontalLayout_36.setObjectName("horizontalLayout_36")
1868
- self.label_4 = QLabel(self.settings_tab)
1985
+ self.label_4 = QLabel(self.brain_state_page)
1869
1986
  self.label_4.setObjectName("label_4")
1870
1987
  sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
1871
1988
  self.label_4.setSizePolicy(sizePolicy)
@@ -1884,7 +2001,7 @@ class Ui_PrimaryWindow(object):
1884
2001
 
1885
2002
  self.horizontalLayout_50.addItem(self.horizontalSpacer_44)
1886
2003
 
1887
- self.enable_state_9 = QCheckBox(self.settings_tab)
2004
+ self.enable_state_9 = QCheckBox(self.brain_state_page)
1888
2005
  self.enable_state_9.setObjectName("enable_state_9")
1889
2006
  sizePolicy1.setHeightForWidth(
1890
2007
  self.enable_state_9.sizePolicy().hasHeightForWidth()
@@ -1901,7 +2018,7 @@ class Ui_PrimaryWindow(object):
1901
2018
 
1902
2019
  self.horizontalLayout_7.addLayout(self.horizontalLayout_50)
1903
2020
 
1904
- self.state_name_9 = QLineEdit(self.settings_tab)
2021
+ self.state_name_9 = QLineEdit(self.brain_state_page)
1905
2022
  self.state_name_9.setObjectName("state_name_9")
1906
2023
  sizePolicy3.setHeightForWidth(
1907
2024
  self.state_name_9.sizePolicy().hasHeightForWidth()
@@ -1918,7 +2035,7 @@ class Ui_PrimaryWindow(object):
1918
2035
 
1919
2036
  self.horizontalLayout_57.addItem(self.horizontalSpacer_46)
1920
2037
 
1921
- self.state_scored_9 = QCheckBox(self.settings_tab)
2038
+ self.state_scored_9 = QCheckBox(self.brain_state_page)
1922
2039
  self.state_scored_9.setObjectName("state_scored_9")
1923
2040
  sizePolicy1.setHeightForWidth(
1924
2041
  self.state_scored_9.sizePolicy().hasHeightForWidth()
@@ -1944,7 +2061,7 @@ class Ui_PrimaryWindow(object):
1944
2061
 
1945
2062
  self.horizontalLayout_43.addItem(self.horizontalSpacer_67)
1946
2063
 
1947
- self.state_frequency_9 = QDoubleSpinBox(self.settings_tab)
2064
+ self.state_frequency_9 = QDoubleSpinBox(self.brain_state_page)
1948
2065
  self.state_frequency_9.setObjectName("state_frequency_9")
1949
2066
  self.state_frequency_9.setMaximum(1.000000000000000)
1950
2067
  self.state_frequency_9.setSingleStep(0.010000000000000)
@@ -1965,14 +2082,14 @@ class Ui_PrimaryWindow(object):
1965
2082
  self.horizontalLayout_7.setStretch(3, 3)
1966
2083
  self.horizontalLayout_7.setStretch(4, 4)
1967
2084
 
1968
- self.verticalLayout_6.addLayout(self.horizontalLayout_7)
2085
+ self.settings_controls_layout.addLayout(self.horizontalLayout_7)
1969
2086
 
1970
2087
  self.horizontalLayout_4 = QHBoxLayout()
1971
2088
  self.horizontalLayout_4.setSpacing(10)
1972
2089
  self.horizontalLayout_4.setObjectName("horizontalLayout_4")
1973
2090
  self.horizontalLayout_37 = QHBoxLayout()
1974
2091
  self.horizontalLayout_37.setObjectName("horizontalLayout_37")
1975
- self.label_3 = QLabel(self.settings_tab)
2092
+ self.label_3 = QLabel(self.brain_state_page)
1976
2093
  self.label_3.setObjectName("label_3")
1977
2094
  sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
1978
2095
  self.label_3.setSizePolicy(sizePolicy)
@@ -1991,7 +2108,7 @@ class Ui_PrimaryWindow(object):
1991
2108
 
1992
2109
  self.horizontalLayout_51.addItem(self.horizontalSpacer_48)
1993
2110
 
1994
- self.enable_state_0 = QCheckBox(self.settings_tab)
2111
+ self.enable_state_0 = QCheckBox(self.brain_state_page)
1995
2112
  self.enable_state_0.setObjectName("enable_state_0")
1996
2113
  sizePolicy1.setHeightForWidth(
1997
2114
  self.enable_state_0.sizePolicy().hasHeightForWidth()
@@ -2008,7 +2125,7 @@ class Ui_PrimaryWindow(object):
2008
2125
 
2009
2126
  self.horizontalLayout_4.addLayout(self.horizontalLayout_51)
2010
2127
 
2011
- self.state_name_0 = QLineEdit(self.settings_tab)
2128
+ self.state_name_0 = QLineEdit(self.brain_state_page)
2012
2129
  self.state_name_0.setObjectName("state_name_0")
2013
2130
  sizePolicy3.setHeightForWidth(
2014
2131
  self.state_name_0.sizePolicy().hasHeightForWidth()
@@ -2025,7 +2142,7 @@ class Ui_PrimaryWindow(object):
2025
2142
 
2026
2143
  self.horizontalLayout_58.addItem(self.horizontalSpacer_49)
2027
2144
 
2028
- self.state_scored_0 = QCheckBox(self.settings_tab)
2145
+ self.state_scored_0 = QCheckBox(self.brain_state_page)
2029
2146
  self.state_scored_0.setObjectName("state_scored_0")
2030
2147
  sizePolicy1.setHeightForWidth(
2031
2148
  self.state_scored_0.sizePolicy().hasHeightForWidth()
@@ -2051,7 +2168,7 @@ class Ui_PrimaryWindow(object):
2051
2168
 
2052
2169
  self.horizontalLayout_44.addItem(self.horizontalSpacer_69)
2053
2170
 
2054
- self.state_frequency_0 = QDoubleSpinBox(self.settings_tab)
2171
+ self.state_frequency_0 = QDoubleSpinBox(self.brain_state_page)
2055
2172
  self.state_frequency_0.setObjectName("state_frequency_0")
2056
2173
  self.state_frequency_0.setMaximum(1.000000000000000)
2057
2174
  self.state_frequency_0.setSingleStep(0.010000000000000)
@@ -2072,26 +2189,57 @@ class Ui_PrimaryWindow(object):
2072
2189
  self.horizontalLayout_4.setStretch(3, 3)
2073
2190
  self.horizontalLayout_4.setStretch(4, 4)
2074
2191
 
2075
- self.verticalLayout_6.addLayout(self.horizontalLayout_4)
2192
+ self.settings_controls_layout.addLayout(self.horizontalLayout_4)
2076
2193
 
2077
- self.default_epoch_layout = QHBoxLayout()
2078
- self.default_epoch_layout.setObjectName("default_epoch_layout")
2079
- self.horizontalSpacer_71 = QSpacerItem(
2080
- 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2194
+ self.verticalSpacer_3 = QSpacerItem(
2195
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2196
+ )
2197
+
2198
+ self.settings_controls_layout.addItem(self.verticalSpacer_3)
2199
+
2200
+ self.horizontalLayout_80.addLayout(self.settings_controls_layout)
2201
+
2202
+ self.settings_description_layout = QVBoxLayout()
2203
+ self.settings_description_layout.setObjectName("settings_description_layout")
2204
+ self.settings_text = QLabel(self.brain_state_page)
2205
+ self.settings_text.setObjectName("settings_text")
2206
+ self.settings_text.setStyleSheet("background-color: white;")
2207
+ self.settings_text.setTextFormat(Qt.TextFormat.MarkdownText)
2208
+ self.settings_text.setAlignment(
2209
+ Qt.AlignmentFlag.AlignLeading
2210
+ | Qt.AlignmentFlag.AlignLeft
2211
+ | Qt.AlignmentFlag.AlignTop
2081
2212
  )
2213
+ self.settings_text.setWordWrap(True)
2214
+ self.settings_text.setMargin(12)
2082
2215
 
2083
- self.default_epoch_layout.addItem(self.horizontalSpacer_71)
2216
+ self.settings_description_layout.addWidget(self.settings_text)
2084
2217
 
2218
+ self.horizontalLayout_80.addLayout(self.settings_description_layout)
2219
+
2220
+ self.horizontalLayout_80.setStretch(0, 1)
2221
+ self.horizontalLayout_80.setStretch(1, 1)
2222
+ self.settings_stack.addWidget(self.brain_state_page)
2223
+ self.ui_default_page = QWidget()
2224
+ self.ui_default_page.setObjectName("ui_default_page")
2225
+ self.horizontalLayout_81 = QHBoxLayout(self.ui_default_page)
2226
+ self.horizontalLayout_81.setSpacing(20)
2227
+ self.horizontalLayout_81.setObjectName("horizontalLayout_81")
2228
+ self.verticalLayout_6 = QVBoxLayout()
2229
+ self.verticalLayout_6.setSpacing(10)
2230
+ self.verticalLayout_6.setObjectName("verticalLayout_6")
2231
+ self.default_epoch_layout = QHBoxLayout()
2232
+ self.default_epoch_layout.setObjectName("default_epoch_layout")
2085
2233
  self.horizontalLayout_60 = QHBoxLayout()
2086
2234
  self.horizontalLayout_60.setObjectName("horizontalLayout_60")
2087
- self.label_17 = QLabel(self.settings_tab)
2235
+ self.label_17 = QLabel(self.ui_default_page)
2088
2236
  self.label_17.setObjectName("label_17")
2089
2237
  sizePolicy1.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth())
2090
2238
  self.label_17.setSizePolicy(sizePolicy1)
2091
2239
 
2092
2240
  self.horizontalLayout_60.addWidget(self.label_17)
2093
2241
 
2094
- self.default_epoch_input = QDoubleSpinBox(self.settings_tab)
2242
+ self.default_epoch_input = QDoubleSpinBox(self.ui_default_page)
2095
2243
  self.default_epoch_input.setObjectName("default_epoch_input")
2096
2244
  sizePolicy1.setHeightForWidth(
2097
2245
  self.default_epoch_input.sizePolicy().hasHeightForWidth()
@@ -2105,71 +2253,496 @@ class Ui_PrimaryWindow(object):
2105
2253
  self.default_epoch_layout.addLayout(self.horizontalLayout_60)
2106
2254
 
2107
2255
  self.horizontalSpacer_70 = QSpacerItem(
2108
- 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2256
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2109
2257
  )
2110
2258
 
2111
2259
  self.default_epoch_layout.addItem(self.horizontalSpacer_70)
2112
2260
 
2113
2261
  self.verticalLayout_6.addLayout(self.default_epoch_layout)
2114
2262
 
2263
+ self.horizontalLayout_75 = QHBoxLayout()
2264
+ self.horizontalLayout_75.setObjectName("horizontalLayout_75")
2265
+ self.horizontalLayout_76 = QHBoxLayout()
2266
+ self.horizontalLayout_76.setObjectName("horizontalLayout_76")
2267
+ self.overwrite_default_checkbox = QCheckBox(self.ui_default_page)
2268
+ self.overwrite_default_checkbox.setObjectName("overwrite_default_checkbox")
2269
+
2270
+ self.horizontalLayout_76.addWidget(self.overwrite_default_checkbox)
2271
+
2272
+ self.horizontalLayout_75.addLayout(self.horizontalLayout_76)
2273
+
2274
+ self.horizontalSpacer_88 = QSpacerItem(
2275
+ 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2276
+ )
2277
+
2278
+ self.horizontalLayout_75.addItem(self.horizontalSpacer_88)
2279
+
2280
+ self.verticalLayout_6.addLayout(self.horizontalLayout_75)
2281
+
2282
+ self.confidence_score_setting_layout = QHBoxLayout()
2283
+ self.confidence_score_setting_layout.setObjectName(
2284
+ "confidence_score_setting_layout"
2285
+ )
2286
+ self.horizontalLayout_62 = QHBoxLayout()
2287
+ self.horizontalLayout_62.setObjectName("horizontalLayout_62")
2288
+ self.confidence_setting_checkbox = QCheckBox(self.ui_default_page)
2289
+ self.confidence_setting_checkbox.setObjectName("confidence_setting_checkbox")
2290
+ sizePolicy1.setHeightForWidth(
2291
+ self.confidence_setting_checkbox.sizePolicy().hasHeightForWidth()
2292
+ )
2293
+ self.confidence_setting_checkbox.setSizePolicy(sizePolicy1)
2294
+ self.confidence_setting_checkbox.setChecked(True)
2295
+
2296
+ self.horizontalLayout_62.addWidget(self.confidence_setting_checkbox)
2297
+
2298
+ self.confidence_score_setting_layout.addLayout(self.horizontalLayout_62)
2299
+
2300
+ self.horizontalSpacer_72 = QSpacerItem(
2301
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2302
+ )
2303
+
2304
+ self.confidence_score_setting_layout.addItem(self.horizontalSpacer_72)
2305
+
2306
+ self.verticalLayout_6.addLayout(self.confidence_score_setting_layout)
2307
+
2308
+ self.horizontalLayout_2 = QHBoxLayout()
2309
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
2115
2310
  self.horizontalLayout_18 = QHBoxLayout()
2116
- self.horizontalLayout_18.setSpacing(10)
2117
2311
  self.horizontalLayout_18.setObjectName("horizontalLayout_18")
2312
+ self.label_19 = QLabel(self.ui_default_page)
2313
+ self.label_19.setObjectName("label_19")
2314
+ sizePolicy1.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth())
2315
+ self.label_19.setSizePolicy(sizePolicy1)
2316
+
2317
+ self.horizontalLayout_18.addWidget(self.label_19)
2318
+
2319
+ self.default_min_bout_length_spinbox = QDoubleSpinBox(self.ui_default_page)
2320
+ self.default_min_bout_length_spinbox.setObjectName(
2321
+ "default_min_bout_length_spinbox"
2322
+ )
2323
+ sizePolicy1.setHeightForWidth(
2324
+ self.default_min_bout_length_spinbox.sizePolicy().hasHeightForWidth()
2325
+ )
2326
+ self.default_min_bout_length_spinbox.setSizePolicy(sizePolicy1)
2327
+ self.default_min_bout_length_spinbox.setMaximum(1000.000000000000000)
2328
+ self.default_min_bout_length_spinbox.setValue(5.000000000000000)
2329
+
2330
+ self.horizontalLayout_18.addWidget(self.default_min_bout_length_spinbox)
2331
+
2332
+ self.horizontalLayout_2.addLayout(self.horizontalLayout_18)
2333
+
2334
+ self.horizontalSpacer_90 = QSpacerItem(
2335
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2336
+ )
2337
+
2338
+ self.horizontalLayout_2.addItem(self.horizontalSpacer_90)
2339
+
2340
+ self.verticalLayout_6.addLayout(self.horizontalLayout_2)
2341
+
2342
+ self.verticalSpacer_5 = QSpacerItem(
2343
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2344
+ )
2345
+
2346
+ self.verticalLayout_6.addItem(self.verticalSpacer_5)
2347
+
2348
+ self.horizontalLayout_81.addLayout(self.verticalLayout_6)
2349
+
2350
+ self.ui_default_description_layout = QVBoxLayout()
2351
+ self.ui_default_description_layout.setObjectName(
2352
+ "ui_default_description_layout"
2353
+ )
2354
+ self.ui_default_description_label = QLabel(self.ui_default_page)
2355
+ self.ui_default_description_label.setObjectName("ui_default_description_label")
2356
+ self.ui_default_description_label.setStyleSheet("background-color: white;")
2357
+ self.ui_default_description_label.setTextFormat(Qt.TextFormat.MarkdownText)
2358
+ self.ui_default_description_label.setAlignment(
2359
+ Qt.AlignmentFlag.AlignLeading
2360
+ | Qt.AlignmentFlag.AlignLeft
2361
+ | Qt.AlignmentFlag.AlignTop
2362
+ )
2363
+ self.ui_default_description_label.setWordWrap(True)
2364
+ self.ui_default_description_label.setMargin(12)
2365
+
2366
+ self.ui_default_description_layout.addWidget(self.ui_default_description_label)
2367
+
2368
+ self.horizontalLayout_81.addLayout(self.ui_default_description_layout)
2369
+
2370
+ self.horizontalLayout_81.setStretch(0, 1)
2371
+ self.horizontalLayout_81.setStretch(1, 1)
2372
+ self.settings_stack.addWidget(self.ui_default_page)
2373
+ self.emg_filter_page = QWidget()
2374
+ self.emg_filter_page.setObjectName("emg_filter_page")
2375
+ self.horizontalLayout_82 = QHBoxLayout(self.emg_filter_page)
2376
+ self.horizontalLayout_82.setSpacing(20)
2377
+ self.horizontalLayout_82.setObjectName("horizontalLayout_82")
2378
+ self.verticalLayout_13 = QVBoxLayout()
2379
+ self.verticalLayout_13.setSpacing(10)
2380
+ self.verticalLayout_13.setObjectName("verticalLayout_13")
2381
+ self.filter_order_layout = QHBoxLayout()
2382
+ self.filter_order_layout.setObjectName("filter_order_layout")
2383
+ self.horizontalLayout_63 = QHBoxLayout()
2384
+ self.horizontalLayout_63.setObjectName("horizontalLayout_63")
2385
+ self.filter_order_label = QLabel(self.emg_filter_page)
2386
+ self.filter_order_label.setObjectName("filter_order_label")
2387
+ sizePolicy1.setHeightForWidth(
2388
+ self.filter_order_label.sizePolicy().hasHeightForWidth()
2389
+ )
2390
+ self.filter_order_label.setSizePolicy(sizePolicy1)
2391
+
2392
+ self.horizontalLayout_63.addWidget(self.filter_order_label)
2393
+
2394
+ self.emg_order_spinbox = QSpinBox(self.emg_filter_page)
2395
+ self.emg_order_spinbox.setObjectName("emg_order_spinbox")
2396
+ sizePolicy1.setHeightForWidth(
2397
+ self.emg_order_spinbox.sizePolicy().hasHeightForWidth()
2398
+ )
2399
+ self.emg_order_spinbox.setSizePolicy(sizePolicy1)
2400
+ self.emg_order_spinbox.setMinimum(1)
2401
+ self.emg_order_spinbox.setMaximum(10)
2402
+ self.emg_order_spinbox.setValue(8)
2403
+
2404
+ self.horizontalLayout_63.addWidget(self.emg_order_spinbox)
2405
+
2406
+ self.filter_order_layout.addLayout(self.horizontalLayout_63)
2407
+
2118
2408
  self.horizontalSpacer_9 = QSpacerItem(
2119
- 10, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2409
+ 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2120
2410
  )
2121
2411
 
2122
- self.horizontalLayout_18.addItem(self.horizontalSpacer_9)
2412
+ self.filter_order_layout.addItem(self.horizontalSpacer_9)
2123
2413
 
2124
- self.save_config_button = QPushButton(self.settings_tab)
2125
- self.save_config_button.setObjectName("save_config_button")
2414
+ self.filter_order_layout.setStretch(0, 1)
2415
+ self.filter_order_layout.setStretch(1, 3)
2416
+
2417
+ self.verticalLayout_13.addLayout(self.filter_order_layout)
2418
+
2419
+ self.bp_lower_layout = QHBoxLayout()
2420
+ self.bp_lower_layout.setObjectName("bp_lower_layout")
2421
+ self.horizontalLayout_65 = QHBoxLayout()
2422
+ self.horizontalLayout_65.setObjectName("horizontalLayout_65")
2423
+ self.bp_lower_label = QLabel(self.emg_filter_page)
2424
+ self.bp_lower_label.setObjectName("bp_lower_label")
2126
2425
  sizePolicy1.setHeightForWidth(
2127
- self.save_config_button.sizePolicy().hasHeightForWidth()
2426
+ self.bp_lower_label.sizePolicy().hasHeightForWidth()
2128
2427
  )
2129
- self.save_config_button.setSizePolicy(sizePolicy1)
2428
+ self.bp_lower_label.setSizePolicy(sizePolicy1)
2130
2429
 
2131
- self.horizontalLayout_18.addWidget(self.save_config_button)
2430
+ self.horizontalLayout_65.addWidget(self.bp_lower_label)
2132
2431
 
2133
- self.save_config_status = QLabel(self.settings_tab)
2134
- self.save_config_status.setObjectName("save_config_status")
2135
- sizePolicy3.setHeightForWidth(
2136
- self.save_config_status.sizePolicy().hasHeightForWidth()
2432
+ self.bp_lower_spinbox = QDoubleSpinBox(self.emg_filter_page)
2433
+ self.bp_lower_spinbox.setObjectName("bp_lower_spinbox")
2434
+ self.bp_lower_spinbox.setMaximum(999.990000000000009)
2435
+ self.bp_lower_spinbox.setValue(20.000000000000000)
2436
+
2437
+ self.horizontalLayout_65.addWidget(self.bp_lower_spinbox)
2438
+
2439
+ self.bp_lower_layout.addLayout(self.horizontalLayout_65)
2440
+
2441
+ self.horizontalSpacer_73 = QSpacerItem(
2442
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2137
2443
  )
2138
- self.save_config_status.setSizePolicy(sizePolicy3)
2139
- self.save_config_status.setStyleSheet("background-color: transparent;")
2140
2444
 
2141
- self.horizontalLayout_18.addWidget(self.save_config_status)
2445
+ self.bp_lower_layout.addItem(self.horizontalSpacer_73)
2446
+
2447
+ self.verticalLayout_13.addLayout(self.bp_lower_layout)
2448
+
2449
+ self.bp_upper_layout = QHBoxLayout()
2450
+ self.bp_upper_layout.setObjectName("bp_upper_layout")
2451
+ self.horizontalLayout_61 = QHBoxLayout()
2452
+ self.horizontalLayout_61.setObjectName("horizontalLayout_61")
2453
+ self.bp_upper_label = QLabel(self.emg_filter_page)
2454
+ self.bp_upper_label.setObjectName("bp_upper_label")
2455
+ sizePolicy1.setHeightForWidth(
2456
+ self.bp_upper_label.sizePolicy().hasHeightForWidth()
2457
+ )
2458
+ self.bp_upper_label.setSizePolicy(sizePolicy1)
2459
+
2460
+ self.horizontalLayout_61.addWidget(self.bp_upper_label)
2461
+
2462
+ self.bp_upper_spinbox = QDoubleSpinBox(self.emg_filter_page)
2463
+ self.bp_upper_spinbox.setObjectName("bp_upper_spinbox")
2464
+ sizePolicy1.setHeightForWidth(
2465
+ self.bp_upper_spinbox.sizePolicy().hasHeightForWidth()
2466
+ )
2467
+ self.bp_upper_spinbox.setSizePolicy(sizePolicy1)
2468
+ self.bp_upper_spinbox.setMaximum(999.990000000000009)
2469
+ self.bp_upper_spinbox.setValue(50.000000000000000)
2470
+
2471
+ self.horizontalLayout_61.addWidget(self.bp_upper_spinbox)
2472
+
2473
+ self.bp_upper_layout.addLayout(self.horizontalLayout_61)
2474
+
2475
+ self.horizontalSpacer_71 = QSpacerItem(
2476
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2477
+ )
2478
+
2479
+ self.bp_upper_layout.addItem(self.horizontalSpacer_71)
2480
+
2481
+ self.verticalLayout_13.addLayout(self.bp_upper_layout)
2482
+
2483
+ self.horizontalLayout_73 = QHBoxLayout()
2484
+ self.horizontalLayout_73.setObjectName("horizontalLayout_73")
2485
+ self.horizontalSpacer_85 = QSpacerItem(
2486
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2487
+ )
2488
+
2489
+ self.horizontalLayout_73.addItem(self.horizontalSpacer_85)
2490
+
2491
+ self.reset_emg_params_button = QPushButton(self.emg_filter_page)
2492
+ self.reset_emg_params_button.setObjectName("reset_emg_params_button")
2493
+ sizePolicy1.setHeightForWidth(
2494
+ self.reset_emg_params_button.sizePolicy().hasHeightForWidth()
2495
+ )
2496
+ self.reset_emg_params_button.setSizePolicy(sizePolicy1)
2497
+
2498
+ self.horizontalLayout_73.addWidget(self.reset_emg_params_button)
2499
+
2500
+ self.horizontalSpacer_84 = QSpacerItem(
2501
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2502
+ )
2503
+
2504
+ self.horizontalLayout_73.addItem(self.horizontalSpacer_84)
2505
+
2506
+ self.verticalLayout_13.addLayout(self.horizontalLayout_73)
2507
+
2508
+ self.verticalSpacer_6 = QSpacerItem(
2509
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2510
+ )
2511
+
2512
+ self.verticalLayout_13.addItem(self.verticalSpacer_6)
2513
+
2514
+ self.horizontalLayout_82.addLayout(self.verticalLayout_13)
2515
+
2516
+ self.verticalLayout_12 = QVBoxLayout()
2517
+ self.verticalLayout_12.setObjectName("verticalLayout_12")
2518
+ self.emg_filter_description_label = QLabel(self.emg_filter_page)
2519
+ self.emg_filter_description_label.setObjectName("emg_filter_description_label")
2520
+ self.emg_filter_description_label.setStyleSheet("background-color: white;")
2521
+ self.emg_filter_description_label.setAlignment(
2522
+ Qt.AlignmentFlag.AlignLeading
2523
+ | Qt.AlignmentFlag.AlignLeft
2524
+ | Qt.AlignmentFlag.AlignTop
2525
+ )
2526
+ self.emg_filter_description_label.setWordWrap(True)
2527
+ self.emg_filter_description_label.setMargin(12)
2528
+
2529
+ self.verticalLayout_12.addWidget(self.emg_filter_description_label)
2530
+
2531
+ self.horizontalLayout_82.addLayout(self.verticalLayout_12)
2532
+
2533
+ self.horizontalLayout_82.setStretch(0, 1)
2534
+ self.horizontalLayout_82.setStretch(1, 1)
2535
+ self.settings_stack.addWidget(self.emg_filter_page)
2536
+ self.hyperparameter_page = QWidget()
2537
+ self.hyperparameter_page.setObjectName("hyperparameter_page")
2538
+ self.horizontalLayout_83 = QHBoxLayout(self.hyperparameter_page)
2539
+ self.horizontalLayout_83.setSpacing(20)
2540
+ self.horizontalLayout_83.setObjectName("horizontalLayout_83")
2541
+ self.verticalLayout_14 = QVBoxLayout()
2542
+ self.verticalLayout_14.setSpacing(10)
2543
+ self.verticalLayout_14.setObjectName("verticalLayout_14")
2544
+ self.horizontalLayout_64 = QHBoxLayout()
2545
+ self.horizontalLayout_64.setObjectName("horizontalLayout_64")
2546
+ self.horizontalLayout_66 = QHBoxLayout()
2547
+ self.horizontalLayout_66.setObjectName("horizontalLayout_66")
2548
+ self.batch_size_label = QLabel(self.hyperparameter_page)
2549
+ self.batch_size_label.setObjectName("batch_size_label")
2550
+ sizePolicy1.setHeightForWidth(
2551
+ self.batch_size_label.sizePolicy().hasHeightForWidth()
2552
+ )
2553
+ self.batch_size_label.setSizePolicy(sizePolicy1)
2554
+
2555
+ self.horizontalLayout_66.addWidget(self.batch_size_label)
2556
+
2557
+ self.batch_size_spinbox = QSpinBox(self.hyperparameter_page)
2558
+ self.batch_size_spinbox.setObjectName("batch_size_spinbox")
2559
+ sizePolicy1.setHeightForWidth(
2560
+ self.batch_size_spinbox.sizePolicy().hasHeightForWidth()
2561
+ )
2562
+ self.batch_size_spinbox.setSizePolicy(sizePolicy1)
2563
+ self.batch_size_spinbox.setMinimum(1)
2564
+ self.batch_size_spinbox.setMaximum(9999)
2565
+ self.batch_size_spinbox.setValue(64)
2566
+
2567
+ self.horizontalLayout_66.addWidget(self.batch_size_spinbox)
2568
+
2569
+ self.horizontalLayout_64.addLayout(self.horizontalLayout_66)
2570
+
2571
+ self.horizontalSpacer_80 = QSpacerItem(
2572
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2573
+ )
2574
+
2575
+ self.horizontalLayout_64.addItem(self.horizontalSpacer_80)
2576
+
2577
+ self.verticalLayout_14.addLayout(self.horizontalLayout_64)
2578
+
2579
+ self.horizontalLayout_67 = QHBoxLayout()
2580
+ self.horizontalLayout_67.setObjectName("horizontalLayout_67")
2581
+ self.horizontalLayout_68 = QHBoxLayout()
2582
+ self.horizontalLayout_68.setObjectName("horizontalLayout_68")
2583
+ self.learning_rate_label = QLabel(self.hyperparameter_page)
2584
+ self.learning_rate_label.setObjectName("learning_rate_label")
2585
+ sizePolicy1.setHeightForWidth(
2586
+ self.learning_rate_label.sizePolicy().hasHeightForWidth()
2587
+ )
2588
+ self.learning_rate_label.setSizePolicy(sizePolicy1)
2589
+
2590
+ self.horizontalLayout_68.addWidget(self.learning_rate_label)
2591
+
2592
+ self.learning_rate_spinbox = QDoubleSpinBox(self.hyperparameter_page)
2593
+ self.learning_rate_spinbox.setObjectName("learning_rate_spinbox")
2594
+ sizePolicy1.setHeightForWidth(
2595
+ self.learning_rate_spinbox.sizePolicy().hasHeightForWidth()
2596
+ )
2597
+ self.learning_rate_spinbox.setSizePolicy(sizePolicy1)
2598
+ self.learning_rate_spinbox.setDecimals(5)
2599
+ self.learning_rate_spinbox.setMinimum(0.000010000000000)
2600
+ self.learning_rate_spinbox.setSingleStep(0.000100000000000)
2601
+ self.learning_rate_spinbox.setValue(0.001000000000000)
2602
+
2603
+ self.horizontalLayout_68.addWidget(self.learning_rate_spinbox)
2604
+
2605
+ self.horizontalLayout_67.addLayout(self.horizontalLayout_68)
2606
+
2607
+ self.horizontalSpacer_81 = QSpacerItem(
2608
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2609
+ )
2610
+
2611
+ self.horizontalLayout_67.addItem(self.horizontalSpacer_81)
2612
+
2613
+ self.verticalLayout_14.addLayout(self.horizontalLayout_67)
2614
+
2615
+ self.horizontalLayout_69 = QHBoxLayout()
2616
+ self.horizontalLayout_69.setObjectName("horizontalLayout_69")
2617
+ self.horizontalLayout_70 = QHBoxLayout()
2618
+ self.horizontalLayout_70.setObjectName("horizontalLayout_70")
2619
+ self.momentum_label = QLabel(self.hyperparameter_page)
2620
+ self.momentum_label.setObjectName("momentum_label")
2621
+ sizePolicy1.setHeightForWidth(
2622
+ self.momentum_label.sizePolicy().hasHeightForWidth()
2623
+ )
2624
+ self.momentum_label.setSizePolicy(sizePolicy1)
2625
+
2626
+ self.horizontalLayout_70.addWidget(self.momentum_label)
2627
+
2628
+ self.momentum_spinbox = QDoubleSpinBox(self.hyperparameter_page)
2629
+ self.momentum_spinbox.setObjectName("momentum_spinbox")
2630
+ sizePolicy1.setHeightForWidth(
2631
+ self.momentum_spinbox.sizePolicy().hasHeightForWidth()
2632
+ )
2633
+ self.momentum_spinbox.setSizePolicy(sizePolicy1)
2634
+ self.momentum_spinbox.setDecimals(3)
2635
+ self.momentum_spinbox.setMinimum(0.010000000000000)
2636
+ self.momentum_spinbox.setMaximum(0.999000000000000)
2637
+ self.momentum_spinbox.setSingleStep(0.010000000000000)
2638
+ self.momentum_spinbox.setValue(0.900000000000000)
2639
+
2640
+ self.horizontalLayout_70.addWidget(self.momentum_spinbox)
2641
+
2642
+ self.horizontalLayout_69.addLayout(self.horizontalLayout_70)
2643
+
2644
+ self.horizontalSpacer_82 = QSpacerItem(
2645
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2646
+ )
2647
+
2648
+ self.horizontalLayout_69.addItem(self.horizontalSpacer_82)
2649
+
2650
+ self.verticalLayout_14.addLayout(self.horizontalLayout_69)
2651
+
2652
+ self.horizontalLayout_71 = QHBoxLayout()
2653
+ self.horizontalLayout_71.setObjectName("horizontalLayout_71")
2654
+ self.horizontalLayout_72 = QHBoxLayout()
2655
+ self.horizontalLayout_72.setObjectName("horizontalLayout_72")
2656
+ self.training_epochs_label = QLabel(self.hyperparameter_page)
2657
+ self.training_epochs_label.setObjectName("training_epochs_label")
2658
+ sizePolicy1.setHeightForWidth(
2659
+ self.training_epochs_label.sizePolicy().hasHeightForWidth()
2660
+ )
2661
+ self.training_epochs_label.setSizePolicy(sizePolicy1)
2662
+
2663
+ self.horizontalLayout_72.addWidget(self.training_epochs_label)
2664
+
2665
+ self.training_epochs_spinbox = QSpinBox(self.hyperparameter_page)
2666
+ self.training_epochs_spinbox.setObjectName("training_epochs_spinbox")
2667
+ sizePolicy1.setHeightForWidth(
2668
+ self.training_epochs_spinbox.sizePolicy().hasHeightForWidth()
2669
+ )
2670
+ self.training_epochs_spinbox.setSizePolicy(sizePolicy1)
2671
+ self.training_epochs_spinbox.setMinimum(1)
2672
+ self.training_epochs_spinbox.setValue(6)
2673
+
2674
+ self.horizontalLayout_72.addWidget(self.training_epochs_spinbox)
2675
+
2676
+ self.horizontalLayout_71.addLayout(self.horizontalLayout_72)
2677
+
2678
+ self.horizontalSpacer_83 = QSpacerItem(
2679
+ 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2680
+ )
2681
+
2682
+ self.horizontalLayout_71.addItem(self.horizontalSpacer_83)
2683
+
2684
+ self.verticalLayout_14.addLayout(self.horizontalLayout_71)
2685
+
2686
+ self.horizontalLayout_74 = QHBoxLayout()
2687
+ self.horizontalLayout_74.setObjectName("horizontalLayout_74")
2688
+ self.horizontalSpacer_86 = QSpacerItem(
2689
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2690
+ )
2691
+
2692
+ self.horizontalLayout_74.addItem(self.horizontalSpacer_86)
2693
+
2694
+ self.reset_hyperparams_button = QPushButton(self.hyperparameter_page)
2695
+ self.reset_hyperparams_button.setObjectName("reset_hyperparams_button")
2696
+ sizePolicy1.setHeightForWidth(
2697
+ self.reset_hyperparams_button.sizePolicy().hasHeightForWidth()
2698
+ )
2699
+ self.reset_hyperparams_button.setSizePolicy(sizePolicy1)
2142
2700
 
2143
- self.horizontalLayout_18.setStretch(0, 6)
2144
- self.horizontalLayout_18.setStretch(1, 1)
2145
- self.horizontalLayout_18.setStretch(2, 7)
2701
+ self.horizontalLayout_74.addWidget(self.reset_hyperparams_button)
2146
2702
 
2147
- self.verticalLayout_6.addLayout(self.horizontalLayout_18)
2703
+ self.horizontalSpacer_87 = QSpacerItem(
2704
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2705
+ )
2148
2706
 
2149
- self.verticalLayout_6.setStretch(0, 2)
2150
- self.verticalLayout_6.setStretch(1, 2)
2151
- self.verticalLayout_6.setStretch(2, 2)
2152
- self.verticalLayout_6.setStretch(3, 2)
2153
- self.verticalLayout_6.setStretch(4, 2)
2154
- self.verticalLayout_6.setStretch(5, 2)
2155
- self.verticalLayout_6.setStretch(6, 2)
2156
- self.verticalLayout_6.setStretch(7, 2)
2157
- self.verticalLayout_6.setStretch(8, 2)
2158
- self.verticalLayout_6.setStretch(9, 2)
2159
- self.verticalLayout_6.setStretch(10, 2)
2160
- self.verticalLayout_6.setStretch(11, 2)
2161
- self.verticalLayout_6.setStretch(12, 3)
2707
+ self.horizontalLayout_74.addItem(self.horizontalSpacer_87)
2162
2708
 
2163
- self.settings_tab_layout.addLayout(self.verticalLayout_6, 0, 0, 1, 1)
2709
+ self.verticalLayout_14.addLayout(self.horizontalLayout_74)
2164
2710
 
2165
2711
  self.verticalSpacer = QSpacerItem(
2166
- 5, 30, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2712
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2713
+ )
2714
+
2715
+ self.verticalLayout_14.addItem(self.verticalSpacer)
2716
+
2717
+ self.horizontalLayout_83.addLayout(self.verticalLayout_14)
2718
+
2719
+ self.verticalLayout_15 = QVBoxLayout()
2720
+ self.verticalLayout_15.setObjectName("verticalLayout_15")
2721
+ self.hyperparameter_description_label = QLabel(self.hyperparameter_page)
2722
+ self.hyperparameter_description_label.setObjectName(
2723
+ "hyperparameter_description_label"
2724
+ )
2725
+ self.hyperparameter_description_label.setStyleSheet("background-color: white;")
2726
+ self.hyperparameter_description_label.setTextFormat(Qt.TextFormat.MarkdownText)
2727
+ self.hyperparameter_description_label.setAlignment(
2728
+ Qt.AlignmentFlag.AlignLeading
2729
+ | Qt.AlignmentFlag.AlignLeft
2730
+ | Qt.AlignmentFlag.AlignTop
2167
2731
  )
2732
+ self.hyperparameter_description_label.setWordWrap(True)
2733
+ self.hyperparameter_description_label.setMargin(12)
2734
+
2735
+ self.verticalLayout_15.addWidget(self.hyperparameter_description_label)
2736
+
2737
+ self.horizontalLayout_83.addLayout(self.verticalLayout_15)
2168
2738
 
2169
- self.settings_tab_layout.addItem(self.verticalSpacer, 1, 1, 1, 1)
2739
+ self.horizontalLayout_83.setStretch(0, 1)
2740
+ self.horizontalLayout_83.setStretch(1, 1)
2741
+ self.settings_stack.addWidget(self.hyperparameter_page)
2170
2742
 
2171
- self.settings_tab_layout.setColumnStretch(0, 1)
2172
- self.settings_tab_layout.setColumnStretch(1, 1)
2743
+ self.settings_layout.addWidget(self.settings_stack)
2744
+
2745
+ self.settings_tab_layout.addLayout(self.settings_layout, 1, 0, 1, 1)
2173
2746
 
2174
2747
  self.gridLayout_5.addLayout(self.settings_tab_layout, 0, 0, 1, 1)
2175
2748
 
@@ -2189,16 +2762,19 @@ class Ui_PrimaryWindow(object):
2189
2762
  QWidget.setTabOrder(self.remove_button, self.select_calibration_button)
2190
2763
  QWidget.setTabOrder(self.select_calibration_button, self.load_model_button)
2191
2764
  QWidget.setTabOrder(self.load_model_button, self.score_all_button)
2192
- QWidget.setTabOrder(self.score_all_button, self.overwritecheckbox)
2193
- QWidget.setTabOrder(self.overwritecheckbox, self.bout_length_input)
2194
- QWidget.setTabOrder(self.bout_length_input, self.user_manual_button)
2765
+ QWidget.setTabOrder(self.score_all_button, self.user_manual_button)
2195
2766
  QWidget.setTabOrder(self.user_manual_button, self.recording_list_widget)
2196
2767
  QWidget.setTabOrder(self.recording_list_widget, self.message_area)
2197
2768
 
2198
2769
  self.retranslateUi(PrimaryWindow)
2770
+ self.settings_combobox.currentIndexChanged.connect(
2771
+ self.settings_stack.setCurrentIndex
2772
+ )
2199
2773
 
2200
2774
  self.upper_tab_widget.setCurrentIndex(0)
2201
2775
  self.lower_tab_widget.setCurrentIndex(0)
2776
+ self.settings_combobox.setCurrentIndex(0)
2777
+ self.settings_stack.setCurrentIndex(0)
2202
2778
 
2203
2779
  QMetaObject.connectSlotsByName(PrimaryWindow)
2204
2780
 
@@ -2338,6 +2914,19 @@ class Ui_PrimaryWindow(object):
2338
2914
  )
2339
2915
  self.calibration_file_label.setText("")
2340
2916
  # if QT_CONFIG(tooltip)
2917
+ self.load_model_button.setToolTip(
2918
+ QCoreApplication.translate(
2919
+ "PrimaryWindow", "Load a trained sleep scoring classifier", None
2920
+ )
2921
+ )
2922
+ # endif // QT_CONFIG(tooltip)
2923
+ self.load_model_button.setText(
2924
+ QCoreApplication.translate(
2925
+ "PrimaryWindow", "Load classification model", None
2926
+ )
2927
+ )
2928
+ self.model_label.setText("")
2929
+ # if QT_CONFIG(tooltip)
2341
2930
  self.score_all_button.setToolTip(
2342
2931
  QCoreApplication.translate(
2343
2932
  "PrimaryWindow",
@@ -2355,24 +2944,15 @@ class Ui_PrimaryWindow(object):
2355
2944
  "PrimaryWindow", "Only overwrite undefined epochs", None
2356
2945
  )
2357
2946
  )
2947
+ self.save_confidence_checkbox.setText(
2948
+ QCoreApplication.translate("PrimaryWindow", "Save confidence scores", None)
2949
+ )
2358
2950
  self.boutlengthlabel.setText(
2359
2951
  QCoreApplication.translate(
2360
2952
  "PrimaryWindow", "Minimum bout length (sec):", None
2361
2953
  )
2362
2954
  )
2363
- # if QT_CONFIG(tooltip)
2364
- self.load_model_button.setToolTip(
2365
- QCoreApplication.translate(
2366
- "PrimaryWindow", "Load a trained sleep scoring classifier", None
2367
- )
2368
- )
2369
- # endif // QT_CONFIG(tooltip)
2370
- self.load_model_button.setText(
2371
- QCoreApplication.translate(
2372
- "PrimaryWindow", "Load classification model", None
2373
- )
2374
- )
2375
- self.model_label.setText("")
2955
+ self.bout_length_input.setPrefix("")
2376
2956
  self.lower_tab_widget.setTabText(
2377
2957
  self.lower_tab_widget.indexOf(self.classification_tab),
2378
2958
  QCoreApplication.translate("PrimaryWindow", "Classification", None),
@@ -2406,19 +2986,15 @@ class Ui_PrimaryWindow(object):
2406
2986
  "PrimaryWindow", "Train classification model", None
2407
2987
  )
2408
2988
  )
2409
- # if QT_CONFIG(tooltip)
2410
- self.training_folder_button.setToolTip(
2411
- QCoreApplication.translate(
2412
- "PrimaryWindow", "A temporary folder will be created here", None
2413
- )
2989
+ self.calibrate_checkbox.setText(
2990
+ QCoreApplication.translate("PrimaryWindow", "Calibrate model", None)
2414
2991
  )
2415
- # endif // QT_CONFIG(tooltip)
2416
- self.training_folder_button.setText(
2417
- QCoreApplication.translate(
2418
- "PrimaryWindow", "Set training image directory", None
2419
- )
2992
+ self.calibrate_label.setText(
2993
+ QCoreApplication.translate("PrimaryWindow", "Calibration set size:", None)
2994
+ )
2995
+ self.calibration_spinbox.setSuffix(
2996
+ QCoreApplication.translate("PrimaryWindow", "%", None)
2420
2997
  )
2421
- self.image_folder_label.setText("")
2422
2998
  self.lower_tab_widget.setTabText(
2423
2999
  self.lower_tab_widget.indexOf(self.model_training_tab),
2424
3000
  QCoreApplication.translate("PrimaryWindow", "Model training", None),
@@ -2430,7 +3006,33 @@ class Ui_PrimaryWindow(object):
2430
3006
  self.upper_tab_widget.indexOf(self.scoring_tab),
2431
3007
  QCoreApplication.translate("PrimaryWindow", "Sleep scoring", None),
2432
3008
  )
2433
- self.settings_text.setText("")
3009
+ # if QT_CONFIG(tooltip)
3010
+ self.save_config_button.setToolTip(
3011
+ QCoreApplication.translate(
3012
+ "PrimaryWindow", "Save current configuration", None
3013
+ )
3014
+ )
3015
+ # endif // QT_CONFIG(tooltip)
3016
+ self.save_config_button.setText(
3017
+ QCoreApplication.translate("PrimaryWindow", "Save settings", None)
3018
+ )
3019
+ self.save_config_status.setText("")
3020
+ self.settings_combobox.setItemText(
3021
+ 0, QCoreApplication.translate("PrimaryWindow", "Brain states", None)
3022
+ )
3023
+ self.settings_combobox.setItemText(
3024
+ 1, QCoreApplication.translate("PrimaryWindow", "UI defaults", None)
3025
+ )
3026
+ self.settings_combobox.setItemText(
3027
+ 2, QCoreApplication.translate("PrimaryWindow", "EMG filter", None)
3028
+ )
3029
+ self.settings_combobox.setItemText(
3030
+ 3,
3031
+ QCoreApplication.translate(
3032
+ "PrimaryWindow", "Training hyperparameters", None
3033
+ ),
3034
+ )
3035
+
2434
3036
  self.label_15.setText(
2435
3037
  QCoreApplication.translate("PrimaryWindow", "Digit", None)
2436
3038
  )
@@ -2474,20 +3076,101 @@ class Ui_PrimaryWindow(object):
2474
3076
  self.label_3.setText(QCoreApplication.translate("PrimaryWindow", "0", None))
2475
3077
  self.enable_state_0.setText("")
2476
3078
  self.state_scored_0.setText("")
3079
+ self.settings_text.setText(
3080
+ QCoreApplication.translate(
3081
+ "PrimaryWindow",
3082
+ "This is the current set of brain states. Important notes:\n"
3083
+ "- You must click 'Save settings' to store any changes.\n"
3084
+ "- Changing these settings can prevent existing label files, calibration files, and trained models from working properly.\n"
3085
+ "- Reinstalling AccuSleePy will overwrite this configuration.\n"
3086
+ "\n"
3087
+ "Each brain state has several attributes:\n"
3088
+ "- Digit: how the brain state is represented in label files, and keyboard shortcut for this state in manual scoring.\n"
3089
+ "- Enabled: whether a brain state for this digit exists.\n"
3090
+ "- Name: unique name of the brain state (e.g., REM).\n"
3091
+ "- Scored: whether a classification model should output this brain state. If a state corresponds to missing/corrupted data, you probably want to uncheck this box.\n"
3092
+ "- Frequency: approximate relative frequency of this brain state. Does not need to be very accurate. Frequencies for all scored states must sum to 1.",
3093
+ None,
3094
+ )
3095
+ )
2477
3096
  self.label_17.setText(
2478
- QCoreApplication.translate("PrimaryWindow", "Default epoch length:", None)
3097
+ QCoreApplication.translate("PrimaryWindow", "Epoch length:", None)
2479
3098
  )
2480
- # if QT_CONFIG(tooltip)
2481
- self.save_config_button.setToolTip(
3099
+ self.overwrite_default_checkbox.setText(
2482
3100
  QCoreApplication.translate(
2483
- "PrimaryWindow", "Save current configuration", None
3101
+ "PrimaryWindow", "Only overwrite undefined epochs", None
2484
3102
  )
2485
3103
  )
2486
- # endif // QT_CONFIG(tooltip)
2487
- self.save_config_button.setText(
2488
- QCoreApplication.translate("PrimaryWindow", "Save", None)
3104
+ self.confidence_setting_checkbox.setText(
3105
+ QCoreApplication.translate("PrimaryWindow", "Save confidence scores", None)
3106
+ )
3107
+ self.label_19.setText(
3108
+ QCoreApplication.translate(
3109
+ "PrimaryWindow", "Minimum bout length (sec):", None
3110
+ )
3111
+ )
3112
+ self.ui_default_description_label.setText(
3113
+ QCoreApplication.translate(
3114
+ "PrimaryWindow",
3115
+ "These are the default values/settings that are shown in the primary UI window when it starts up.\n"
3116
+ "\n"
3117
+ 'Changes here will not affect the **current** state of the controls in the "Sleep scoring" tab.',
3118
+ None,
3119
+ )
3120
+ )
3121
+ self.filter_order_label.setText(
3122
+ QCoreApplication.translate("PrimaryWindow", "Filter order:", None)
3123
+ )
3124
+ self.bp_lower_label.setText(
3125
+ QCoreApplication.translate("PrimaryWindow", "Lower cutoff:", None)
3126
+ )
3127
+ self.bp_lower_spinbox.setSuffix(
3128
+ QCoreApplication.translate("PrimaryWindow", " Hz", None)
3129
+ )
3130
+ self.bp_upper_label.setText(
3131
+ QCoreApplication.translate("PrimaryWindow", "Upper cutoff:", None)
3132
+ )
3133
+ self.bp_upper_spinbox.setSuffix(
3134
+ QCoreApplication.translate("PrimaryWindow", " Hz", None)
3135
+ )
3136
+ self.reset_emg_params_button.setText(
3137
+ QCoreApplication.translate("PrimaryWindow", "reset to defaults", None)
3138
+ )
3139
+ self.emg_filter_description_label.setText(
3140
+ QCoreApplication.translate(
3141
+ "PrimaryWindow",
3142
+ "EMG power is calculated as the root-mean-square of the EMG signal in each epoch after a bandpass filter is applied. You can change the proprties of that filter here. If the manual scoring window displays the EMG signal but not the EMG power, you can try lowering the filter order to 4.\n"
3143
+ "\n"
3144
+ "Changing these settings can prevent existing classification models and calibration files from working as expected. You will probably want to recreate them using your new settings.",
3145
+ None,
3146
+ )
3147
+ )
3148
+ self.batch_size_label.setText(
3149
+ QCoreApplication.translate("PrimaryWindow", "Batch size:", None)
3150
+ )
3151
+ self.learning_rate_label.setText(
3152
+ QCoreApplication.translate("PrimaryWindow", "Learning rate:", None)
3153
+ )
3154
+ self.momentum_label.setText(
3155
+ QCoreApplication.translate("PrimaryWindow", "Momentum:", None)
3156
+ )
3157
+ self.training_epochs_label.setText(
3158
+ QCoreApplication.translate("PrimaryWindow", "Epochs:", None)
3159
+ )
3160
+ self.reset_hyperparams_button.setText(
3161
+ QCoreApplication.translate("PrimaryWindow", "reset to defaults", None)
3162
+ )
3163
+ self.hyperparameter_description_label.setText(
3164
+ QCoreApplication.translate(
3165
+ "PrimaryWindow",
3166
+ "These are the hyperparameters used for training new classification models.\n"
3167
+ "- Batch size: number of examples in each training iteration\n"
3168
+ "- Learning rate: step size for adjusting model weights\n"
3169
+ "- Momentum: amount of past gradients to use in the current update. Typically between 0.6 and 0.99\n"
3170
+ "- Epochs: number of passes over the training data",
3171
+ None,
3172
+ )
2489
3173
  )
2490
- self.save_config_status.setText("")
2491
3174
  self.upper_tab_widget.setTabText(
2492
3175
  self.upper_tab_widget.indexOf(self.settings_tab),
2493
3176
  QCoreApplication.translate("PrimaryWindow", "Settings", None),