boris-behav-obs 9.0.1__py2.py3-none-any.whl → 9.0.4__py2.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 +2 -2
- boris/add_modifier.py +1 -1
- boris/add_modifier_ui.py +22 -22
- boris/advanced_event_filtering.py +1 -1
- boris/analysis_plugins/number_of_occurences.py +6 -3
- boris/analysis_plugins/number_of_occurences_by_independent_variable.py +6 -4
- boris/analysis_plugins/time_budget.py +24 -14
- 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 +16 -9
- boris/config_file.py +1 -1
- boris/connections.py +1 -1
- boris/converters.py +1 -1
- boris/cooccurence.py +1 -1
- boris/core.py +144 -176
- boris/db_functions.py +1 -1
- boris/dialog.py +10 -277
- boris/edit_event.py +8 -1
- boris/event_operations.py +1 -1
- boris/events_cursor.py +1 -1
- boris/events_snapshots.py +1 -1
- boris/exclusion_matrix.py +1 -1
- boris/export_events.py +1 -1
- 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/irr.py +1 -1
- boris/latency.py +1 -1
- boris/map_creator.py +1 -1
- boris/measurement_widget.py +1 -1
- boris/media_file.py +1 -1
- boris/menu_options.py +1 -1
- boris/modifiers_coding_map.py +1 -1
- boris/observation.py +1 -1
- boris/observation_operations.py +530 -425
- boris/observations_list.py +3 -3
- boris/otx_parser.py +1 -1
- boris/param_panel.py +1 -1
- boris/player_dock_widget.py +13 -9
- 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 +1 -1
- boris/plot_waveform_rt.py +1 -1
- boris/plugins.py +2 -2
- boris/preferences.py +6 -1
- boris/preferences_ui.py +7 -1
- boris/project.py +1 -1
- boris/project_functions.py +73 -76
- boris/project_import_export.py +1 -1
- boris/select_modifiers.py +1 -1
- boris/select_observations.py +6 -6
- boris/select_subj_behav.py +1 -1
- 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 +5 -5
- boris/transitions.py +1 -1
- boris/utilities.py +8 -8
- boris/version.py +3 -3
- boris/video_equalizer.py +1 -1
- boris/video_operations.py +1 -1
- boris/write_event.py +1 -1
- {boris_behav_obs-9.0.1.dist-info → boris_behav_obs-9.0.4.dist-info}/METADATA +1 -1
- boris_behav_obs-9.0.4.dist-info/RECORD +103 -0
- boris_behav_obs-9.0.1.dist-info/RECORD +0 -103
- {boris_behav_obs-9.0.1.dist-info → boris_behav_obs-9.0.4.dist-info}/LICENSE.TXT +0 -0
- {boris_behav_obs-9.0.1.dist-info → boris_behav_obs-9.0.4.dist-info}/WHEEL +0 -0
- {boris_behav_obs-9.0.1.dist-info → boris_behav_obs-9.0.4.dist-info}/entry_points.txt +0 -0
- {boris_behav_obs-9.0.1.dist-info → boris_behav_obs-9.0.4.dist-info}/top_level.txt +0 -0
boris/observations_list.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
BORIS
|
|
3
3
|
Behavioral Observation Research Interactive Software
|
|
4
|
-
Copyright 2012-
|
|
4
|
+
Copyright 2012-2025 Olivier Friard
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
This program is free software; you can redistribute it and/or modify
|
|
@@ -124,7 +124,7 @@ class observationsList_widget(QDialog):
|
|
|
124
124
|
self.pbUnSelectAll.clicked.connect(lambda: self.pbSelection_clicked("unselect"))
|
|
125
125
|
hbox2.addWidget(self.pbUnSelectAll)
|
|
126
126
|
|
|
127
|
-
self.pbCancel = QPushButton(
|
|
127
|
+
self.pbCancel = QPushButton(cfg.CANCEL, clicked=self.pbCancel_clicked)
|
|
128
128
|
hbox2.addWidget(self.pbCancel)
|
|
129
129
|
|
|
130
130
|
self.pbOpen = QPushButton("Start", clicked=self.pbOpen_clicked)
|
|
@@ -136,7 +136,7 @@ class observationsList_widget(QDialog):
|
|
|
136
136
|
self.pbEdit = QPushButton("Edit", clicked=self.pbEdit_clicked)
|
|
137
137
|
hbox2.addWidget(self.pbEdit)
|
|
138
138
|
|
|
139
|
-
self.pbOk = QPushButton(
|
|
139
|
+
self.pbOk = QPushButton(cfg.OK, clicked=self.pbOk_clicked)
|
|
140
140
|
hbox2.addWidget(self.pbOk)
|
|
141
141
|
|
|
142
142
|
self.gridLayout.addLayout(hbox2, 3, 0, 1, 3)
|
boris/otx_parser.py
CHANGED
boris/param_panel.py
CHANGED
boris/player_dock_widget.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
BORIS
|
|
3
3
|
Behavioral Observation Research Interactive Software
|
|
4
|
-
Copyright 2012-
|
|
4
|
+
Copyright 2012-2025 Olivier Friard
|
|
5
5
|
|
|
6
6
|
This file is part of BORIS.
|
|
7
7
|
|
|
@@ -24,10 +24,11 @@ import sys
|
|
|
24
24
|
import logging
|
|
25
25
|
import functools
|
|
26
26
|
from PySide6.QtWidgets import QLabel, QDockWidget, QWidget, QHBoxLayout, QVBoxLayout, QSlider, QSizePolicy, QStackedWidget, QToolButton
|
|
27
|
-
from PySide6.QtCore import Signal, QEvent, Qt
|
|
28
|
-
from PySide6.QtGui import QIcon, QAction
|
|
27
|
+
from PySide6.QtCore import Signal, QEvent, Qt
|
|
28
|
+
from PySide6.QtGui import QIcon, QAction
|
|
29
29
|
|
|
30
30
|
from . import mpv2 as mpv
|
|
31
|
+
import config as cfg
|
|
31
32
|
|
|
32
33
|
"""
|
|
33
34
|
try:
|
|
@@ -110,12 +111,15 @@ class DW_player(QDockWidget):
|
|
|
110
111
|
|
|
111
112
|
self.videoframe = QWidget(self)
|
|
112
113
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
114
|
+
if sys.platform.startswith(cfg.MACOS_CODE):
|
|
115
|
+
self.player = None
|
|
116
|
+
else:
|
|
117
|
+
self.player = mpv.MPV(
|
|
118
|
+
wid=str(int(self.videoframe.winId())),
|
|
119
|
+
vo="x11" if sys.platform.startswith("linux") else "",
|
|
120
|
+
log_handler=functools.partial(mpv_logger, self.id_),
|
|
121
|
+
loglevel="debug",
|
|
122
|
+
)
|
|
119
123
|
|
|
120
124
|
self.player.screenshot_format = "png"
|
|
121
125
|
self.hlayout.addWidget(self.videoframe)
|
boris/plot_data_module.py
CHANGED
boris/plot_events.py
CHANGED
boris/plot_events_rt.py
CHANGED
boris/plot_spectrogram_rt.py
CHANGED
boris/plot_waveform_rt.py
CHANGED
boris/plugins.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
BORIS
|
|
3
3
|
Behavioral Observation Research Interactive Software
|
|
4
|
-
Copyright 2012-
|
|
4
|
+
Copyright 2012-2025 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
|
|
@@ -76,4 +76,4 @@ def load_plugins(self):
|
|
|
76
76
|
if plugin_name is not None and plugin_name not in self.config_param.get(cfg.EXCLUDED_PLUGINS, set()):
|
|
77
77
|
self.config_param[cfg.ANALYSIS_PLUGINS][plugin_name] = str(file_)
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
logging.debug(f"{self.config_param.get(cfg.ANALYSIS_PLUGINS, {})=}")
|
boris/preferences.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
BORIS
|
|
3
3
|
Behavioral Observation Research Interactive Software
|
|
4
|
-
Copyright 2012-
|
|
4
|
+
Copyright 2012-2025 Olivier Friard
|
|
5
5
|
|
|
6
6
|
This file is part of BORIS.
|
|
7
7
|
|
|
@@ -196,6 +196,8 @@ def preferences(self):
|
|
|
196
196
|
)
|
|
197
197
|
except Exception:
|
|
198
198
|
preferencesWindow.cb_hwdec.setCurrentIndex(cfg.MPV_HWDEC_OPTIONS.index(cfg.MPV_HWDEC_DEFAULT_VALUE))
|
|
199
|
+
# check integrity
|
|
200
|
+
preferencesWindow.cb_check_integrity_at_opening.setChecked(self.config_param.get(cfg.CHECK_PROJECT_INTEGRITY, True))
|
|
199
201
|
|
|
200
202
|
# BORIS plugins
|
|
201
203
|
preferencesWindow.lv_all_plugins.itemClicked.connect(show_plugin_info)
|
|
@@ -353,6 +355,9 @@ def preferences(self):
|
|
|
353
355
|
# MPV hwdec
|
|
354
356
|
self.config_param[cfg.MPV_HWDEC] = cfg.MPV_HWDEC_OPTIONS[preferencesWindow.cb_hwdec.currentIndex()]
|
|
355
357
|
|
|
358
|
+
# check project integrity
|
|
359
|
+
self.config_param[cfg.CHECK_PROJECT_INTEGRITY] = preferencesWindow.cb_check_integrity_at_opening.isChecked()
|
|
360
|
+
|
|
356
361
|
# update BORIS analysis plugins
|
|
357
362
|
self.config_param[cfg.ANALYSIS_PLUGINS] = {}
|
|
358
363
|
self.config_param[cfg.EXCLUDED_PLUGINS] = set()
|
boris/preferences_ui.py
CHANGED
|
@@ -123,6 +123,11 @@ class Ui_prefDialog(object):
|
|
|
123
123
|
|
|
124
124
|
self.verticalLayout_5.addLayout(self.horizontalLayout_9)
|
|
125
125
|
|
|
126
|
+
self.cb_check_integrity_at_opening = QCheckBox(self.tab_project)
|
|
127
|
+
self.cb_check_integrity_at_opening.setObjectName(u"cb_check_integrity_at_opening")
|
|
128
|
+
|
|
129
|
+
self.verticalLayout_5.addWidget(self.cb_check_integrity_at_opening)
|
|
130
|
+
|
|
126
131
|
self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
|
127
132
|
|
|
128
133
|
self.verticalLayout_5.addItem(self.verticalSpacer_2)
|
|
@@ -505,7 +510,7 @@ class Ui_prefDialog(object):
|
|
|
505
510
|
|
|
506
511
|
self.retranslateUi(prefDialog)
|
|
507
512
|
|
|
508
|
-
self.tabWidget.setCurrentIndex(
|
|
513
|
+
self.tabWidget.setCurrentIndex(0)
|
|
509
514
|
|
|
510
515
|
|
|
511
516
|
QMetaObject.connectSlotsByName(prefDialog)
|
|
@@ -523,6 +528,7 @@ class Ui_prefDialog(object):
|
|
|
523
528
|
self.cbCheckForNewVersion.setText(QCoreApplication.translate("prefDialog", u"Check for new version and news", None))
|
|
524
529
|
self.lb_hwdec.setText(QCoreApplication.translate("prefDialog", u"MPV player hardware video decoding", None))
|
|
525
530
|
self.lb_project_file_indent.setText(QCoreApplication.translate("prefDialog", u"Project file indentation type", None))
|
|
531
|
+
self.cb_check_integrity_at_opening.setText(QCoreApplication.translate("prefDialog", u"Check project integrity when opening and saving project (recommended)", None))
|
|
526
532
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_project), QCoreApplication.translate("prefDialog", u"Project", None))
|
|
527
533
|
self.label_4.setText(QCoreApplication.translate("prefDialog", u"Fast forward/backward value (seconds)", None))
|
|
528
534
|
self.cb_adapt_fast_jump.setText(QCoreApplication.translate("prefDialog", u"Adapt the fast forward/backward jump to playback speed", None))
|