boris-behav-obs 9.7.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. boris/__init__.py +26 -0
  2. boris/__main__.py +25 -0
  3. boris/about.py +143 -0
  4. boris/add_modifier.py +635 -0
  5. boris/add_modifier_ui.py +303 -0
  6. boris/advanced_event_filtering.py +455 -0
  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 +1110 -0
  18. boris/behavior_binary_table.py +305 -0
  19. boris/behaviors_coding_map.py +239 -0
  20. boris/boris_cli.py +340 -0
  21. boris/cmd_arguments.py +49 -0
  22. boris/coding_pad.py +280 -0
  23. boris/config.py +785 -0
  24. boris/config_file.py +356 -0
  25. boris/connections.py +409 -0
  26. boris/converters.py +333 -0
  27. boris/converters_ui.py +225 -0
  28. boris/cooccurence.py +250 -0
  29. boris/core.py +5901 -0
  30. boris/core_qrc.py +15958 -0
  31. boris/core_ui.py +1107 -0
  32. boris/db_functions.py +324 -0
  33. boris/dev.py +134 -0
  34. boris/dialog.py +1108 -0
  35. boris/duration_widget.py +238 -0
  36. boris/edit_event.py +245 -0
  37. boris/edit_event_ui.py +233 -0
  38. boris/event_operations.py +1040 -0
  39. boris/events_cursor.py +61 -0
  40. boris/events_snapshots.py +596 -0
  41. boris/exclusion_matrix.py +141 -0
  42. boris/export_events.py +1006 -0
  43. boris/export_observation.py +1203 -0
  44. boris/external_processes.py +332 -0
  45. boris/geometric_measurement.py +941 -0
  46. boris/gui_utilities.py +135 -0
  47. boris/image_overlay.py +72 -0
  48. boris/import_observations.py +242 -0
  49. boris/ipc_mpv.py +325 -0
  50. boris/irr.py +634 -0
  51. boris/latency.py +244 -0
  52. boris/measurement_widget.py +161 -0
  53. boris/media_file.py +115 -0
  54. boris/menu_options.py +213 -0
  55. boris/modifier_coding_map_creator.py +1013 -0
  56. boris/modifiers_coding_map.py +157 -0
  57. boris/mpv.py +2016 -0
  58. boris/mpv2.py +2193 -0
  59. boris/observation.py +1453 -0
  60. boris/observation_operations.py +2538 -0
  61. boris/observation_ui.py +679 -0
  62. boris/observations_list.py +337 -0
  63. boris/otx_parser.py +442 -0
  64. boris/param_panel.py +201 -0
  65. boris/param_panel_ui.py +305 -0
  66. boris/player_dock_widget.py +198 -0
  67. boris/plot_data_module.py +536 -0
  68. boris/plot_events.py +634 -0
  69. boris/plot_events_rt.py +237 -0
  70. boris/plot_spectrogram_rt.py +316 -0
  71. boris/plot_waveform_rt.py +230 -0
  72. boris/plugins.py +431 -0
  73. boris/portion/__init__.py +31 -0
  74. boris/portion/const.py +95 -0
  75. boris/portion/dict.py +365 -0
  76. boris/portion/func.py +52 -0
  77. boris/portion/interval.py +581 -0
  78. boris/portion/io.py +181 -0
  79. boris/preferences.py +510 -0
  80. boris/preferences_ui.py +770 -0
  81. boris/project.py +2007 -0
  82. boris/project_functions.py +2041 -0
  83. boris/project_import_export.py +1096 -0
  84. boris/project_ui.py +794 -0
  85. boris/qrc_boris.py +10389 -0
  86. boris/qrc_boris5.py +2579 -0
  87. boris/select_modifiers.py +312 -0
  88. boris/select_observations.py +210 -0
  89. boris/select_subj_behav.py +286 -0
  90. boris/state_events.py +197 -0
  91. boris/subjects_pad.py +106 -0
  92. boris/synthetic_time_budget.py +290 -0
  93. boris/time_budget_functions.py +1136 -0
  94. boris/time_budget_widget.py +1039 -0
  95. boris/transitions.py +365 -0
  96. boris/utilities.py +1810 -0
  97. boris/version.py +24 -0
  98. boris/video_equalizer.py +159 -0
  99. boris/video_equalizer_ui.py +248 -0
  100. boris/video_operations.py +310 -0
  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.7.dist-info/METADATA +139 -0
  105. boris_behav_obs-9.7.7.dist-info/RECORD +109 -0
  106. boris_behav_obs-9.7.7.dist-info/WHEEL +5 -0
  107. boris_behav_obs-9.7.7.dist-info/entry_points.txt +2 -0
  108. boris_behav_obs-9.7.7.dist-info/licenses/LICENSE.TXT +674 -0
  109. boris_behav_obs-9.7.7.dist-info/top_level.txt +1 -0
