boris-behav-obs 9.7.13__py3-none-any.whl → 9.8__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.
- boris/__init__.py +1 -1
- boris/__main__.py +1 -1
- boris/about.py +4 -3
- boris/add_modifier.py +1 -1
- boris/advanced_event_filtering.py +1 -1
- boris/analysis_plugins/export_to_feral.py +336 -0
- boris/analysis_plugins/irr_weighted_cohen_kappa.py +2 -2
- boris/behav_coding_map_creator.py +1 -1
- boris/behavior_binary_table.py +1 -1
- boris/behaviors_coding_map.py +1 -1
- boris/boris_cli.py +1 -1
- boris/cmd_arguments.py +1 -1
- boris/coding_pad.py +1 -1
- boris/config.py +8 -3
- boris/config_file.py +18 -19
- boris/connections.py +12 -13
- boris/converters.py +1 -1
- boris/converters_ui.py +2 -3
- boris/cooccurence.py +1 -1
- boris/core.py +167 -164
- boris/core_qrc.py +1830 -1967
- boris/core_ui.py +1 -1
- boris/db_functions.py +5 -14
- boris/dialog.py +1 -1
- boris/edit_event.py +1 -1
- boris/event_operations.py +1 -1
- boris/events_cursor.py +1 -1
- boris/events_snapshots.py +84 -60
- boris/exclusion_matrix.py +1 -1
- boris/export_events.py +49 -43
- boris/export_observation.py +1 -1
- boris/external_processes.py +1 -1
- boris/geometric_measurement.py +1 -1
- boris/gui_utilities.py +1 -1
- boris/image_overlay.py +1 -1
- boris/import_observations.py +1 -1
- boris/ipc_mpv.py +1 -1
- boris/irr.py +1 -1
- boris/latency.py +1 -1
- boris/measurement_widget.py +1 -1
- boris/media_file.py +1 -1
- boris/menu_options.py +14 -12
- boris/modifier_coding_map_creator.py +1 -1
- boris/modifiers_coding_map.py +1 -1
- boris/observation.py +13 -14
- boris/observation_operations.py +1 -1
- boris/observations_list.py +1 -1
- boris/otx_parser.py +1 -1
- boris/param_panel.py +1 -1
- boris/player_dock_widget.py +1 -1
- boris/plot_data_module.py +1 -1
- boris/plot_events.py +1 -1
- boris/plot_events_rt.py +1 -1
- boris/plot_spectrogram_rt.py +42 -73
- boris/plot_waveform_rt.py +1 -1
- boris/plugins.py +1 -1
- boris/preferences.py +35 -4
- boris/preferences_ui.py +48 -18
- boris/project.py +1 -1
- boris/project_functions.py +19 -22
- boris/project_import_export.py +1 -1
- boris/select_modifiers.py +1 -1
- boris/select_observations.py +22 -23
- boris/select_subj_behav.py +4 -4
- boris/state_events.py +1 -1
- boris/subjects_pad.py +1 -1
- boris/synthetic_time_budget.py +1 -1
- boris/time_budget_functions.py +1 -1
- boris/time_budget_widget.py +1 -1
- boris/transitions.py +1 -1
- boris/utilities.py +1 -1
- boris/version.py +3 -3
- boris/video_equalizer.py +1 -1
- boris/video_operations.py +1 -1
- boris/view_df.py +28 -4
- boris/write_event.py +1 -1
- {boris_behav_obs-9.7.13.dist-info → boris_behav_obs-9.8.dist-info}/METADATA +2 -2
- boris_behav_obs-9.8.dist-info/RECORD +110 -0
- {boris_behav_obs-9.7.13.dist-info → boris_behav_obs-9.8.dist-info}/WHEEL +1 -1
- boris/analysis_plugins/_export_to_feral.py +0 -225
- boris_behav_obs-9.7.13.dist-info/RECORD +0 -110
- {boris_behav_obs-9.7.13.dist-info → boris_behav_obs-9.8.dist-info}/entry_points.txt +0 -0
- {boris_behav_obs-9.7.13.dist-info → boris_behav_obs-9.8.dist-info}/licenses/LICENSE.TXT +0 -0
- {boris_behav_obs-9.7.13.dist-info → boris_behav_obs-9.8.dist-info}/top_level.txt +0 -0
boris/connections.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
BORIS
|
|
3
3
|
Behavioral Observation Research Interactive Software
|
|
4
|
-
Copyright 2012-
|
|
4
|
+
Copyright 2012-2026 Olivier Friard
|
|
5
5
|
|
|
6
6
|
This program is free software; you can redistribute it and/or modify
|
|
7
7
|
it under the terms of the GNU General Public License as published by
|
|
@@ -22,35 +22,34 @@ Copyright 2012-2025 Olivier Friard
|
|
|
22
22
|
from PySide6.QtCore import Qt, QTimer
|
|
23
23
|
from PySide6.QtGui import QAction
|
|
24
24
|
|
|
25
|
-
from . import config as cfg
|
|
26
25
|
from . import (
|
|
27
26
|
about,
|
|
28
27
|
behav_coding_map_creator,
|
|
29
28
|
behavior_binary_table,
|
|
30
29
|
behaviors_coding_map,
|
|
31
30
|
coding_pad,
|
|
31
|
+
cooccurence,
|
|
32
32
|
event_operations,
|
|
33
33
|
events_snapshots,
|
|
34
34
|
export_events,
|
|
35
|
+
external_processes,
|
|
35
36
|
geometric_measurement,
|
|
36
37
|
image_overlay,
|
|
37
38
|
import_observations,
|
|
38
39
|
irr,
|
|
39
40
|
latency,
|
|
40
|
-
cooccurence,
|
|
41
41
|
media_file,
|
|
42
42
|
observation_operations,
|
|
43
43
|
preferences,
|
|
44
|
+
project_functions,
|
|
44
45
|
project_import_export,
|
|
45
46
|
synthetic_time_budget,
|
|
46
47
|
time_budget_widget,
|
|
47
48
|
transitions,
|
|
48
49
|
video_equalizer,
|
|
49
50
|
video_operations,
|
|
50
|
-
project_functions,
|
|
51
|
-
external_processes,
|
|
52
51
|
)
|
|
53
|
-
|
|
52
|
+
from . import config as cfg
|
|
54
53
|
from . import state_events as state_events
|
|
55
54
|
|
|
56
55
|
|
|
@@ -151,8 +150,8 @@ def connections(self):
|
|
|
151
150
|
self.actionExport_events_as_Praat_TextGrid.triggered.connect(lambda: export_events.export_events_as_textgrid(self))
|
|
152
151
|
self.actionJWatcher.triggered.connect(lambda: export_events.export_tabular_events(self, "jwatcher"))
|
|
153
152
|
|
|
154
|
-
self.actionExtract_events_from_media_files.triggered.connect(lambda: events_snapshots.
|
|
155
|
-
self.actionExtract_frames_from_media_files.triggered.connect(lambda: events_snapshots.
|
|
153
|
+
self.actionExtract_events_from_media_files.triggered.connect(lambda: events_snapshots.extract_media_clips(self))
|
|
154
|
+
self.actionExtract_frames_from_media_files.triggered.connect(lambda: events_snapshots.extract_media_snapshots(self))
|
|
156
155
|
|
|
157
156
|
self.actionCohen_s_kappa.triggered.connect(lambda: irr.irr_cohen_kappa(self))
|
|
158
157
|
self.actionNeedleman_Wunsch.triggered.connect(lambda: irr.needleman_wunch(self))
|
|
@@ -268,7 +267,7 @@ def connections(self):
|
|
|
268
267
|
self.tv_events.doubleClicked.connect(self.tv_events_doubleClicked)
|
|
269
268
|
|
|
270
269
|
# Actions for twEthogram context menu
|
|
271
|
-
self.twEthogram.setContextMenuPolicy(Qt.ActionsContextMenu)
|
|
270
|
+
self.twEthogram.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
|
|
272
271
|
self.twEthogram.horizontalHeader().sortIndicatorChanged.connect(self.twEthogram_sorted)
|
|
273
272
|
|
|
274
273
|
self.actionViewBehavior.triggered.connect(self.view_behavior)
|
|
@@ -283,7 +282,7 @@ def connections(self):
|
|
|
283
282
|
self.twEthogram.addAction(self.actionShowAllBehaviors)
|
|
284
283
|
|
|
285
284
|
# Actions for twSubjects context menu
|
|
286
|
-
self.twSubjects.setContextMenuPolicy(Qt.ActionsContextMenu)
|
|
285
|
+
self.twSubjects.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
|
|
287
286
|
self.twSubjects.horizontalHeader().sortIndicatorChanged.connect(self.sort_twSubjects)
|
|
288
287
|
self.actionFilterSubjects.triggered.connect(self.filter_subjects)
|
|
289
288
|
self.twSubjects.addAction(self.actionFilterSubjects)
|
|
@@ -297,7 +296,7 @@ def connections(self):
|
|
|
297
296
|
# tw_headers.addAction(self.actionConfigure_twEvents_columns)
|
|
298
297
|
|
|
299
298
|
tv_headers = self.tv_events.horizontalHeader()
|
|
300
|
-
tv_headers.setContextMenuPolicy(Qt.ActionsContextMenu)
|
|
299
|
+
tv_headers.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
|
|
301
300
|
tv_headers.addAction(self.actionConfigure_tvevents_columns)
|
|
302
301
|
|
|
303
302
|
# Actions for twEvents menu
|
|
@@ -340,7 +339,7 @@ def connections(self):
|
|
|
340
339
|
# self.twEvents.addAction(self.actionDelete_selected_events)
|
|
341
340
|
|
|
342
341
|
# Actions for tv_events menu
|
|
343
|
-
self.tv_events.setContextMenuPolicy(Qt.ActionsContextMenu)
|
|
342
|
+
self.tv_events.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
|
|
344
343
|
|
|
345
344
|
self.tv_events.addAction(self.actionAdd_event)
|
|
346
345
|
self.tv_events.addAction(self.actionEdit_selected_events)
|
|
@@ -385,7 +384,7 @@ def connections(self):
|
|
|
385
384
|
# Actions for twSubjects context menu
|
|
386
385
|
self.actionDeselectCurrentSubject.triggered.connect(lambda: self.update_subject(""))
|
|
387
386
|
|
|
388
|
-
self.twSubjects.setContextMenuPolicy(Qt.ActionsContextMenu)
|
|
387
|
+
self.twSubjects.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
|
|
389
388
|
self.twSubjects.addAction(self.actionDeselectCurrentSubject)
|
|
390
389
|
|
|
391
390
|
# subjects
|
boris/converters.py
CHANGED
boris/converters_ui.py
CHANGED
|
@@ -42,8 +42,8 @@ class Ui_converters(object):
|
|
|
42
42
|
__qtablewidgetitem2 = QTableWidgetItem()
|
|
43
43
|
self.tw_converters.setHorizontalHeaderItem(2, __qtablewidgetitem2)
|
|
44
44
|
self.tw_converters.setObjectName(u"tw_converters")
|
|
45
|
-
self.tw_converters.setEditTriggers(QAbstractItemView.NoEditTriggers)
|
|
46
|
-
self.tw_converters.setSelectionMode(QAbstractItemView.SingleSelection)
|
|
45
|
+
self.tw_converters.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
|
46
|
+
self.tw_converters.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
|
|
47
47
|
self.tw_converters.setSelectionBehavior(QAbstractItemView.SelectRows)
|
|
48
48
|
self.tw_converters.setSortingEnabled(True)
|
|
49
49
|
|
|
@@ -222,4 +222,3 @@ class Ui_converters(object):
|
|
|
222
222
|
self.pb_cancel_widget.setText(QCoreApplication.translate("converters", u"Cancel", None))
|
|
223
223
|
self.pbOK.setText(QCoreApplication.translate("converters", u"OK", None))
|
|
224
224
|
# retranslateUi
|
|
225
|
-
|
boris/cooccurence.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
BORIS
|
|
3
3
|
Behavioral Observation Research Interactive Software
|
|
4
|
-
Copyright 2012-
|
|
4
|
+
Copyright 2012-2026 Olivier Friard
|
|
5
5
|
|
|
6
6
|
This program is free software; you can redistribute it and/or modify
|
|
7
7
|
it under the terms of the GNU General Public License as published by
|