boris-behav-obs 8.12__py3-none-any.whl → 9.7.6__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.

Potentially problematic release.


This version of boris-behav-obs might be problematic. Click here for more details.

Files changed (128) hide show
  1. boris/__init__.py +1 -1
  2. boris/__main__.py +1 -1
  3. boris/about.py +28 -39
  4. boris/add_modifier.py +122 -109
  5. boris/add_modifier_ui.py +239 -135
  6. boris/advanced_event_filtering.py +81 -45
  7. boris/analysis_plugins/__init__.py +0 -0
  8. boris/analysis_plugins/_latency.py +59 -0
  9. boris/analysis_plugins/irr_cohen_kappa.py +109 -0
  10. boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +112 -0
  11. boris/analysis_plugins/irr_weighted_cohen_kappa.py +157 -0
  12. boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +162 -0
  13. boris/analysis_plugins/list_of_dataframe_columns.py +22 -0
  14. boris/analysis_plugins/number_of_occurences.py +22 -0
  15. boris/analysis_plugins/number_of_occurences_by_independent_variable.py +54 -0
  16. boris/analysis_plugins/time_budget.py +61 -0
  17. boris/behav_coding_map_creator.py +228 -229
  18. boris/behavior_binary_table.py +33 -50
  19. boris/behaviors_coding_map.py +17 -18
  20. boris/boris_cli.py +6 -25
  21. boris/cmd_arguments.py +12 -1
  22. boris/coding_pad.py +42 -49
  23. boris/config.py +141 -65
  24. boris/config_file.py +58 -67
  25. boris/connections.py +107 -61
  26. boris/converters.py +13 -37
  27. boris/converters_ui.py +187 -110
  28. boris/cooccurence.py +250 -0
  29. boris/core.py +2373 -1786
  30. boris/core_qrc.py +15895 -10743
  31. boris/core_ui.py +943 -798
  32. boris/db_functions.py +17 -42
  33. boris/dev.py +109 -8
  34. boris/dialog.py +482 -236
  35. boris/duration_widget.py +9 -14
  36. boris/edit_event.py +61 -31
  37. boris/edit_event_ui.py +208 -97
  38. boris/event_operations.py +408 -293
  39. boris/events_cursor.py +25 -17
  40. boris/events_snapshots.py +36 -82
  41. boris/exclusion_matrix.py +4 -9
  42. boris/export_events.py +184 -223
  43. boris/export_observation.py +74 -100
  44. boris/external_processes.py +123 -98
  45. boris/geometric_measurement.py +644 -290
  46. boris/gui_utilities.py +91 -14
  47. boris/image_overlay.py +4 -4
  48. boris/import_observations.py +190 -98
  49. boris/ipc_mpv.py +325 -0
  50. boris/irr.py +20 -57
  51. boris/latency.py +31 -24
  52. boris/measurement_widget.py +14 -18
  53. boris/media_file.py +17 -19
  54. boris/menu_options.py +17 -6
  55. boris/modifier_coding_map_creator.py +1013 -0
  56. boris/modifiers_coding_map.py +7 -9
  57. boris/mpv.py +1 -0
  58. boris/mpv2.py +732 -705
  59. boris/observation.py +533 -221
  60. boris/observation_operations.py +1025 -390
  61. boris/observation_ui.py +572 -362
  62. boris/observations_list.py +71 -53
  63. boris/otx_parser.py +74 -68
  64. boris/param_panel.py +31 -16
  65. boris/param_panel_ui.py +254 -138
  66. boris/player_dock_widget.py +90 -60
  67. boris/plot_data_module.py +25 -33
  68. boris/plot_events.py +127 -90
  69. boris/plot_events_rt.py +17 -31
  70. boris/plot_spectrogram_rt.py +95 -30
  71. boris/plot_waveform_rt.py +32 -21
  72. boris/plugins.py +431 -0
  73. boris/portion/__init__.py +18 -8
  74. boris/portion/const.py +35 -18
  75. boris/portion/dict.py +5 -5
  76. boris/portion/func.py +2 -2
  77. boris/portion/interval.py +21 -41
  78. boris/portion/io.py +41 -32
  79. boris/preferences.py +306 -83
  80. boris/preferences_ui.py +684 -227
  81. boris/project.py +448 -293
  82. boris/project_functions.py +671 -238
  83. boris/project_import_export.py +213 -222
  84. boris/project_ui.py +674 -438
  85. boris/qrc_boris.py +6 -3
  86. boris/qrc_boris5.py +6 -3
  87. boris/select_modifiers.py +74 -48
  88. boris/select_observations.py +20 -198
  89. boris/select_subj_behav.py +67 -39
  90. boris/state_events.py +52 -35
  91. boris/subjects_pad.py +6 -9
  92. boris/synthetic_time_budget.py +45 -28
  93. boris/time_budget_functions.py +171 -171
  94. boris/time_budget_widget.py +84 -114
  95. boris/transitions.py +41 -47
  96. boris/utilities.py +627 -236
  97. boris/version.py +3 -3
  98. boris/video_equalizer.py +16 -14
  99. boris/video_equalizer_ui.py +199 -130
  100. boris/video_operations.py +95 -29
  101. boris/view_df.py +104 -0
  102. boris/view_df_ui.py +75 -0
  103. boris/write_event.py +538 -0
  104. boris_behav_obs-9.7.6.dist-info/METADATA +139 -0
  105. boris_behav_obs-9.7.6.dist-info/RECORD +109 -0
  106. {boris_behav_obs-8.12.dist-info → boris_behav_obs-9.7.6.dist-info}/WHEEL +1 -1
  107. boris_behav_obs-9.7.6.dist-info/entry_points.txt +2 -0
  108. boris/README.TXT +0 -22
  109. boris/add_modifier.ui +0 -323
  110. boris/converters.ui +0 -289
  111. boris/core.qrc +0 -36
  112. boris/core.ui +0 -1556
  113. boris/edit_event.ui +0 -233
  114. boris/icons/logo_eye.ico +0 -0
  115. boris/map_creator.py +0 -850
  116. boris/observation.ui +0 -814
  117. boris/param_panel.ui +0 -379
  118. boris/preferences.ui +0 -537
  119. boris/project.ui +0 -1069
  120. boris/project_server.py +0 -236
  121. boris/vlc.py +0 -10343
  122. boris/vlc_local.py +0 -90
  123. boris_behav_obs-8.12.dist-info/LICENSE.TXT +0 -674
  124. boris_behav_obs-8.12.dist-info/METADATA +0 -128
  125. boris_behav_obs-8.12.dist-info/RECORD +0 -108
  126. boris_behav_obs-8.12.dist-info/entry_points.txt +0 -3
  127. {boris → boris_behav_obs-9.7.6.dist-info/licenses}/LICENSE.TXT +0 -0
  128. {boris_behav_obs-8.12.dist-info → boris_behav_obs-9.7.6.dist-info}/top_level.txt +0 -0
