boris-behav-obs 9.6.4__tar.gz → 9.6.5__tar.gz
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_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/PKG-INFO +2 -2
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/README.md +1 -1
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/irr_cohen_kappa.py +15 -3
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +13 -2
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/irr_weighted_cohen_kappa.py +14 -3
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +14 -3
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/version.py +2 -2
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/PKG-INFO +2 -2
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/SOURCES.txt +0 -1
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/pyproject.toml +1 -1
- boris_behav_obs-9.6.4/boris/1.py +0 -45
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/LICENSE.TXT +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/MANIFEST.in +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/README.TXT +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/__init__.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/__main__.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/about.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/add_modifier.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/add_modifier_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/advanced_event_filtering.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/__init__.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/_latency.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/list_of_dataframe_columns.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/number_of_occurences.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/number_of_occurences_by_independent_variable.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/time_budget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/behav_coding_map_creator.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/behavior_binary_table.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/behaviors_coding_map.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/boris_cli.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/cmd_arguments.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/coding_pad.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/config.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/config_file.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/connections.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/converters.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/converters_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/cooccurence.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/core.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/core_qrc.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/core_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/db_functions.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/dev.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/dialog.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/duration_widget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/edit_event.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/edit_event_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/event_operations.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/events_cursor.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/events_snapshots.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/exclusion_matrix.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/export_events.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/export_observation.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/external_processes.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/geometric_measurement.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/gui_utilities.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/image_overlay.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/import_observations.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/irr.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/latency.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/measurement_widget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/media_file.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/menu_options.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/modifier_coding_map_creator.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/modifiers_coding_map.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/mpv-1.0.3.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/mpv.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/mpv2.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/observation.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/observation_operations.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/observation_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/observations_list.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/otx_parser.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/param_panel.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/param_panel_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/player_dock_widget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/plot_data_module.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/plot_events.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/plot_events_rt.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/plot_spectrogram_rt.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/plot_waveform_rt.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/plugins.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/portion/__init__.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/portion/const.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/portion/dict.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/portion/func.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/portion/interval.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/portion/io.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/preferences.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/preferences_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/project.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/project_functions.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/project_import_export.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/project_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/qrc_boris.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/qrc_boris5.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/select_modifiers.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/select_observations.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/select_subj_behav.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/state_events.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/subjects_pad.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/synthetic_time_budget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/time_budget_functions.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/time_budget_widget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/transitions.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/utilities.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/video_equalizer.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/video_equalizer_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/video_operations.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/view_df.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/view_df_ui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/write_event.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/dependency_links.txt +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/entry_points.txt +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/requires.txt +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/top_level.txt +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/setup.cfg +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_db_functions.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_export_observation.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_irr.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_observation_gui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_otx_parser.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_preferences_gui.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_project_functions.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_time_budget.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_utilities.py +0 -0
- {boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/tests/test_utilities2.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boris-behav-obs
|
|
3
|
-
Version: 9.6.
|
|
3
|
+
Version: 9.6.5
|
|
4
4
|
Summary: BORIS - Behavioral Observation Research Interactive Software
|
|
5
5
|
Author-email: Olivier Friard <olivier.friard@unito.it>
|
|
6
6
|
License-Expression: GPL-3.0-only
|
|
@@ -52,7 +52,7 @@ It provides also some analysis tools like time budget and some plotting function
|
|
|
52
52
|
<!-- The BO-RIS paper has more than [ citations](https://www.boris.unito.it/citations) in peer-reviewed scientific publications. -->
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
The BORIS paper has more than
|
|
55
|
+
The BORIS paper has more than 2336 citations in peer-reviewed scientific publications.
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
|
|
@@ -14,7 +14,7 @@ It provides also some analysis tools like time budget and some plotting function
|
|
|
14
14
|
<!-- The BO-RIS paper has more than [ citations](https://www.boris.unito.it/citations) in peer-reviewed scientific publications. -->
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
The BORIS paper has more than
|
|
17
|
+
The BORIS paper has more than 2336 citations in peer-reviewed scientific publications.
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
@@ -5,11 +5,14 @@ Inter Rater Reliability (IRR) Unweighted Cohen's Kappa
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import pandas as pd
|
|
8
|
-
from sklearn.metrics import cohen_kappa_score
|
|
9
8
|
from typing import Dict, Tuple
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
from sklearn.metrics import cohen_kappa_score
|
|
11
|
+
from PySide6.QtWidgets import QInputDialog
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
__version__ = "0.0.3"
|
|
15
|
+
__version_date__ = "2025-09-02"
|
|
13
16
|
__plugin_name__ = "Inter Rater Reliability - Unweighted Cohen's Kappa"
|
|
14
17
|
__author__ = "Olivier Friard - University of Torino - Italy"
|
|
15
18
|
__description__ = """
|
|
@@ -52,6 +55,15 @@ def run(df: pd.DataFrame) -> pd.DataFrame:
|
|
|
52
55
|
# Sort to ensure deterministic representation (e.g., "A+B" instead of "B+A")
|
|
53
56
|
return "+".join(sorted(active_codes))
|
|
54
57
|
|
|
58
|
+
# ask user for the number of decimal places for rounding (can be negative)
|
|
59
|
+
round_decimals, ok = QInputDialog.getInt(
|
|
60
|
+
None, "Rounding", "Enter the number of decimal places for rounding (can be negative)", value=3, minValue=-5, maxValue=3, step=1
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
# round times
|
|
64
|
+
df["Start (s)"] = df["Start (s)"].round(round_decimals)
|
|
65
|
+
df["Stop (s)"] = df["Stop (s)"].round(round_decimals)
|
|
66
|
+
|
|
55
67
|
# Get unique values
|
|
56
68
|
unique_obs_list = df["Observation id"].unique().tolist()
|
|
57
69
|
|
|
@@ -5,10 +5,12 @@ Inter Rater Reliability (IRR) Unweighted Cohen's Kappa with modifiers
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import pandas as pd
|
|
8
|
+
|
|
8
9
|
from sklearn.metrics import cohen_kappa_score
|
|
10
|
+
from PySide6.QtWidgets import QInputDialog
|
|
9
11
|
|
|
10
|
-
__version__ = "0.0.
|
|
11
|
-
__version_date__ = "2025-
|
|
12
|
+
__version__ = "0.0.3"
|
|
13
|
+
__version_date__ = "2025-09-02"
|
|
12
14
|
__plugin_name__ = "Inter Rater Reliability - Unweighted Cohen's Kappa with modifiers"
|
|
13
15
|
__author__ = "Olivier Friard - University of Torino - Italy"
|
|
14
16
|
__description__ = """
|
|
@@ -52,6 +54,15 @@ def run(df: pd.DataFrame):
|
|
|
52
54
|
# Sort to ensure deterministic representation (e.g., "A+B" instead of "B+A")
|
|
53
55
|
return "+".join(sorted(active_codes))
|
|
54
56
|
|
|
57
|
+
# ask user for the number of decimal places for rounding (can be negative)
|
|
58
|
+
round_decimals, ok = QInputDialog.getInt(
|
|
59
|
+
None, "Rounding", "Enter the number of decimal places for rounding (can be negative)", value=3, minValue=-5, maxValue=3, step=1
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
# round times
|
|
63
|
+
df["Start (s)"] = df["Start (s)"].round(round_decimals)
|
|
64
|
+
df["Stop (s)"] = df["Stop (s)"].round(round_decimals)
|
|
65
|
+
|
|
55
66
|
# Get unique values
|
|
56
67
|
unique_obs_list = df["Observation id"].unique().tolist()
|
|
57
68
|
|
{boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/irr_weighted_cohen_kappa.py
RENAMED
|
@@ -7,8 +7,10 @@ Inter Rater Reliability (IRR) Weighted Cohen's Kappa
|
|
|
7
7
|
import pandas as pd
|
|
8
8
|
from typing import List, Tuple, Dict, Optional
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
from PySide6.QtWidgets import QInputDialog
|
|
11
|
+
|
|
12
|
+
__version__ = "0.0.3"
|
|
13
|
+
__version_date__ = "2025-09-02"
|
|
12
14
|
__plugin_name__ = "Inter Rater Reliability - Weighted Cohen's Kappa"
|
|
13
15
|
__author__ = "Olivier Friard - University of Torino - Italy"
|
|
14
16
|
__description__ = """
|
|
@@ -72,7 +74,7 @@ def run(df: pd.DataFrame):
|
|
|
72
74
|
active_codes = [seg[2] for seg in obs if seg[0] <= t < seg[1]]
|
|
73
75
|
if not active_codes:
|
|
74
76
|
return None
|
|
75
|
-
return "+".join(sorted(active_codes))
|
|
77
|
+
return "+".join(sorted(active_codes))
|
|
76
78
|
|
|
77
79
|
# 4. Build weighted contingency table (durations instead of counts)
|
|
78
80
|
contingency: Dict[Tuple[Optional[str], Optional[str]], float] = {}
|
|
@@ -104,6 +106,15 @@ def run(df: pd.DataFrame):
|
|
|
104
106
|
|
|
105
107
|
return kappa, po, pe, contingency
|
|
106
108
|
|
|
109
|
+
# ask user for the number of decimal places for rounding (can be negative)
|
|
110
|
+
round_decimals, ok = QInputDialog.getInt(
|
|
111
|
+
None, "Rounding", "Enter the number of decimal places for rounding (can be negative)", value=3, minValue=-5, maxValue=3, step=1
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
# round times
|
|
115
|
+
df["Start (s)"] = df["Start (s)"].round(round_decimals)
|
|
116
|
+
df["Stop (s)"] = df["Stop (s)"].round(round_decimals)
|
|
117
|
+
|
|
107
118
|
# Get unique values as a numpy array
|
|
108
119
|
unique_obs = df["Observation id"].unique()
|
|
109
120
|
|
|
@@ -7,8 +7,10 @@ Inter Rater Reliability (IRR) Weighted Cohen's Kappa with modifiers
|
|
|
7
7
|
import pandas as pd
|
|
8
8
|
from typing import List, Tuple, Dict, Optional
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
from PySide6.QtWidgets import QInputDialog
|
|
11
|
+
|
|
12
|
+
__version__ = "0.0.3"
|
|
13
|
+
__version_date__ = "2025-09-02"
|
|
12
14
|
__plugin_name__ = "Inter Rater Reliability - Weighted Cohen's Kappa with modifiers"
|
|
13
15
|
__author__ = "Olivier Friard - University of Torino - Italy"
|
|
14
16
|
__description__ = """
|
|
@@ -72,7 +74,7 @@ def run(df: pd.DataFrame):
|
|
|
72
74
|
active_codes = [seg[2] for seg in obs if seg[0] <= t < seg[1]]
|
|
73
75
|
if not active_codes:
|
|
74
76
|
return None
|
|
75
|
-
return "+".join(sorted(active_codes))
|
|
77
|
+
return "+".join(sorted(active_codes))
|
|
76
78
|
|
|
77
79
|
# 4. Build weighted contingency table (durations instead of counts)
|
|
78
80
|
contingency: Dict[Tuple[Optional[str], Optional[str]], float] = {}
|
|
@@ -104,6 +106,15 @@ def run(df: pd.DataFrame):
|
|
|
104
106
|
|
|
105
107
|
return kappa, po, pe, contingency
|
|
106
108
|
|
|
109
|
+
# ask user for the number of decimal places for rounding (can be negative)
|
|
110
|
+
round_decimals, ok = QInputDialog.getInt(
|
|
111
|
+
None, "Rounding", "Enter the number of decimal places for rounding (can be negative)", value=3, minValue=-5, maxValue=3, step=1
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
# round times
|
|
115
|
+
df["Start (s)"] = df["Start (s)"].round(round_decimals)
|
|
116
|
+
df["Stop (s)"] = df["Stop (s)"].round(round_decimals)
|
|
117
|
+
|
|
107
118
|
# Get unique values as a numpy array
|
|
108
119
|
unique_obs = df["Observation id"].unique()
|
|
109
120
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boris-behav-obs
|
|
3
|
-
Version: 9.6.
|
|
3
|
+
Version: 9.6.5
|
|
4
4
|
Summary: BORIS - Behavioral Observation Research Interactive Software
|
|
5
5
|
Author-email: Olivier Friard <olivier.friard@unito.it>
|
|
6
6
|
License-Expression: GPL-3.0-only
|
|
@@ -52,7 +52,7 @@ It provides also some analysis tools like time budget and some plotting function
|
|
|
52
52
|
<!-- The BO-RIS paper has more than [ citations](https://www.boris.unito.it/citations) in peer-reviewed scientific publications. -->
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
The BORIS paper has more than
|
|
55
|
+
The BORIS paper has more than 2336 citations in peer-reviewed scientific publications.
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
|
boris_behav_obs-9.6.4/boris/1.py
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import time
|
|
2
|
-
from PIL import Image, ImageDraw, ImageFont
|
|
3
|
-
import mpv
|
|
4
|
-
|
|
5
|
-
player = mpv.MPV()
|
|
6
|
-
|
|
7
|
-
player.loop = True
|
|
8
|
-
player.play('/home/olivier/gdrive_sync/src/python/generate_video_test/video1.mp4')
|
|
9
|
-
player.wait_until_playing()
|
|
10
|
-
|
|
11
|
-
font = ImageFont.truetype('DejaVuSans.ttf', 40)
|
|
12
|
-
|
|
13
|
-
overlay = player.create_image_overlay()
|
|
14
|
-
|
|
15
|
-
img = Image.new('RGBA', (400, 150), (255, 255, 255, 0))
|
|
16
|
-
d = ImageDraw.Draw(img)
|
|
17
|
-
d.text((10, 10), 'Hello World', font=font, fill=(0, 255, 255, 128))
|
|
18
|
-
#d.text((10, 60), f't={ts:.3f}', font=font, fill=(255, 0, 255, 255))
|
|
19
|
-
|
|
20
|
-
pos = 100
|
|
21
|
-
|
|
22
|
-
overlay.update(img, pos=(2*pos, pos))
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
while not player.core_idle:
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
'''
|
|
30
|
-
for pos in range(0, 500, 5):
|
|
31
|
-
ts = player.time_pos
|
|
32
|
-
if ts is None:
|
|
33
|
-
break
|
|
34
|
-
|
|
35
|
-
img = Image.new('RGBA', (400, 150), (255, 255, 255, 0))
|
|
36
|
-
d = ImageDraw.Draw(img)
|
|
37
|
-
d.text((10, 10), 'Hello World', font=font, fill=(0, 255, 255, 128))
|
|
38
|
-
d.text((10, 60), f't={ts:.3f}', font=font, fill=(255, 0, 255, 255))
|
|
39
|
-
|
|
40
|
-
overlay.update(img, pos=(2*pos, pos))
|
|
41
|
-
time.sleep(0.05)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
overlay.remove()
|
|
45
|
-
'''
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/list_of_dataframe_columns.py
RENAMED
|
File without changes
|
{boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris/analysis_plugins/number_of_occurences.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boris_behav_obs-9.6.4 → boris_behav_obs-9.6.5}/boris_behav_obs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|