boris-behav-obs 8.16.5__py3-none-any.whl → 9.7.12__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 (126) hide show
  1. boris/__init__.py +1 -1
  2. boris/__main__.py +1 -1
  3. boris/about.py +28 -40
  4. boris/add_modifier.py +88 -80
  5. boris/add_modifier_ui.py +266 -144
  6. boris/advanced_event_filtering.py +23 -29
  7. boris/analysis_plugins/__init__.py +0 -0
  8. boris/analysis_plugins/_export_to_feral.py +225 -0
  9. boris/analysis_plugins/_latency.py +59 -0
  10. boris/analysis_plugins/irr_cohen_kappa.py +109 -0
  11. boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +112 -0
  12. boris/analysis_plugins/irr_weighted_cohen_kappa.py +157 -0
  13. boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +162 -0
  14. boris/analysis_plugins/list_of_dataframe_columns.py +22 -0
  15. boris/analysis_plugins/number_of_occurences.py +22 -0
  16. boris/analysis_plugins/number_of_occurences_by_independent_variable.py +54 -0
  17. boris/analysis_plugins/time_budget.py +61 -0
  18. boris/behav_coding_map_creator.py +235 -236
  19. boris/behavior_binary_table.py +33 -50
  20. boris/behaviors_coding_map.py +17 -18
  21. boris/boris_cli.py +6 -25
  22. boris/cmd_arguments.py +12 -1
  23. boris/coding_pad.py +19 -36
  24. boris/config.py +109 -50
  25. boris/config_file.py +58 -67
  26. boris/connections.py +105 -58
  27. boris/converters.py +13 -37
  28. boris/converters_ui.py +187 -110
  29. boris/cooccurence.py +250 -0
  30. boris/core.py +2174 -1303
  31. boris/core_qrc.py +15892 -10829
  32. boris/core_ui.py +941 -806
  33. boris/db_functions.py +17 -42
  34. boris/dev.py +27 -7
  35. boris/dialog.py +461 -242
  36. boris/duration_widget.py +9 -14
  37. boris/edit_event.py +61 -31
  38. boris/edit_event_ui.py +208 -97
  39. boris/event_operations.py +405 -281
  40. boris/events_cursor.py +25 -17
  41. boris/events_snapshots.py +36 -82
  42. boris/exclusion_matrix.py +4 -9
  43. boris/export_events.py +180 -203
  44. boris/export_observation.py +60 -73
  45. boris/external_processes.py +123 -98
  46. boris/geometric_measurement.py +427 -218
  47. boris/gui_utilities.py +91 -14
  48. boris/image_overlay.py +4 -4
  49. boris/import_observations.py +190 -98
  50. boris/ipc_mpv.py +325 -0
  51. boris/irr.py +20 -57
  52. boris/latency.py +31 -24
  53. boris/measurement_widget.py +14 -18
  54. boris/media_file.py +17 -19
  55. boris/menu_options.py +16 -6
  56. boris/modifier_coding_map_creator.py +1013 -0
  57. boris/modifiers_coding_map.py +7 -9
  58. boris/mpv2.py +128 -35
  59. boris/observation.py +501 -211
  60. boris/observation_operations.py +1037 -393
  61. boris/observation_ui.py +573 -363
  62. boris/observations_list.py +51 -58
  63. boris/otx_parser.py +74 -68
  64. boris/param_panel.py +45 -59
  65. boris/param_panel_ui.py +254 -138
  66. boris/player_dock_widget.py +91 -56
  67. boris/plot_data_module.py +20 -53
  68. boris/plot_events.py +56 -153
  69. boris/plot_events_rt.py +16 -30
  70. boris/plot_spectrogram_rt.py +83 -56
  71. boris/plot_waveform_rt.py +27 -49
  72. boris/plugins.py +468 -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 +307 -123
  80. boris/preferences_ui.py +686 -227
  81. boris/project.py +294 -271
  82. boris/project_functions.py +626 -537
  83. boris/project_import_export.py +204 -213
  84. boris/project_ui.py +673 -441
  85. boris/qrc_boris.py +6 -3
  86. boris/qrc_boris5.py +6 -3
  87. boris/select_modifiers.py +62 -90
  88. boris/select_observations.py +19 -197
  89. boris/select_subj_behav.py +67 -39
  90. boris/state_events.py +51 -33
  91. boris/subjects_pad.py +7 -9
  92. boris/synthetic_time_budget.py +42 -26
  93. boris/time_budget_functions.py +169 -169
  94. boris/time_budget_widget.py +77 -89
  95. boris/transitions.py +41 -41
  96. boris/utilities.py +594 -226
  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 +86 -28
  101. boris/view_df.py +104 -0
  102. boris/view_df_ui.py +75 -0
  103. boris/write_event.py +240 -136
  104. boris_behav_obs-9.7.12.dist-info/METADATA +139 -0
  105. boris_behav_obs-9.7.12.dist-info/RECORD +110 -0
  106. {boris_behav_obs-8.16.5.dist-info → boris_behav_obs-9.7.12.dist-info}/WHEEL +1 -1
  107. boris_behav_obs-9.7.12.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 -37
  112. boris/core.ui +0 -1571
  113. boris/edit_event.ui +0 -233
  114. boris/icons/logo_eye.ico +0 -0
  115. boris/map_creator.py +0 -982
  116. boris/observation.ui +0 -814
  117. boris/param_panel.ui +0 -379
  118. boris/preferences.ui +0 -537
  119. boris/project.ui +0 -1074
  120. boris/vlc_local.py +0 -90
  121. boris_behav_obs-8.16.5.dist-info/LICENSE.TXT +0 -674
  122. boris_behav_obs-8.16.5.dist-info/METADATA +0 -134
  123. boris_behav_obs-8.16.5.dist-info/RECORD +0 -107
  124. boris_behav_obs-8.16.5.dist-info/entry_points.txt +0 -2
  125. {boris → boris_behav_obs-9.7.12.dist-info/licenses}/LICENSE.TXT +0 -0
  126. {boris_behav_obs-8.16.5.dist-info → boris_behav_obs-9.7.12.dist-info}/top_level.txt +0 -0