boris/param_panel.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2023 Olivier Friard
4
+ Copyright 2012-2025 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
@@ -20,28 +20,25 @@ This file is part of BORIS.
20
20
 
21
21
  """
22
22
 
23
- import logging
24
-
25
- from PyQt5.QtCore import Qt
26
- from PyQt5.QtWidgets import QDialog
23
+ from PySide6.QtCore import Qt
24
+ from PySide6.QtWidgets import QDialog
27
25
 
28
26
  from . import config as cfg
29
- from . import duration_widget
30
27
  from .param_panel_ui import Ui_Dialog
28
+ from . import dialog
31
29
 
32
30
 
33
31
  class Param_panel(QDialog, Ui_Dialog):
34
32
  def __init__(self, parent=None):
35
-
36
33
  super().__init__()
37
34
  self.setupUi(self)
38
35
 
39
36
  self.media_duration = None
40
37
 
41
38
  # insert duration widget for time offset
42
- self.start_time = duration_widget.Duration_widget(0)
39
+ self.start_time = dialog.get_time_widget(0)
43
40
  self.horizontalLayout.insertWidget(1, self.start_time)
44
- self.end_time = duration_widget.Duration_widget(0)
41
+ self.end_time = dialog.get_time_widget(0)
45
42
  self.horizontalLayout_6.insertWidget(1, self.end_time)
46
43
 
47
44
  self.pbSelectAllSubjects.clicked.connect(lambda: self.subjects_button_clicked("select all"))
@@ -62,6 +59,17 @@ class Param_panel(QDialog, Ui_Dialog):
62
59
  self.rb_media_duration.clicked.connect(lambda: self.rb_time_interval_selection(cfg.TIME_FULL_OBS))
63
60
  self.rb_observed_events.clicked.connect(lambda: self.rb_time_interval_selection(cfg.TIME_EVENTS))
64
61
  self.rb_user_defined.clicked.connect(lambda: self.rb_time_interval_selection(cfg.TIME_ARBITRARY_INTERVAL))
62
+ self.rb_obs_interval.clicked.connect(lambda: self.rb_time_interval_selection(cfg.TIME_OBS_INTERVAL))
63
+
64
+ self.cbIncludeModifiers.stateChanged.connect(self.cb_exclude_non_coded_modifiers_visibility)
65
+
66
+ self.cb_exclude_non_coded_modifiers.setVisible(False)
67
+
68
+ def cb_exclude_non_coded_modifiers_visibility(self):
69
+ """
70
+ set visibility of cb_exclude_non_coded_modifiers
71
+ """
72
+ self.cb_exclude_non_coded_modifiers.setEnabled(self.cbIncludeModifiers.isChecked())
65
73
 
66
74
  def rb_time_interval_selection(self, button):
67
75
  """
