boris-behav-obs 9.0.7__tar.gz → 9.1__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.0.7 → boris_behav_obs-9.1}/PKG-INFO +1 -1
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/advanced_event_filtering.py +9 -4
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/analysis_plugins/number_of_occurences.py +1 -2
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/analysis_plugins/time_budget.py +1 -3
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/behavior_binary_table.py +12 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/config.py +5 -4
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/config_file.py +8 -8
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/cooccurence.py +9 -1
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/core.py +178 -62
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/event_operations.py +3 -5
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/events_snapshots.py +5 -5
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/export_events.py +29 -13
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/export_observation.py +17 -2
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/observation_operations.py +37 -1
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/param_panel.py +12 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/param_panel_ui.py +6 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/plot_events.py +13 -6
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/project_functions.py +22 -12
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/project_import_export.py +9 -9
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/select_observations.py +1 -3
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/select_subj_behav.py +12 -1
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/synthetic_time_budget.py +8 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/time_budget_functions.py +20 -15
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/time_budget_widget.py +18 -7
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/utilities.py +4 -4
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/version.py +2 -2
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/write_event.py +2 -1
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris_behav_obs.egg-info/PKG-INFO +1 -1
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/pyproject.toml +2 -6
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/LICENSE.TXT +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/MANIFEST.in +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/README.TXT +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/README.md +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/__init__.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/__main__.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/about.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/add_modifier.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/add_modifier_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/analysis_plugins/__init__.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/analysis_plugins/number_of_occurences_by_independent_variable.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/behav_coding_map_creator.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/behaviors_coding_map.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/boris_cli.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/cmd_arguments.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/coding_pad.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/connections.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/converters.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/converters_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/core_qrc.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/core_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/db_functions.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/dev.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/dialog.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/duration_widget.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/edit_event.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/edit_event_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/events_cursor.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/exclusion_matrix.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/external_processes.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/geometric_measurement.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/gui_utilities.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/image_overlay.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/import_observations.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/irr.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/latency.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/map_creator.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/measurement_widget.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/media_file.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/menu_options.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/modifiers_coding_map.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/mpv-1.0.3.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/mpv.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/mpv2.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/observation.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/observation_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/observations_list.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/otx_parser.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/player_dock_widget.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/plot_data_module.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/plot_events_rt.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/plot_spectrogram_rt.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/plot_waveform_rt.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/plugins.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/portion/__init__.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/portion/const.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/portion/dict.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/portion/func.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/portion/interval.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/portion/io.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/preferences.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/preferences_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/project.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/project_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/qrc_boris.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/qrc_boris5.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/select_modifiers.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/state_events.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/subjects_pad.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/transitions.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/video_equalizer.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/video_equalizer_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/video_operations.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/view_df.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/view_df_ui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris_behav_obs.egg-info/SOURCES.txt +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris_behav_obs.egg-info/dependency_links.txt +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris_behav_obs.egg-info/entry_points.txt +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris_behav_obs.egg-info/requires.txt +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris_behav_obs.egg-info/top_level.txt +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/setup.cfg +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_db_functions.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_export_observation.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_irr.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_observation_gui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_otx_parser.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_preferences_gui.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_project_functions.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_time_budget.py +0 -0
- {boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/tests/test_utilities.py +0 -0
|
@@ -235,7 +235,7 @@ class Advanced_event_filtering_dialog(QDialog):
|
|
|
235
235
|
self.tw.clear()
|
|
236
236
|
|
|
237
237
|
if flag_error or self.rb_details.isChecked():
|
|
238
|
-
self.lb_results.setText(f"Results ({len(self.out)} event{'s'*(len(self.out) > 1)})")
|
|
238
|
+
self.lb_results.setText(f"Results ({len(self.out)} event{'s' * (len(self.out) > 1)})")
|
|
239
239
|
|
|
240
240
|
self.tw.setRowCount(len(self.out))
|
|
241
241
|
self.tw.setColumnCount(len(self.details_header)) # obs_id, comment, start, stop, duration
|
|
@@ -261,7 +261,7 @@ class Advanced_event_filtering_dialog(QDialog):
|
|
|
261
261
|
]
|
|
262
262
|
)
|
|
263
263
|
|
|
264
|
-
self.lb_results.setText(f"Results ({len(summary)} observation{'s'*(len(summary) > 1)})")
|
|
264
|
+
self.lb_results.setText(f"Results ({len(summary)} observation{'s' * (len(summary) > 1)})")
|
|
265
265
|
self.tw.setRowCount(len(summary))
|
|
266
266
|
self.tw.setColumnCount(len(self.summary_header)) # obs_id, mean, stdev
|
|
267
267
|
self.tw.setHorizontalHeaderLabels(self.summary_header)
|
|
@@ -352,17 +352,22 @@ def event_filtering(self):
|
|
|
352
352
|
|
|
353
353
|
max_media_duration_all_obs, _ = observation_operations.media_duration(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
354
354
|
|
|
355
|
+
start_interval, end_interval = observation_operations.time_intervals_range(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
356
|
+
|
|
355
357
|
parameters = select_subj_behav.choose_obs_subj_behav_category(
|
|
356
358
|
self,
|
|
357
359
|
selected_observations,
|
|
358
360
|
start_coding=start_coding,
|
|
359
361
|
end_coding=end_coding,
|
|
362
|
+
start_interval=start_interval,
|
|
363
|
+
end_interval=end_interval,
|
|
360
364
|
maxTime=max_media_duration_all_obs,
|
|
361
365
|
show_include_modifiers=False,
|
|
362
366
|
show_exclude_non_coded_behaviors=False,
|
|
363
367
|
by_category=False,
|
|
364
368
|
n_observations=len(selected_observations),
|
|
365
369
|
)
|
|
370
|
+
|
|
366
371
|
if parameters == {}:
|
|
367
372
|
return
|
|
368
373
|
|
|
@@ -380,7 +385,7 @@ def event_filtering(self):
|
|
|
380
385
|
cursor.execute("SELECT MIN(start), MAX(stop) FROM aggregated_events")
|
|
381
386
|
min_time, max_time = cursor.fetchone()
|
|
382
387
|
|
|
383
|
-
if parameters[cfg.TIME_INTERVAL]
|
|
388
|
+
if parameters[cfg.TIME_INTERVAL] in (cfg.TIME_ARBITRARY_INTERVAL, cfg.TIME_OBS_INTERVAL):
|
|
384
389
|
min_time = float(parameters[cfg.START_TIME])
|
|
385
390
|
max_time = float(parameters[cfg.END_TIME])
|
|
386
391
|
|
|
@@ -443,6 +448,6 @@ def event_filtering(self):
|
|
|
443
448
|
|
|
444
449
|
w = Advanced_event_filtering_dialog(events)
|
|
445
450
|
w.lb_time_interval.setText(
|
|
446
|
-
("Time interval:
|
|
451
|
+
(f"Time interval: {util.smart_time_format(min_time, self.timeFormat)} - {util.smart_time_format(max_time, self.timeFormat)}")
|
|
447
452
|
)
|
|
448
453
|
w.exec_()
|
{boris_behav_obs-9.0.7 → boris_behav_obs-9.1}/boris/analysis_plugins/number_of_occurences.py
RENAMED
|
@@ -17,10 +17,9 @@ def run(df: pd.DataFrame):
|
|
|
17
17
|
Calculate the number of occurrences of behaviors by subject.
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
string_results: str = ""
|
|
21
20
|
df_results: pd.DataFrame = df.groupby(["Subject", "Behavior"])["Behavior"].count().reset_index(name="number of occurences")
|
|
22
21
|
|
|
23
|
-
return df_results
|
|
22
|
+
return df_results
|
|
24
23
|
|
|
25
24
|
|
|
26
25
|
def main(df: pd.DataFrame, observations_list: list = [], parameters: dict = {}) -> pd.DataFrame:
|
|
@@ -26,8 +26,6 @@ def run(df: pd.DataFrame):
|
|
|
26
26
|
- % of total subject observation duration
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
|
-
string_results: str = "test\ntest1"
|
|
30
|
-
|
|
31
29
|
group_by = ["Subject", "Behavior"]
|
|
32
30
|
|
|
33
31
|
dfs = [
|
|
@@ -60,7 +58,7 @@ def run(df: pd.DataFrame):
|
|
|
60
58
|
for df in dfs[1:]:
|
|
61
59
|
merged_df = pd.merge(merged_df, df, on=group_by)
|
|
62
60
|
|
|
63
|
-
return merged_df
|
|
61
|
+
return merged_df
|
|
64
62
|
|
|
65
63
|
|
|
66
64
|
def main(df: pd.DataFrame, observations_list: list = [], parameters: dict = {}) -> pd.DataFrame:
|
|
@@ -79,6 +79,14 @@ def create_behavior_binary_table(pj: dict, selected_observations: list, paramete
|
|
|
79
79
|
max_obs_length, _ = observation_operations.observation_length(pj, [obs_id])
|
|
80
80
|
end_time = dec(max_obs_length)
|
|
81
81
|
|
|
82
|
+
if parameters_obs["time"] == cfg.TIME_OBS_INTERVAL:
|
|
83
|
+
obs_interval = pj[cfg.OBSERVATIONS][obs_id][cfg.OBSERVATION_TIME_INTERVAL]
|
|
84
|
+
offset = pj[cfg.OBSERVATIONS][obs_id][cfg.TIME_OFFSET]
|
|
85
|
+
start_time = dec(obs_interval[0]) + offset
|
|
86
|
+
# Use max observation length for end time if no interval is defined (=0)
|
|
87
|
+
max_obs_length, _ = observation_operations.observation_length(pj, [obs_id])
|
|
88
|
+
end_time = dec(obs_interval[1]) + offset if obs_interval[1] != 0 else dec(max_obs_length)
|
|
89
|
+
|
|
82
90
|
if obs_id not in results_df:
|
|
83
91
|
results_df[obs_id] = {}
|
|
84
92
|
|
|
@@ -201,11 +209,15 @@ def behavior_binary_table(self):
|
|
|
201
209
|
|
|
202
210
|
start_coding, end_coding, _ = observation_operations.coding_time(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
203
211
|
|
|
212
|
+
start_interval, end_interval = observation_operations.time_intervals_range(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
213
|
+
|
|
204
214
|
parameters = select_subj_behav.choose_obs_subj_behav_category(
|
|
205
215
|
self,
|
|
206
216
|
selected_observations,
|
|
207
217
|
start_coding=start_coding,
|
|
208
218
|
end_coding=end_coding,
|
|
219
|
+
start_interval=start_interval,
|
|
220
|
+
end_interval=end_interval,
|
|
209
221
|
maxTime=max_media_duration_all_obs,
|
|
210
222
|
show_include_modifiers=True,
|
|
211
223
|
show_exclude_non_coded_behaviors=True,
|
|
@@ -256,9 +256,13 @@ HAS_AUDIO_IDX = 6
|
|
|
256
256
|
STATE_EVENT = "State event"
|
|
257
257
|
STATE_EVENT_WITH_CODING_MAP = "State event with coding map"
|
|
258
258
|
|
|
259
|
+
STATE_EVENT_TYPES = [STATE_EVENT, STATE_EVENT_WITH_CODING_MAP]
|
|
260
|
+
|
|
259
261
|
POINT_EVENT = "Point event"
|
|
260
262
|
POINT_EVENT_WITH_CODING_MAP = "Point event with coding map"
|
|
261
263
|
|
|
264
|
+
POINT_EVENT_TYPES = [POINT_EVENT, POINT_EVENT_WITH_CODING_MAP]
|
|
265
|
+
|
|
262
266
|
BEHAVIOR_TYPES = [
|
|
263
267
|
POINT_EVENT,
|
|
264
268
|
STATE_EVENT,
|
|
@@ -395,6 +399,7 @@ TIMESTAMP_idx = 3
|
|
|
395
399
|
|
|
396
400
|
TIME_FULL_OBS = "full obs"
|
|
397
401
|
TIME_EVENTS = "limit to events"
|
|
402
|
+
TIME_OBS_INTERVAL = "interval of observation"
|
|
398
403
|
TIME_ARBITRARY_INTERVAL = "time interval"
|
|
399
404
|
|
|
400
405
|
AVAILABLE_INDEP_VAR_TYPES = [NUMERIC, TEXT, SET_OF_VALUES, TIMESTAMP]
|
|
@@ -424,10 +429,6 @@ PROJECT_FILE_INDENTATION_DEFAULT_VALUE = None
|
|
|
424
429
|
TOOLBAR_ICON_SIZE = "toolbar icon size"
|
|
425
430
|
DEFAULT_TOOLBAR_ICON_SIZE_VALUE = 24
|
|
426
431
|
|
|
427
|
-
"""
|
|
428
|
-
DARK_MODE = "dark_mode"
|
|
429
|
-
DARK_MODE_DEFAULT_VALUE = False
|
|
430
|
-
"""
|
|
431
432
|
|
|
432
433
|
VIDEO_VIEWER = 0
|
|
433
434
|
PICTURE_VIEWER = 1
|
|
@@ -36,19 +36,19 @@ def read(self):
|
|
|
36
36
|
read config file
|
|
37
37
|
"""
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
ini_fil_p_pe_p_path = pl.Path.home() / pl.Path(".boris")
|
|
40
40
|
|
|
41
|
-
logging.debug(f"read config file: {
|
|
41
|
+
logging.debug(f"read config file: {ini_fil_p_pe_p_path}")
|
|
42
42
|
|
|
43
|
-
if
|
|
44
|
-
settings = QSettings(str(
|
|
43
|
+
if ini_fil_p_pe_p_path.is_file():
|
|
44
|
+
settings = QSettings(str(ini_fil_p_pe_p_path), QSettings.IniFormat)
|
|
45
45
|
|
|
46
46
|
try:
|
|
47
47
|
self.config_param = settings.value("config")
|
|
48
48
|
except Exception:
|
|
49
|
-
self.config_param =
|
|
49
|
+
self.config_param = {}
|
|
50
50
|
|
|
51
|
-
if self.config_param
|
|
51
|
+
if self.config_param == {}:
|
|
52
52
|
self.config_param = cfg.INIT_PARAM
|
|
53
53
|
|
|
54
54
|
# for back compatibility
|
|
@@ -245,7 +245,7 @@ def read(self):
|
|
|
245
245
|
if (
|
|
246
246
|
dialog.MessageDialog(
|
|
247
247
|
cfg.programName,
|
|
248
|
-
("The colors list contain colors that are very light.\
|
|
248
|
+
("The colors list contain colors that are very light.\nDo you want to reload the default colors list?"),
|
|
249
249
|
[cfg.NO, cfg.YES],
|
|
250
250
|
)
|
|
251
251
|
== cfg.YES
|
|
@@ -262,7 +262,7 @@ def read(self):
|
|
|
262
262
|
if (
|
|
263
263
|
dialog.MessageDialog(
|
|
264
264
|
cfg.programName,
|
|
265
|
-
("The colors list contain colors that are very light.\
|
|
265
|
+
("The colors list contain colors that are very light.\nDo you want to reload the default colors list?"),
|
|
266
266
|
[cfg.NO, cfg.YES],
|
|
267
267
|
)
|
|
268
268
|
== cfg.YES
|
|
@@ -82,6 +82,8 @@ def get_cooccurence(self):
|
|
|
82
82
|
if not_ok or not selected_observations:
|
|
83
83
|
return
|
|
84
84
|
|
|
85
|
+
max_media_duration_all_obs, _ = observation_operations.media_duration(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
86
|
+
|
|
85
87
|
start_coding, end_coding, _ = observation_operations.coding_time(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
86
88
|
# exit with message if events do not have timestamp
|
|
87
89
|
if start_coding.is_nan():
|
|
@@ -94,12 +96,18 @@ def get_cooccurence(self):
|
|
|
94
96
|
)
|
|
95
97
|
return
|
|
96
98
|
|
|
99
|
+
start_interval, end_interval = observation_operations.time_intervals_range(self.pj[cfg.OBSERVATIONS], selected_observations)
|
|
100
|
+
|
|
97
101
|
while True:
|
|
98
102
|
flag_ok: bool = True
|
|
99
103
|
parameters = select_subj_behav.choose_obs_subj_behav_category(
|
|
100
104
|
self,
|
|
101
105
|
selected_observations,
|
|
102
|
-
|
|
106
|
+
start_coding=start_coding,
|
|
107
|
+
end_coding=end_coding,
|
|
108
|
+
start_interval=start_interval,
|
|
109
|
+
end_interval=end_interval,
|
|
110
|
+
maxTime=max_media_duration_all_obs,
|
|
103
111
|
n_observations=len(selected_observations),
|
|
104
112
|
show_include_modifiers=False,
|
|
105
113
|
show_exclude_non_coded_behaviors=True,
|