boris/preferences.ui DELETED
@@ -1,537 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ui version="4.0">
3
- <class>prefDialog</class>
4
- <widget class="QDialog" name="prefDialog">
5
- <property name="windowModality">
6
- <enum>Qt::WindowModal</enum>
7
- </property>
8
- <property name="geometry">
9
- <rect>
10
- <x>0</x>
11
- <y>0</y>
12
- <width>719</width>
13
- <height>554</height>
14
- </rect>
15
- </property>
16
- <property name="windowTitle">
17
- <string>Preferences</string>
18
- </property>
19
- <layout class="QGridLayout" name="gridLayout">
20
- <item row="0" column="0">
21
- <layout class="QVBoxLayout" name="verticalLayout_2">
22
- <item>
23
- <widget class="QTabWidget" name="tabWidget">
24
- <property name="enabled">
25
- <bool>true</bool>
26
- </property>
27
- <property name="currentIndex">
28
- <number>1</number>
29
- </property>
30
- <widget class="QWidget" name="tab">
31
- <attribute name="title">
32
- <string>Project</string>
33
- </attribute>
34
- <layout class="QVBoxLayout" name="verticalLayout_5">
35
- <item>
36
- <layout class="QHBoxLayout" name="horizontalLayout_14">
37
- <item>
38
- <widget class="QLabel" name="label">
39
- <property name="text">
40
- <string>Default project time format</string>
41
- </property>
42
- </widget>
43
- </item>
44
- <item>
45
- <widget class="QComboBox" name="cbTimeFormat">
46
- <item>
47
- <property name="text">
48
- <string>seconds</string>
49
- </property>
50
- </item>
51
- <item>
52
- <property name="text">
53
- <string>hh:mm:ss.mss</string>
54
- </property>
55
- </item>
56
- </widget>
57
- </item>
58
- </layout>
59
- </item>
60
- <item>
61
- <layout class="QHBoxLayout" name="horizontalLayout_15">
62
- <item>
63
- <widget class="QLabel" name="label_6">
64
- <property name="text">
65
- <string>Auto-save project every (minutes)</string>
66
- </property>
67
- </widget>
68
- </item>
69
- <item>
70
- <widget class="QSpinBox" name="sbAutomaticBackup">
71
- <property name="minimum">
72
- <number>-10000</number>
73
- </property>
74
- <property name="maximum">
75
- <number>10000</number>
76
- </property>
77
- <property name="value">
78
- <number>10</number>
79
- </property>
80
- </widget>
81
- </item>
82
- </layout>
83
- </item>
84
- <item>
85
- <layout class="QHBoxLayout" name="horizontalLayout_13">
86
- <item>
87
- <widget class="QLabel" name="label_3">
88
- <property name="text">
89
- <string>Separator for behavioural strings (events export)</string>
90
- </property>
91
- </widget>
92
- </item>
93
- <item>
94
- <widget class="QLineEdit" name="leSeparator">
95
- <property name="text">
96
- <string>|</string>
97
- </property>
98
- </widget>
99
- </item>
100
- </layout>
101
- </item>
102
- <item>
103
- <widget class="QCheckBox" name="cbCheckForNewVersion">
104
- <property name="text">
105
- <string>Check for new version and news</string>
106
- </property>
107
- </widget>
108
- </item>
109
- <item>
110
- <layout class="QHBoxLayout" name="horizontalLayout_11">
111
- <item>
112
- <widget class="QLabel" name="lb_hwdec">
113
- <property name="text">
114
- <string>MPV player hardware video decoding</string>
115
- </property>
116
- </widget>
117
- </item>
118
- <item>
119
- <widget class="QComboBox" name="cb_hwdec"/>
120
- </item>
121
- </layout>
122
- </item>
123
- <item>
124
- <layout class="QHBoxLayout" name="horizontalLayout_9">
125
- <item>
126
- <widget class="QLabel" name="lb_project_file_indent">
127
- <property name="text">
128
- <string>Project file indentation type</string>
129
- </property>
130
- </widget>
131
- </item>
132
- <item>
133
- <widget class="QComboBox" name="combo_project_file_indentation"/>
134
- </item>
135
- </layout>
136
- </item>
137
- <item>
138
- <spacer name="verticalSpacer_2">
139
- <property name="orientation">
140
- <enum>Qt::Vertical</enum>
141
- </property>
142
- <property name="sizeHint" stdset="0">
143
- <size>
144
- <width>20</width>
145
- <height>40</height>
146
- </size>
147
- </property>
148
- </spacer>
149
- </item>
150
- </layout>
151
- </widget>
152
- <widget class="QWidget" name="tab_results">
153
- <attribute name="title">
154
- <string>Observations</string>
155
- </attribute>
156
- <layout class="QVBoxLayout" name="verticalLayout">
157
- <item>
158
- <layout class="QHBoxLayout" name="horizontalLayout_4">
159
- <item>
160
- <widget class="QLabel" name="label_4">
161
- <property name="text">
162
- <string>Fast forward/backward value (seconds)</string>
163
- </property>
164
- </widget>
165
- </item>
166
- <item>
167
- <widget class="QSpinBox" name="sbffSpeed">
168
- <property name="minimum">
169
- <number>0</number>
170
- </property>
171
- <property name="maximum">
172
- <number>10000</number>
173
- </property>
174
- <property name="value">
175
- <number>10</number>
176
- </property>
177
- </widget>
178
- </item>
179
- </layout>
180
- </item>
181
- <item>
182
- <widget class="QCheckBox" name="cb_adapt_fast_jump">
183
- <property name="text">
184
- <string>Adapt the fast forward/backward jump to playback speed</string>
185
- </property>
186
- </widget>
187
- </item>
188
- <item>
189
- <layout class="QHBoxLayout" name="horizontalLayout_5">
190
- <item>
191
- <widget class="QLabel" name="label_5">
192
- <property name="text">
193
- <string>Playback speed step value</string>
194
- </property>
195
- </widget>
196
- </item>
197
- <item>
198
- <widget class="QDoubleSpinBox" name="sbSpeedStep">
199
- <property name="decimals">
200
- <number>1</number>
201
- </property>
202
- <property name="minimum">
203
- <double>0.100000000000000</double>
204
- </property>
205
- <property name="maximum">
206
- <double>10.000000000000000</double>
207
- </property>
208
- <property name="singleStep">
209
- <double>0.100000000000000</double>
210
- </property>
211
- <property name="value">
212
- <double>0.100000000000000</double>
213
- </property>
214
- </widget>
215
- </item>
216
- </layout>
217
- </item>
218
- <item>
219
- <layout class="QHBoxLayout" name="horizontalLayout_6">
220
- <item>
221
- <widget class="QLabel" name="label_2">
222
- <property name="text">
223
- <string>Time offset for video/audio reposition (seconds)</string>
224
- </property>
225
- </widget>
226
- </item>
227
- <item>
228
- <widget class="QSpinBox" name="sbRepositionTimeOffset">
229
- <property name="minimum">
230
- <number>-10000</number>
231
- </property>
232
- <property name="maximum">
233
- <number>10000</number>
234
- </property>
235
- <property name="value">
236
- <number>-3</number>
237
- </property>
238
- </widget>
239
- </item>
240
- </layout>
241
- </item>
242
- <item>
243
- <widget class="QCheckBox" name="cbConfirmSound">
244
- <property name="text">
245
- <string>Play sound when a key is pressed</string>
246
- </property>
247
- </widget>
248
- </item>
249
- <item>
250
- <widget class="QCheckBox" name="cbCloseSameEvent">
251
- <property name="text">
252
- <string>Close the same current event independently of modifiers</string>
253
- </property>
254
- </widget>
255
- </item>
256
- <item>
257
- <layout class="QHBoxLayout" name="horizontalLayout_8">
258
- <item>
259
- <widget class="QLabel" name="label_8">
260
- <property name="text">
261
- <string>Beep every (seconds)</string>
262
- </property>
263
- </widget>
264
- </item>
265
- <item>
266
- <widget class="QSpinBox" name="sbBeepEvery"/>
267
- </item>
268
- </layout>
269
- </item>
270
- <item>
271
- <widget class="QCheckBox" name="cb_display_subtitles">
272
- <property name="text">
273
- <string>Display subtitles</string>
274
- </property>
275
- </widget>
276
- </item>
277
- <item>
278
- <widget class="QCheckBox" name="cbTrackingCursorAboveEvent">
279
- <property name="text">
280
- <string>Tracking cursor above current event</string>
281
- </property>
282
- </widget>
283
- </item>
284
- <item>
285
- <widget class="QCheckBox" name="cbAlertNoFocalSubject">
286
- <property name="text">
287
- <string>Alert if focal subject is not set</string>
288
- </property>
289
- </widget>
290
- </item>
291
- <item>
292
- <widget class="QCheckBox" name="cb_pause_before_addevent">
293
- <property name="text">
294
- <string>Pause media before &quot;Add event&quot; command</string>
295
- </property>
296
- </widget>
297
- </item>
298
- <item>
299
- <spacer name="verticalSpacer_4">
300
- <property name="orientation">
301
- <enum>Qt::Vertical</enum>
302
- </property>
303
- <property name="sizeHint" stdset="0">
304
- <size>
305
- <width>20</width>
306
- <height>391</height>
307
- </size>
308
- </property>
309
- </spacer>
310
- </item>
311
- </layout>
312
- </widget>
313
- <widget class="QWidget" name="tab_2">
314
- <attribute name="title">
315
- <string>FFmpeg framework</string>
316
- </attribute>
317
- <layout class="QVBoxLayout" name="verticalLayout_4">
318
- <item>
319
- <layout class="QVBoxLayout" name="verticalLayout_3">
320
- <item>
321
- <widget class="QLabel" name="lbFFmpegPath">
322
- <property name="text">
323
- <string>FFmpeg path:</string>
324
- </property>
325
- <property name="scaledContents">
326
- <bool>false</bool>
327
- </property>
328
- <property name="wordWrap">
329
- <bool>true</bool>
330
- </property>
331
- </widget>
332
- </item>
333
- <item>
334
- <layout class="QHBoxLayout" name="horizontalLayout"/>
335
- </item>
336
- <item>
337
- <layout class="QHBoxLayout" name="horizontalLayout_3">
338
- <item>
339
- <widget class="QLabel" name="lbFFmpegCacheDir">
340
- <property name="text">
341
- <string>FFmpeg cache directory</string>
342
- </property>
343
- </widget>
344
- </item>
345
- <item>
346
- <widget class="QLineEdit" name="leFFmpegCacheDir"/>
347
- </item>
348
- <item>
349
- <widget class="QPushButton" name="pbBrowseFFmpegCacheDir">
350
- <property name="text">
351
- <string>...</string>
352
- </property>
353
- </widget>
354
- </item>
355
- </layout>
356
- </item>
357
- <item>
358
- <spacer name="verticalSpacer">
359
- <property name="orientation">
360
- <enum>Qt::Vertical</enum>
361
- </property>
362
- <property name="sizeHint" stdset="0">
363
- <size>
364
- <width>20</width>
365
- <height>40</height>
366
- </size>
367
- </property>
368
- </spacer>
369
- </item>
370
- </layout>
371
- </item>
372
- </layout>
373
- </widget>
374
- <widget class="QWidget" name="tab_4">
375
- <attribute name="title">
376
- <string>Spectrogram/Wave form</string>
377
- </attribute>
378
- <layout class="QVBoxLayout" name="verticalLayout_8">
379
- <item>
380
- <layout class="QHBoxLayout" name="horizontalLayout_7">
381
- <item>
382
- <widget class="QLabel" name="label_7">
383
- <property name="text">
384
- <string>Spectrogram color map</string>
385
- </property>
386
- </widget>
387
- </item>
388
- <item>
389
- <widget class="QComboBox" name="cbSpectrogramColorMap"/>
390
- </item>
391
- </layout>
392
- </item>
393
- <item>
394
- <layout class="QHBoxLayout" name="horizontalLayout_10">
395
- <item>
396
- <widget class="QLabel" name="label_12">
397
- <property name="text">
398
- <string>Default time interval (s)</string>
399
- </property>
400
- </widget>
401
- </item>
402
- <item>
403
- <widget class="QSpinBox" name="sb_time_interval">
404
- <property name="minimum">
405
- <number>2</number>
406
- </property>
407
- <property name="maximum">
408
- <number>360</number>
409
- </property>
410
- <property name="value">
411
- <number>10</number>
412
- </property>
413
- </widget>
414
- </item>
415
- </layout>
416
- </item>
417
- <item>
418
- <spacer name="verticalSpacer_3">
419
- <property name="orientation">
420
- <enum>Qt::Vertical</enum>
421
- </property>
422
- <property name="sizeHint" stdset="0">
423
- <size>
424
- <width>20</width>
425
- <height>319</height>
426
- </size>
427
- </property>
428
- </spacer>
429
- </item>
430
- </layout>
431
- </widget>
432
- <widget class="QWidget" name="tab_5">
433
- <attribute name="title">
434
- <string>Plot colors</string>
435
- </attribute>
436
- <layout class="QVBoxLayout" name="verticalLayout_10">
437
- <item>
438
- <layout class="QHBoxLayout" name="horizontalLayout_12">
439
- <item>
440
- <layout class="QVBoxLayout" name="verticalLayout_6">
441
- <item>
442
- <widget class="QLabel" name="label_10">
443
- <property name="text">
444
- <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;List of colors for behaviors. See &lt;a href=&quot;https://matplotlib.org/api/colors_api.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;matplotlib colors&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
445
- </property>
446
- <property name="openExternalLinks">
447
- <bool>true</bool>
448
- </property>
449
- </widget>
450
- </item>
451
- <item>
452
- <widget class="QPlainTextEdit" name="te_behav_colors"/>
453
- </item>
454
- <item>
455
- <widget class="QPushButton" name="pb_reset_behav_colors">
456
- <property name="text">
457
- <string>Reset colors to default</string>
458
- </property>
459
- </widget>
460
- </item>
461
- </layout>
462
- </item>
463
- <item>
464
- <layout class="QVBoxLayout" name="verticalLayout_9">
465
- <item>
466
- <widget class="QLabel" name="label_11">
467
- <property name="text">
468
- <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;List of colors for behavioral categories. See &lt;a href=&quot;https://matplotlib.org/api/colors_api.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;matplotlib colors&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
469
- </property>
470
- <property name="openExternalLinks">
471
- <bool>true</bool>
472
- </property>
473
- </widget>
474
- </item>
475
- <item>
476
- <widget class="QPlainTextEdit" name="te_category_colors"/>
477
- </item>
478
- <item>
479
- <widget class="QPushButton" name="pb_reset_category_colors">
480
- <property name="text">
481
- <string>Reset colors to default</string>
482
- </property>
483
- </widget>
484
- </item>
485
- </layout>
486
- </item>
487
- </layout>
488
- </item>
489
- </layout>
490
- </widget>
491
- </widget>
492
- </item>
493
- <item>
494
- <layout class="QHBoxLayout" name="horizontalLayout_2">
495
- <item>
496
- <spacer name="horizontalSpacer">
497
- <property name="orientation">
498
- <enum>Qt::Horizontal</enum>
499
- </property>
500
- <property name="sizeHint" stdset="0">
501
- <size>
502
- <width>241</width>
503
- <height>20</height>
504
- </size>
505
- </property>
506
- </spacer>
507
- </item>
508
- <item>
509
- <widget class="QPushButton" name="pb_refresh">
510
- <property name="text">
511
- <string>Refresh</string>
512
- </property>
513
- </widget>
514
- </item>
515
- <item>
516
- <widget class="QPushButton" name="pbCancel">
517
- <property name="text">
518
- <string>Cancel</string>
519
- </property>
520
- </widget>
521
- </item>
522
- <item>
523
- <widget class="QPushButton" name="pbOK">
524
- <property name="text">
525
- <string>OK</string>
526
- </property>
527
- </widget>
528
- </item>
529
- </layout>
530
- </item>
531
- </layout>
532
- </item>
533
- </layout>
534
- </widget>
535
- <resources/>
536
- <connections/>
537
- </ui>