@@ -83,6 +91,19 @@ class Param_panel(QDialog, Ui_Dialog):
83
91
  self.frm_time_interval.setEnabled(False)
84
92
  self.frm_time_interval.setVisible(True)
85
93
 
94
+ elif button == cfg.TIME_OBS_INTERVAL:
95
+ if not ((self.start_interval is None) or self.start_interval.is_nan()):
96
+ # Set start_time and end_time widgets values even if it is not shown with
97
+ # more than 1 observation as some analyses might use it (eg: advanced event filtering)
98
+
99
+ end_interval = self.end_interval if self.end_interval != 0 else self.media_duration
100
+
101
+ self.start_time.set_time(self.start_interval)
102
+ self.end_time.set_time(end_interval)
103
+ self.frm_time_interval.setEnabled(False)
104
+ if len(self.selectedObservations) == 1:
105
+ self.frm_time_interval.setVisible(True)
106
+
86
107
  else:
87
108
  self.frm_time_interval.setVisible(False)
88
109
 
@@ -98,7 +119,6 @@ class Param_panel(QDialog, Ui_Dialog):
98
119
 
99
120
  def behaviors_button_clicked(self, command):
100
121
  for idx in range(self.lwBehaviors.count()):
101
-
102
122
  if self.lwBehaviors.item(idx).data(33) != "category":
103
123
  if command == "select all":
104
124
  self.lwBehaviors.item(idx).setCheckState(Qt.Checked)
@@ -113,7 +133,6 @@ class Param_panel(QDialog, Ui_Dialog):
113
133
  self.lwBehaviors.item(idx).setCheckState(Qt.Checked)
114
134
 
115
135
  def ok(self):
116
-
117
136
  selectedSubjects = []
118
137
  for idx in range(self.lwSubjects.count()):
119
138
  cb = self.lwSubjects.itemWidget(self.lwSubjects.item(idx))
@@ -138,7 +157,6 @@ class Param_panel(QDialog, Ui_Dialog):
138
157
  category = item.data(34)
139
158
  for i in range(self.lwBehaviors.count()):
140
159
  if self.lwBehaviors.item(i).data(34) == category and self.lwBehaviors.item(i).data(33) != "category":
141
-
142
160
  if item.data(35):
143
161
  self.lwBehaviors.item(i).setCheckState(Qt.Unchecked)
144
162
  else:
@@ -154,9 +172,7 @@ class Param_panel(QDialog, Ui_Dialog):
154
172
  observed_behaviors = []
155
173
 
156
174
  # extract events from selected observations
157
- all_events = [
158
- self.pj[cfg.OBSERVATIONS][x][cfg.EVENTS] for x in self.pj[cfg.OBSERVATIONS] if x in selected_observations
159
- ]
175
+ all_events = [self.pj[cfg.OBSERVATIONS][x][cfg.EVENTS] for x in self.pj[cfg.OBSERVATIONS] if x in selected_observations]
160
176
 
161
177
  for events in all_events:
162
178
  for event in events:
@@ -178,7 +194,6 @@ class Param_panel(QDialog, Ui_Dialog):
178
194
  observed_behaviors = self.extract_observed_behaviors(self.selectedObservations, selected_subjects)
179
195
 
180
196
  for idx in range(self.lwBehaviors.count()):
181
-
182
197
  if self.lwBehaviors.item(idx).data(33) != "category":
183
198
  if self.lwBehaviors.item(idx).text() in observed_behaviors:
184
199
  self.lwBehaviors.item(idx).setCheckState(Qt.Checked)
boris/param_panel_ui.py CHANGED
@@ -1,189 +1,305 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
- # Form implementation generated from reading ui file 'boris/param_panel.ui'
4
- #
5
- # Created by: PyQt5 UI code generator 5.15.4
6
- #
7
- # WARNING: Any manual changes made to this file will be lost when pyuic5 is
8
- # run again. Do not edit this file unless you know what you are doing.
9
-
10
-
11
- from PyQt5 import QtCore, QtGui, QtWidgets
3
+ ################################################################################
4
+ ## Form generated from reading UI file 'param_panel.ui'
5
+ ##
6
+ ## Created by: Qt User Interface Compiler version 6.8.0
7
+ ##
8
+ ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
+ ################################################################################
12
10
 
11
+ from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
12
+ QMetaObject, QObject, QPoint, QRect,
13
+ QSize, QTime, QUrl, Qt)
14
+ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
15
+ QFont, QFontDatabase, QGradient, QIcon,
16
+ QImage, QKeySequence, QLinearGradient, QPainter,
17
+ QPalette, QPixmap, QRadialGradient, QTransform)
18
+ from PySide6.QtWidgets import (QApplication, QCheckBox, QDialog, QFrame,
19
+ QHBoxLayout, QLabel, QListWidget, QListWidgetItem,
20
+ QPushButton, QRadioButton, QSizePolicy, QSpacerItem,
21
+ QSpinBox, QVBoxLayout, QWidget)
13
22
 