@@ -0,0 +1,303 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ ################################################################################
4
+ ## Form generated from reading UI file 'add_modifier.ui'
5
+ ##
6
+ ## Created by: Qt User Interface Compiler version 6.10.0
7
+ ##
8
+ ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
+ ################################################################################
10
+
11
+ from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
12
+ QMetaObject, QObject, QPoint, QRect,
13
+ QSize, QTime, QUrl, Qt)
14
+ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
15
+ QFont, QFontDatabase, QGradient, QIcon,
16
+ QImage, QKeySequence, QLinearGradient, QPainter,
17
+ QPalette, QPixmap, QRadialGradient, QTransform)
18
+ from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDialog,
19
+ QHBoxLayout, QLabel, QLineEdit, QListWidget,
20
+ QListWidgetItem, QPushButton, QSizePolicy, QSpacerItem,
21
+ QTabWidget, QVBoxLayout, QWidget)
22
+
23
+ class Ui_Dialog(object):
24
+ def setupUi(self, Dialog):
25
+ if not Dialog.objectName():
26
+ Dialog.setObjectName(u"Dialog")
27
+ Dialog.resize(1339, 789)
28
+ self.verticalLayout_4 = QVBoxLayout(Dialog)
29
+ self.verticalLayout_4.setObjectName(u"verticalLayout_4")
30
+ self.cb_ask_at_stop = QCheckBox(Dialog)
31
+ self.cb_ask_at_stop.setObjectName(u"cb_ask_at_stop")
32
+
33
+ self.verticalLayout_4.addWidget(self.cb_ask_at_stop)
34
+
35
+ self.horizontalLayout_8 = QHBoxLayout()
36
+ self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
37
+ self.verticalLayout_2 = QVBoxLayout()
38
+ self.verticalLayout_2.setObjectName(u"verticalLayout_2")
39
+ self.lbModifier = QLabel(Dialog)
40
+ self.lbModifier.setObjectName(u"lbModifier")
41
+
42
+ self.verticalLayout_2.addWidget(self.lbModifier)
43
+
44
+ self.leModifier = QLineEdit(Dialog)
45
+ self.leModifier.setObjectName(u"leModifier")
46
+
47
+ self.verticalLayout_2.addWidget(self.leModifier)
48
+
49
+ self.lbCode = QLabel(Dialog)
50
+ self.lbCode.setObjectName(u"lbCode")
51
+
52
+ self.verticalLayout_2.addWidget(self.lbCode)
53
+
54
+ self.leCode = QLineEdit(Dialog)
55
+ self.leCode.setObjectName(u"leCode")
56
+
57
+ self.verticalLayout_2.addWidget(self.leCode)
58
+
59
+ self.lbCodeHelp = QLabel(Dialog)
60
+ self.lbCodeHelp.setObjectName(u"lbCodeHelp")
61
+ self.lbCodeHelp.setWordWrap(True)
62
+
63
+ self.verticalLayout_2.addWidget(self.lbCodeHelp)
64
+
65
+ self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
66
+
67
+ self.verticalLayout_2.addItem(self.verticalSpacer)
68
+
69
+
70
+ self.horizontalLayout_8.addLayout(self.verticalLayout_2)
71
+
72
+ self.verticalLayout_3 = QVBoxLayout()
73
+ self.verticalLayout_3.setObjectName(u"verticalLayout_3")
74
+ self.pbAddModifier = QPushButton(Dialog)
75
+ self.pbAddModifier.setObjectName(u"pbAddModifier")
76
+
77
+ self.verticalLayout_3.addWidget(self.pbAddModifier)
78
+
79
+ self.pbModifyModifier = QPushButton(Dialog)
80
+ self.pbModifyModifier.setObjectName(u"pbModifyModifier")
81
+
82
+ self.verticalLayout_3.addWidget(self.pbModifyModifier)
83
+
84
+ self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
85
+
86
+ self.verticalLayout_3.addItem(self.verticalSpacer_2)
87
+
88
+
89
+ self.horizontalLayout_8.addLayout(self.verticalLayout_3)
90
+
91
+ self.verticalLayout = QVBoxLayout()
92
+ self.verticalLayout.setObjectName(u"verticalLayout")
93
+ self.tabWidgetModifiersSets = QTabWidget(Dialog)
94
+ self.tabWidgetModifiersSets.setObjectName(u"tabWidgetModifiersSets")
95
+ self.tabWidgetModifiersSets.setMaximumSize(QSize(16777215, 30))
96
+ self.tabWidgetModifiersSets.setTabPosition(QTabWidget.TabPosition.North)
97
+ self.tabWidgetModifiersSets.setTabShape(QTabWidget.TabShape.Rounded)
98
+ self.tabWidgetModifiersSets.setElideMode(Qt.TextElideMode.ElideNone)
99
+ self.tabWidgetModifiersSets.setDocumentMode(True)
100
+
101
+ self.verticalLayout.addWidget(self.tabWidgetModifiersSets)
102
+
103
+ self.horizontalLayout_5 = QHBoxLayout()
104
+ self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
105
+ self.lb_name = QLabel(Dialog)
106
+ self.lb_name.setObjectName(u"lb_name")
107
+
108
+ self.horizontalLayout_5.addWidget(self.lb_name)
109
+
110
+ self.le_name = QLineEdit(Dialog)
111
+ self.le_name.setObjectName(u"le_name")
112
+
113
+ self.horizontalLayout_5.addWidget(self.le_name)
114
+
115
+
116
+ self.verticalLayout.addLayout(self.horizontalLayout_5)
117
+
118
+ self.horizontalLayout_6 = QHBoxLayout()
119
+ self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
120
+ self.lb_description = QLabel(Dialog)
121
+ self.lb_description.setObjectName(u"lb_description")
122
+
123
+ self.horizontalLayout_6.addWidget(self.lb_description)
124
+
125
+ self.le_description = QLineEdit(Dialog)
126
+ self.le_description.setObjectName(u"le_description")
127
+
128
+ self.horizontalLayout_6.addWidget(self.le_description)
129
+
130
+
131
+ self.verticalLayout.addLayout(self.horizontalLayout_6)
132
+
133
+ self.horizontalLayout_7 = QHBoxLayout()
134
+ self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
135
+ self.lbType = QLabel(Dialog)
136
+ self.lbType.setObjectName(u"lbType")
137
+
138
+ self.horizontalLayout_7.addWidget(self.lbType)
139
+
140
+ self.cbType = QComboBox(Dialog)
141
+ self.cbType.addItem("")
142
+ self.cbType.addItem("")
143
+ self.cbType.addItem("")
144
+ self.cbType.addItem("")
145
+ self.cbType.setObjectName(u"cbType")
146
+
147
+ self.horizontalLayout_7.addWidget(self.cbType)
148
+
149
+ self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
150
+
151
+ self.horizontalLayout_7.addItem(self.horizontalSpacer_3)
152
+
153
+
154
+ self.verticalLayout.addLayout(self.horizontalLayout_7)
155
+
156
+ self.lbValues = QLabel(Dialog)
157
+ self.lbValues.setObjectName(u"lbValues")
158
+
159
+ self.verticalLayout.addWidget(self.lbValues)
160
+
161
+ self.lwModifiers = QListWidget(Dialog)
162
+ self.lwModifiers.setObjectName(u"lwModifiers")
163
+
164
+ self.verticalLayout.addWidget(self.lwModifiers)
165
+
166
+ self.horizontalLayout = QHBoxLayout()
167
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
168
+ self.pbMoveUp = QPushButton(Dialog)
169
+ self.pbMoveUp.setObjectName(u"pbMoveUp")
170
+
171
+ self.horizontalLayout.addWidget(self.pbMoveUp)
172
+
173
+ self.pbMoveDown = QPushButton(Dialog)
174
+ self.pbMoveDown.setObjectName(u"pbMoveDown")
175
+
176
+ self.horizontalLayout.addWidget(self.pbMoveDown)
177
+
178
+ self.pb_sort_modifiers = QPushButton(Dialog)
179
+ self.pb_sort_modifiers.setObjectName(u"pb_sort_modifiers")
180
+
181
+ self.horizontalLayout.addWidget(self.pb_sort_modifiers)
182
+
183
+ self.pbRemoveModifier = QPushButton(Dialog)
184
+ self.pbRemoveModifier.setObjectName(u"pbRemoveModifier")
185
+
186
+ self.horizontalLayout.addWidget(self.pbRemoveModifier)
187
+
188
+
189
+ self.verticalLayout.addLayout(self.horizontalLayout)
190
+
191
+ self.horizontalLayout_3 = QHBoxLayout()
192
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
193
+ self.pbAddSet = QPushButton(Dialog)
194
+ self.pbAddSet.setObjectName(u"pbAddSet")
195
+
196
+ self.horizontalLayout_3.addWidget(self.pbAddSet)
197
+
198
+ self.pbMoveSetLeft = QPushButton(Dialog)
199
+ self.pbMoveSetLeft.setObjectName(u"pbMoveSetLeft")
200
+
201
+ self.horizontalLayout_3.addWidget(self.pbMoveSetLeft)
202
+
203
+ self.pbMoveSetRight = QPushButton(Dialog)
204
+ self.pbMoveSetRight.setObjectName(u"pbMoveSetRight")
205
+
206
+ self.horizontalLayout_3.addWidget(self.pbMoveSetRight)
207
+
208
+ self.pbRemoveSet = QPushButton(Dialog)
209
+ self.pbRemoveSet.setObjectName(u"pbRemoveSet")
210
+
211
+ self.horizontalLayout_3.addWidget(self.pbRemoveSet)
212
+
213
+
214
+ self.verticalLayout.addLayout(self.horizontalLayout_3)
215
+
216
+ self.horizontalLayout_4 = QHBoxLayout()
217
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
218
+ self.pb_add_subjects = QPushButton(Dialog)
219
+ self.pb_add_subjects.setObjectName(u"pb_add_subjects")
220
+
221
+ self.horizontalLayout_4.addWidget(self.pb_add_subjects)
222
+
223
+ self.pb_load_file = QPushButton(Dialog)
224
+ self.pb_load_file.setObjectName(u"pb_load_file")
225
+
226
+ self.horizontalLayout_4.addWidget(self.pb_load_file)
227
+
228
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
229
+
230
+ self.horizontalLayout_4.addItem(self.horizontalSpacer_2)
231
+
232
+
233
+ self.verticalLayout.addLayout(self.horizontalLayout_4)
234
+
235
+ self.verticalSpacer_3 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
236
+
237
+ self.verticalLayout.addItem(self.verticalSpacer_3)
238
+
239
+
240
+ self.horizontalLayout_8.addLayout(self.verticalLayout)
241
+
242
+
243
+ self.verticalLayout_4.addLayout(self.horizontalLayout_8)
244
+
245
+ self.horizontalLayout_2 = QHBoxLayout()
246
+ self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
247
+ self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
248
+
249
+ self.horizontalLayout_2.addItem(self.horizontalSpacer)
250
+
251
+ self.pbCancel = QPushButton(Dialog)
252
+ self.pbCancel.setObjectName(u"pbCancel")
253
+
254
+ self.horizontalLayout_2.addWidget(self.pbCancel)
255
+
256
+ self.pbOK = QPushButton(Dialog)
257
+ self.pbOK.setObjectName(u"pbOK")
258
+
259
+ self.horizontalLayout_2.addWidget(self.pbOK)
260
+
261
+
262
+ self.verticalLayout_4.addLayout(self.horizontalLayout_2)
263
+
264
+
265
+ self.retranslateUi(Dialog)
266
+
267
+ self.tabWidgetModifiersSets.setCurrentIndex(-1)
268
+
269
+
270
+ QMetaObject.connectSlotsByName(Dialog)
271
+ # setupUi
272
+
273
+ def retranslateUi(self, Dialog):
274
+ Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Set modifiers", None))
275
+ self.cb_ask_at_stop.setText(QCoreApplication.translate("Dialog", u"Ask for modifier(s) when behavior stops", None))
276
+ self.lbModifier.setText(QCoreApplication.translate("Dialog", u"Modifier", None))
277
+ self.lbCode.setText(QCoreApplication.translate("Dialog", u"Shortcut", None))
278
+ self.lbCodeHelp.setText(QCoreApplication.translate("Dialog", u"The shortcut is case sensitive. Type one character or a function key (F1, F2... F12)", None))
279
+ self.pbAddModifier.setText(QCoreApplication.translate("Dialog", u"->", None))
280
+ self.pbModifyModifier.setText(QCoreApplication.translate("Dialog", u"<-", None))
281
+ self.lb_name.setText(QCoreApplication.translate("Dialog", u"Set name", None))
282
+ self.lb_description.setText(QCoreApplication.translate("Dialog", u"Description", None))
283
+ self.lbType.setText(QCoreApplication.translate("Dialog", u"Modifier type", None))
284
+ self.cbType.setItemText(0, QCoreApplication.translate("Dialog", u"Single selection", None))
285
+ self.cbType.setItemText(1, QCoreApplication.translate("Dialog", u"Multiple selection", None))
286
+ self.cbType.setItemText(2, QCoreApplication.translate("Dialog", u"Numeric", None))
287
+ self.cbType.setItemText(3, QCoreApplication.translate("Dialog", u"Value from external data file", None))
288
+
289
+ self.lbValues.setText(QCoreApplication.translate("Dialog", u"Values", None))
290
+ self.pbMoveUp.setText(QCoreApplication.translate("Dialog", u"Move modifier up", None))
291
+ self.pbMoveDown.setText(QCoreApplication.translate("Dialog", u"Move modifier down", None))
292
+ self.pb_sort_modifiers.setText(QCoreApplication.translate("Dialog", u"Sort modifiers", None))
293
+ self.pbRemoveModifier.setText(QCoreApplication.translate("Dialog", u"Remove modifier", None))
294
+ self.pbAddSet.setText(QCoreApplication.translate("Dialog", u"Add set of modifiers", None))
295
+ self.pbMoveSetLeft.setText(QCoreApplication.translate("Dialog", u"Move set left", None))
296
+ self.pbMoveSetRight.setText(QCoreApplication.translate("Dialog", u"Move set right", None))
297
+ self.pbRemoveSet.setText(QCoreApplication.translate("Dialog", u"Remove set of modifiers", None))
298
+ self.pb_add_subjects.setText(QCoreApplication.translate("Dialog", u"Add subjects as modifiers", None))
299
+ self.pb_load_file.setText(QCoreApplication.translate("Dialog", u"Load modifiers from file", None))
300
+ self.pbCancel.setText(QCoreApplication.translate("Dialog", u"Cancel", None))
301
+ self.pbOK.setText(QCoreApplication.translate("Dialog", u"OK", None))
302
+ # retranslateUi
303
+