14
23
  class Ui_Dialog(object):
15
24
  def setupUi(self, Dialog):
16
- Dialog.setObjectName("Dialog")
25
+ if not Dialog.objectName():
26
+ Dialog.setObjectName(u"Dialog")
17
27
  Dialog.resize(1037, 890)
18
- self.verticalLayout_4 = QtWidgets.QVBoxLayout(Dialog)
19
- self.verticalLayout_4.setObjectName("verticalLayout_4")
20
- self.verticalLayout_2 = QtWidgets.QVBoxLayout()
21
- self.verticalLayout_2.setObjectName("verticalLayout_2")
22
- self.lbSubjects = QtWidgets.QLabel(Dialog)
23
- self.lbSubjects.setObjectName("lbSubjects")
28
+ self.verticalLayout_4 = QVBoxLayout(Dialog)
29
+ self.verticalLayout_4.setObjectName(u"verticalLayout_4")
30
+ self.verticalLayout_2 = QVBoxLayout()
31
+ self.verticalLayout_2.setObjectName(u"verticalLayout_2")
32
+ self.lbSubjects = QLabel(Dialog)
33
+ self.lbSubjects.setObjectName(u"lbSubjects")
34
+
24
35
  self.verticalLayout_2.addWidget(self.lbSubjects)
25
- self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
26
- self.horizontalLayout_3.setObjectName("horizontalLayout_3")
27
- self.pbSelectAllSubjects = QtWidgets.QPushButton(Dialog)
28
- self.pbSelectAllSubjects.setObjectName("pbSelectAllSubjects")
36
+
37
+ self.horizontalLayout_3 = QHBoxLayout()
38
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
39
+ self.pbSelectAllSubjects = QPushButton(Dialog)
40
+ self.pbSelectAllSubjects.setObjectName(u"pbSelectAllSubjects")
41
+
29
42
  self.horizontalLayout_3.addWidget(self.pbSelectAllSubjects)
30
- self.pbUnselectAllSubjects = QtWidgets.QPushButton(Dialog)
31
- self.pbUnselectAllSubjects.setObjectName("pbUnselectAllSubjects")
43
+
44
+ self.pbUnselectAllSubjects = QPushButton(Dialog)
45
+ self.pbUnselectAllSubjects.setObjectName(u"pbUnselectAllSubjects")
46
+
32
47
  self.horizontalLayout_3.addWidget(self.pbUnselectAllSubjects)
33
- self.pbReverseSubjectsSelection = QtWidgets.QPushButton(Dialog)
34
- self.pbReverseSubjectsSelection.setObjectName("pbReverseSubjectsSelection")
48
+
49
+ self.pbReverseSubjectsSelection = QPushButton(Dialog)
50
+ self.pbReverseSubjectsSelection.setObjectName(u"pbReverseSubjectsSelection")
51
+
35
52
  self.horizontalLayout_3.addWidget(self.pbReverseSubjectsSelection)
36
- spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
37
- self.horizontalLayout_3.addItem(spacerItem)
53
+
54
+ self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
55
+
56
+ self.horizontalLayout_3.addItem(self.horizontalSpacer_4)
57
+
58
+
38
59
  self.verticalLayout_2.addLayout(self.horizontalLayout_3)
39
- self.lwSubjects = QtWidgets.QListWidget(Dialog)
40
- self.lwSubjects.setObjectName("lwSubjects")
60
+
61
+ self.lwSubjects = QListWidget(Dialog)
62
+ self.lwSubjects.setObjectName(u"lwSubjects")
63
+
41
64
  self.verticalLayout_2.addWidget(self.lwSubjects)
42
- self.lbBehaviors = QtWidgets.QLabel(Dialog)
43
- self.lbBehaviors.setObjectName("lbBehaviors")
65
+
66
+ self.lbBehaviors = QLabel(Dialog)
67
+ self.lbBehaviors.setObjectName(u"lbBehaviors")
68
+
44
69
  self.verticalLayout_2.addWidget(self.lbBehaviors)
45
- self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
46
- self.horizontalLayout_4.setObjectName("horizontalLayout_4")
47
- self.pbSelectAllBehaviors = QtWidgets.QPushButton(Dialog)
48
- self.pbSelectAllBehaviors.setObjectName("pbSelectAllBehaviors")
70
+
71
+ self.horizontalLayout_4 = QHBoxLayout()
72
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
73
+ self.pbSelectAllBehaviors = QPushButton(Dialog)
74
+ self.pbSelectAllBehaviors.setObjectName(u"pbSelectAllBehaviors")
75
+
49
76
  self.horizontalLayout_4.addWidget(self.pbSelectAllBehaviors)
50
- self.pbUnselectAllBehaviors = QtWidgets.QPushButton(Dialog)
51
- self.pbUnselectAllBehaviors.setObjectName("pbUnselectAllBehaviors")
77
+
78
+ self.pbUnselectAllBehaviors = QPushButton(Dialog)
79
+ self.pbUnselectAllBehaviors.setObjectName(u"pbUnselectAllBehaviors")
80
+
52
81
  self.horizontalLayout_4.addWidget(self.pbUnselectAllBehaviors)
53
- self.pbReverseBehaviorsSelection = QtWidgets.QPushButton(Dialog)
54
- self.pbReverseBehaviorsSelection.setObjectName("pbReverseBehaviorsSelection")
82
+
83
+ self.pbReverseBehaviorsSelection = QPushButton(Dialog)
84
+ self.pbReverseBehaviorsSelection.setObjectName(u"pbReverseBehaviorsSelection")
85
+
55
86
  self.horizontalLayout_4.addWidget(self.pbReverseBehaviorsSelection)
56
- spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
57
- self.horizontalLayout_4.addItem(spacerItem1)
87
+
88
+ self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
89
+
90
+ self.horizontalLayout_4.addItem(self.horizontalSpacer_5)
91
+
92
+
58
93
  self.verticalLayout_2.addLayout(self.horizontalLayout_4)
59
- self.lwBehaviors = QtWidgets.QListWidget(Dialog)
60
- self.lwBehaviors.setObjectName("lwBehaviors")
94
+
95
+ self.lwBehaviors = QListWidget(Dialog)
96
+ self.lwBehaviors.setObjectName(u"lwBehaviors")
97
+
61
98
  self.verticalLayout_2.addWidget(self.lwBehaviors)
62
- self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
63
- self.horizontalLayout_9.setObjectName("horizontalLayout_9")
64
- self.cbIncludeModifiers = QtWidgets.QCheckBox(Dialog)
65
- self.cbIncludeModifiers.setObjectName("cbIncludeModifiers")
99
+
100
+ self.horizontalLayout_9 = QHBoxLayout()
101
+ self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
102
+ self.cbIncludeModifiers = QCheckBox(Dialog)
103
+ self.cbIncludeModifiers.setObjectName(u"cbIncludeModifiers")
104
+
66
105
  self.horizontalLayout_9.addWidget(self.cbIncludeModifiers)
67
- self.cbExcludeBehaviors = QtWidgets.QCheckBox(Dialog)
68
- self.cbExcludeBehaviors.setObjectName("cbExcludeBehaviors")
106
+
107
+ self.cb_exclude_non_coded_modifiers = QCheckBox(Dialog)
108
+ self.cb_exclude_non_coded_modifiers.setObjectName(u"cb_exclude_non_coded_modifiers")
109
+ self.cb_exclude_non_coded_modifiers.setChecked(True)
110
+
111
+ self.horizontalLayout_9.addWidget(self.cb_exclude_non_coded_modifiers)
112
+
113
+ self.cbExcludeBehaviors = QCheckBox(Dialog)
114
+ self.cbExcludeBehaviors.setObjectName(u"cbExcludeBehaviors")
115
+
69
116
  self.horizontalLayout_9.addWidget(self.cbExcludeBehaviors)
70
- spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
71
- self.horizontalLayout_9.addItem(spacerItem2)
117
+
118
+ self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
119
+
120
+ self.horizontalLayout_9.addItem(self.horizontalSpacer_7)
121
+
122
+
72
123
  self.verticalLayout_2.addLayout(self.horizontalLayout_9)
73
- self.frm_time_bin_size = QtWidgets.QFrame(Dialog)
74
- self.frm_time_bin_size.setFrameShape(QtWidgets.QFrame.StyledPanel)
75
- self.frm_time_bin_size.setFrameShadow(QtWidgets.QFrame.Raised)
76
- self.frm_time_bin_size.setObjectName("frm_time_bin_size")
77
- self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.frm_time_bin_size)
78
- self.horizontalLayout_8.setObjectName("horizontalLayout_8")
79
- self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
80
- self.horizontalLayout_7.setObjectName("horizontalLayout_7")
81
- self.lb_time_bin_size = QtWidgets.QLabel(self.frm_time_bin_size)
82
- self.lb_time_bin_size.setObjectName("lb_time_bin_size")
124
+
125
+ self.frm_time_bin_size = QFrame(Dialog)
126
+ self.frm_time_bin_size.setObjectName(u"frm_time_bin_size")
127
+ self.frm_time_bin_size.setFrameShape(QFrame.StyledPanel)
128
+ self.frm_time_bin_size.setFrameShadow(QFrame.Raised)
129
+ self.horizontalLayout_8 = QHBoxLayout(self.frm_time_bin_size)
130
+ self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
131
+ self.horizontalLayout_7 = QHBoxLayout()
132
+ self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
133
+ self.lb_time_bin_size = QLabel(self.frm_time_bin_size)
134
+ self.lb_time_bin_size.setObjectName(u"lb_time_bin_size")
135
+
83
136
  self.horizontalLayout_7.addWidget(self.lb_time_bin_size)
84
- self.sb_time_bin_size = QtWidgets.QSpinBox(self.frm_time_bin_size)
137
+
138
+ self.sb_time_bin_size = QSpinBox(self.frm_time_bin_size)
139
+ self.sb_time_bin_size.setObjectName(u"sb_time_bin_size")
85
140
  self.sb_time_bin_size.setMaximum(86400)
86
141
  self.sb_time_bin_size.setSingleStep(10)
87
- self.sb_time_bin_size.setObjectName("sb_time_bin_size")
142
+
88
143
  self.horizontalLayout_7.addWidget(self.sb_time_bin_size)
89
- spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
90
- self.horizontalLayout_7.addItem(spacerItem3)
144
+
145
+ self.horizontalSpacer_8 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
146
+
147
+ self.horizontalLayout_7.addItem(self.horizontalSpacer_8)
148
+
149
+
91
150
  self.horizontalLayout_8.addLayout(self.horizontalLayout_7)
151
+
152
+
92
153
  self.verticalLayout_2.addWidget(self.frm_time_bin_size)
93
- self.frm_time = QtWidgets.QFrame(Dialog)
94
- self.frm_time.setFrameShape(QtWidgets.QFrame.StyledPanel)
95
- self.frm_time.setFrameShadow(QtWidgets.QFrame.Raised)
96
- self.frm_time.setObjectName("frm_time")
97
- self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frm_time)
98
- self.verticalLayout_3.setObjectName("verticalLayout_3")
99
- self.lb_time_interval = QtWidgets.QLabel(self.frm_time)
100
- self.lb_time_interval.setObjectName("lb_time_interval")
154
+
155
+ self.frm_time = QFrame(Dialog)
156
+ self.frm_time.setObjectName(u"frm_time")
157
+ self.frm_time.setFrameShape(QFrame.StyledPanel)
158
+ self.frm_time.setFrameShadow(QFrame.Raised)
159
+ self.verticalLayout_3 = QVBoxLayout(self.frm_time)
160
+ self.verticalLayout_3.setObjectName(u"verticalLayout_3")
161
+ self.lb_time_interval = QLabel(self.frm_time)
162
+ self.lb_time_interval.setObjectName(u"lb_time_interval")
163
+
101
164
  self.verticalLayout_3.addWidget(self.lb_time_interval)
102
- self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
103
- self.horizontalLayout_5.setObjectName("horizontalLayout_5")
104
- self.rb_observed_events = QtWidgets.QRadioButton(self.frm_time)
105
- self.rb_observed_events.setObjectName("rb_observed_events")
165
+
166
+ self.horizontalLayout_5 = QHBoxLayout()
167
+ self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
168
+ self.rb_observed_events = QRadioButton(self.frm_time)
169
+ self.rb_observed_events.setObjectName(u"rb_observed_events")
170
+
106
171
  self.horizontalLayout_5.addWidget(self.rb_observed_events)
107
- self.rb_user_defined = QtWidgets.QRadioButton(self.frm_time)
108
- self.rb_user_defined.setObjectName("rb_user_defined")
172
+
173
+ self.rb_user_defined = QRadioButton(self.frm_time)
174
+ self.rb_user_defined.setObjectName(u"rb_user_defined")
175
+
109
176
  self.horizontalLayout_5.addWidget(self.rb_user_defined)
110
- self.rb_media_duration = QtWidgets.QRadioButton(self.frm_time)
177
+
178
+ self.rb_obs_interval = QRadioButton(self.frm_time)
179
+ self.rb_obs_interval.setObjectName(u"rb_obs_interval")
180
+
181
+ self.horizontalLayout_5.addWidget(self.rb_obs_interval)
182
+
183
+ self.rb_media_duration = QRadioButton(self.frm_time)
184
+ self.rb_media_duration.setObjectName(u"rb_media_duration")
111
185
  self.rb_media_duration.setCheckable(True)
112
186
  self.rb_media_duration.setChecked(False)
113
- self.rb_media_duration.setObjectName("rb_media_duration")
187
+
114
188
  self.horizontalLayout_5.addWidget(self.rb_media_duration)
115
- spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
116
- self.horizontalLayout_5.addItem(spacerItem4)
189
+
190
+ self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
191
+
192
+ self.horizontalLayout_5.addItem(self.horizontalSpacer_3)
193
+
194
+
117
195
  self.verticalLayout_3.addLayout(self.horizontalLayout_5)
118
- self.frm_time_interval = QtWidgets.QFrame(self.frm_time)
119
- self.frm_time_interval.setFrameShape(QtWidgets.QFrame.StyledPanel)
120
- self.frm_time_interval.setFrameShadow(QtWidgets.QFrame.Raised)
121
- self.frm_time_interval.setObjectName("frm_time_interval")
122
- self.verticalLayout = QtWidgets.QVBoxLayout(self.frm_time_interval)
123
- self.verticalLayout.setObjectName("verticalLayout")
124
- self.horizontalLayout = QtWidgets.QHBoxLayout()
125
- self.horizontalLayout.setObjectName("horizontalLayout")
126
- self.lbStartTime = QtWidgets.QLabel(self.frm_time_interval)
127
- self.lbStartTime.setObjectName("lbStartTime")
196
+
197
+ self.frm_time_interval = QFrame(self.frm_time)
198
+ self.frm_time_interval.setObjectName(u"frm_time_interval")
199
+ self.frm_time_interval.setFrameShape(QFrame.StyledPanel)
200
+ self.frm_time_interval.setFrameShadow(QFrame.Raised)
201
+ self.verticalLayout = QVBoxLayout(self.frm_time_interval)
202
+ self.verticalLayout.setObjectName(u"verticalLayout")
203
+ self.horizontalLayout = QHBoxLayout()
204
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
205
+ self.lbStartTime = QLabel(self.frm_time_interval)
206
+ self.lbStartTime.setObjectName(u"lbStartTime")
207
+
128
208
  self.horizontalLayout.addWidget(self.lbStartTime)
129
- self.label_2 = QtWidgets.QLabel(self.frm_time_interval)
130
- self.label_2.setText("")
131
- self.label_2.setObjectName("label_2")
209
+
210
+ self.label_2 = QLabel(self.frm_time_interval)
211
+ self.label_2.setObjectName(u"label_2")
212
+
132
213
  self.horizontalLayout.addWidget(self.label_2)
133
- spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
134
- self.horizontalLayout.addItem(spacerItem5)
214
+
215
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
216
+
217
+ self.horizontalLayout.addItem(self.horizontalSpacer_2)
218
+
219
+
135
220
  self.verticalLayout.addLayout(self.horizontalLayout)
136
- self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
137
- self.horizontalLayout_6.setObjectName("horizontalLayout_6")
138
- self.lbEndTime = QtWidgets.QLabel(self.frm_time_interval)
139
- self.lbEndTime.setObjectName("lbEndTime")
221
+
222
+ self.horizontalLayout_6 = QHBoxLayout()
223
+ self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
224
+ self.lbEndTime = QLabel(self.frm_time_interval)
225
+ self.lbEndTime.setObjectName(u"lbEndTime")
226
+
140
227
  self.horizontalLayout_6.addWidget(self.lbEndTime)
141
- self.label_3 = QtWidgets.QLabel(self.frm_time_interval)
142
- self.label_3.setText("")
143
- self.label_3.setObjectName("label_3")
228
+
229
+ self.label_3 = QLabel(self.frm_time_interval)
230
+ self.label_3.setObjectName(u"label_3")
231
+
144
232
  self.horizontalLayout_6.addWidget(self.label_3)
145
- spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
146
- self.horizontalLayout_6.addItem(spacerItem6)
233
+
234
+ self.horizontalSpacer_6 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
235
+
236
+ self.horizontalLayout_6.addItem(self.horizontalSpacer_6)
237
+
238
+
147
239
  self.verticalLayout.addLayout(self.horizontalLayout_6)
148
- spacerItem7 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
149
- self.verticalLayout.addItem(spacerItem7)
240
+
241
+ self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
242
+
243
+ self.verticalLayout.addItem(self.verticalSpacer)
244
+
245
+
150
246
  self.verticalLayout_3.addWidget(self.frm_time_interval)
247
+
248
+
151
249
  self.verticalLayout_2.addWidget(self.frm_time)
152
- self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
153
- self.horizontalLayout_2.setObjectName("horizontalLayout_2")
154
- spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
155
- self.horizontalLayout_2.addItem(spacerItem8)
156
- self.pbCancel = QtWidgets.QPushButton(Dialog)
157
- self.pbCancel.setObjectName("pbCancel")
250
+
251
+ self.horizontalLayout_2 = QHBoxLayout()
252
+ self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
253
+ self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
254
+
255
+ self.horizontalLayout_2.addItem(self.horizontalSpacer)
256
+
257
+ self.pbCancel = QPushButton(Dialog)
258
+ self.pbCancel.setObjectName(u"pbCancel")
259
+
158
260
  self.horizontalLayout_2.addWidget(self.pbCancel)
159
- self.pbOK = QtWidgets.QPushButton(Dialog)
160
- self.pbOK.setObjectName("pbOK")
261
+
262
+ self.pbOK = QPushButton(Dialog)
263
+ self.pbOK.setObjectName(u"pbOK")
264
+
161
265
  self.horizontalLayout_2.addWidget(self.pbOK)
266
+
267
+
162
268
  self.verticalLayout_2.addLayout(self.horizontalLayout_2)
269
+
270
+
163
271
  self.verticalLayout_4.addLayout(self.verticalLayout_2)
164
272
 
273
+
165
274
  self.retranslateUi(Dialog)
166
- QtCore.QMetaObject.connectSlotsByName(Dialog)
275
+
276
+ QMetaObject.connectSlotsByName(Dialog)
277
+ # setupUi
167
278
 
168
279
  def retranslateUi(self, Dialog):
169
- _translate = QtCore.QCoreApplication.translate
170
- Dialog.setWindowTitle(_translate("Dialog", "Parameters"))
171
- self.lbSubjects.setText(_translate("Dialog", "Subjects"))
172
- self.pbSelectAllSubjects.setText(_translate("Dialog", "Select all"))
173
- self.pbUnselectAllSubjects.setText(_translate("Dialog", "Unselect all"))
174
- self.pbReverseSubjectsSelection.setText(_translate("Dialog", "Reverse selection"))
175
- self.lbBehaviors.setText(_translate("Dialog", "Behaviors"))
176
- self.pbSelectAllBehaviors.setText(_translate("Dialog", "Select all"))
177
- self.pbUnselectAllBehaviors.setText(_translate("Dialog", "Unselect all"))
178
- self.pbReverseBehaviorsSelection.setText(_translate("Dialog", "Reverse selection"))
179
- self.cbIncludeModifiers.setText(_translate("Dialog", "Include modifiers"))
180
- self.cbExcludeBehaviors.setText(_translate("Dialog", "Exclude behaviors without events"))
181
- self.lb_time_bin_size.setText(_translate("Dialog", "Time bin size (s)"))
182
- self.lb_time_interval.setText(_translate("Dialog", "Time interval"))
183
- self.rb_observed_events.setText(_translate("Dialog", "Observed events"))
184
- self.rb_user_defined.setText(_translate("Dialog", "User defined"))
185
- self.rb_media_duration.setText(_translate("Dialog", "Media file(s) duration"))
186
- self.lbStartTime.setText(_translate("Dialog", "Start time"))
187
- self.lbEndTime.setText(_translate("Dialog", "End time"))
188
- self.pbCancel.setText(_translate("Dialog", "Cancel"))
189
- self.pbOK.setText(_translate("Dialog", "OK"))
280
+ Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Parameters", None))
281
+ self.lbSubjects.setText(QCoreApplication.translate("Dialog", u"Subjects", None))
282
+ self.pbSelectAllSubjects.setText(QCoreApplication.translate("Dialog", u"Select all", None))
283
+ self.pbUnselectAllSubjects.setText(QCoreApplication.translate("Dialog", u"Unselect all", None))
284
+ self.pbReverseSubjectsSelection.setText(QCoreApplication.translate("Dialog", u"Reverse selection", None))
285
+ self.lbBehaviors.setText(QCoreApplication.translate("Dialog", u"Behaviors", None))
286
+ self.pbSelectAllBehaviors.setText(QCoreApplication.translate("Dialog", u"Select all", None))
287
+ self.pbUnselectAllBehaviors.setText(QCoreApplication.translate("Dialog", u"Unselect all", None))
288
+ self.pbReverseBehaviorsSelection.setText(QCoreApplication.translate("Dialog", u"Reverse selection", None))
289
+ self.cbIncludeModifiers.setText(QCoreApplication.translate("Dialog", u"Include modifiers", None))
290
+ self.cb_exclude_non_coded_modifiers.setText(QCoreApplication.translate("Dialog", u"Exclude non coded modifiers", None))
291
+ self.cbExcludeBehaviors.setText(QCoreApplication.translate("Dialog", u"Exclude behaviors without events", None))
292
+ self.lb_time_bin_size.setText(QCoreApplication.translate("Dialog", u"Time bin size (s)", None))
293
+ self.lb_time_interval.setText(QCoreApplication.translate("Dialog", u"Time interval", None))
294
+ self.rb_observed_events.setText(QCoreApplication.translate("Dialog", u"Observed events", None))
295
+ self.rb_user_defined.setText(QCoreApplication.translate("Dialog", u"User defined", None))
296
+ self.rb_obs_interval.setText(QCoreApplication.translate("Dialog", u"Interval of observation", None))
297
+ self.rb_media_duration.setText(QCoreApplication.translate("Dialog", u"Media file(s) duration", None))
298
+ self.lbStartTime.setText(QCoreApplication.translate("Dialog", u"Start time", None))
299
+ self.label_2.setText("")
300
+ self.lbEndTime.setText(QCoreApplication.translate("Dialog", u"End time", None))
301
+ self.label_3.setText("")
302
+ self.pbCancel.setText(QCoreApplication.translate("Dialog", u"Cancel", None))
303
+ self.pbOK.setText(QCoreApplication.translate("Dialog", u"OK", None))
304
+ # retranslateUi
305
+