boris-behav-obs 8.9.16__py3-none-any.whl → 9.7.6__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.
Potentially problematic release.
This version of boris-behav-obs might be problematic. Click here for more details.
- boris/__init__.py +1 -1
- boris/__main__.py +1 -1
- boris/about.py +36 -39
- boris/add_modifier.py +122 -109
- boris/add_modifier_ui.py +239 -135
- boris/advanced_event_filtering.py +81 -45
- boris/analysis_plugins/__init__.py +0 -0
- boris/analysis_plugins/_latency.py +59 -0
- boris/analysis_plugins/irr_cohen_kappa.py +109 -0
- boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +112 -0
- boris/analysis_plugins/irr_weighted_cohen_kappa.py +157 -0
- boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +162 -0
- boris/analysis_plugins/list_of_dataframe_columns.py +22 -0
- boris/analysis_plugins/number_of_occurences.py +22 -0
- boris/analysis_plugins/number_of_occurences_by_independent_variable.py +54 -0
- boris/analysis_plugins/time_budget.py +61 -0
- boris/behav_coding_map_creator.py +228 -229
- boris/behavior_binary_table.py +33 -50
- boris/behaviors_coding_map.py +17 -18
- boris/boris_cli.py +6 -25
- boris/cmd_arguments.py +12 -1
- boris/coding_pad.py +42 -49
- boris/config.py +161 -77
- boris/config_file.py +63 -83
- boris/connections.py +112 -57
- boris/converters.py +13 -37
- boris/converters_ui.py +187 -110
- boris/cooccurence.py +250 -0
- boris/core.py +2511 -1824
- boris/core_qrc.py +15895 -10185
- boris/core_ui.py +946 -792
- boris/db_functions.py +21 -41
- boris/dev.py +134 -0
- boris/dialog.py +505 -244
- boris/duration_widget.py +15 -20
- boris/edit_event.py +84 -28
- boris/edit_event_ui.py +214 -78
- boris/event_operations.py +517 -415
- boris/events_cursor.py +25 -17
- boris/events_snapshots.py +36 -82
- boris/exclusion_matrix.py +4 -9
- boris/export_events.py +213 -583
- boris/export_observation.py +98 -611
- boris/external_processes.py +156 -97
- boris/geometric_measurement.py +652 -287
- boris/gui_utilities.py +91 -14
- boris/image_overlay.py +9 -9
- boris/import_observations.py +190 -98
- boris/ipc_mpv.py +325 -0
- boris/irr.py +26 -63
- boris/latency.py +34 -25
- boris/measurement_widget.py +14 -18
- boris/media_file.py +52 -84
- boris/menu_options.py +17 -6
- boris/modifier_coding_map_creator.py +1013 -0
- boris/modifiers_coding_map.py +7 -9
- boris/mpv.py +1 -0
- boris/mpv2.py +732 -705
- boris/observation.py +655 -310
- boris/observation_operations.py +1036 -404
- boris/observation_ui.py +584 -356
- boris/observations_list.py +71 -53
- boris/otx_parser.py +74 -80
- boris/param_panel.py +31 -16
- boris/param_panel_ui.py +254 -138
- boris/player_dock_widget.py +90 -60
- boris/plot_data_module.py +43 -46
- boris/plot_events.py +127 -90
- boris/plot_events_rt.py +17 -31
- boris/plot_spectrogram_rt.py +95 -30
- boris/plot_waveform_rt.py +32 -21
- boris/plugins.py +431 -0
- boris/portion/__init__.py +18 -8
- boris/portion/const.py +35 -18
- boris/portion/dict.py +5 -5
- boris/portion/func.py +2 -2
- boris/portion/interval.py +21 -41
- boris/portion/io.py +41 -32
- boris/preferences.py +306 -83
- boris/preferences_ui.py +685 -228
- boris/project.py +448 -293
- boris/project_functions.py +689 -254
- boris/project_import_export.py +213 -222
- boris/project_ui.py +674 -438
- boris/qrc_boris.py +6 -3
- boris/qrc_boris5.py +6 -3
- boris/select_modifiers.py +74 -48
- boris/select_observations.py +20 -199
- boris/select_subj_behav.py +67 -39
- boris/state_events.py +53 -37
- boris/subjects_pad.py +6 -9
- boris/synthetic_time_budget.py +45 -28
- boris/time_budget_functions.py +171 -171
- boris/time_budget_widget.py +84 -114
- boris/transitions.py +41 -47
- boris/utilities.py +766 -266
- boris/version.py +3 -3
- boris/video_equalizer.py +16 -14
- boris/video_equalizer_ui.py +199 -130
- boris/video_operations.py +125 -28
- boris/view_df.py +104 -0
- boris/view_df_ui.py +75 -0
- boris/write_event.py +538 -0
- boris_behav_obs-9.7.6.dist-info/METADATA +139 -0
- boris_behav_obs-9.7.6.dist-info/RECORD +109 -0
- {boris_behav_obs-8.9.16.dist-info → boris_behav_obs-9.7.6.dist-info}/WHEEL +1 -1
- boris_behav_obs-9.7.6.dist-info/entry_points.txt +2 -0
- boris/README.TXT +0 -22
- boris/add_modifier.ui +0 -323
- boris/boris_ui.py +0 -886
- boris/converters.ui +0 -289
- boris/core.qrc +0 -35
- boris/core.ui +0 -1543
- boris/edit_event.ui +0 -175
- boris/icons/logo_eye.ico +0 -0
- boris/map_creator.py +0 -850
- boris/observation.ui +0 -773
- boris/param_panel.ui +0 -379
- boris/preferences.ui +0 -537
- boris/project.ui +0 -1069
- boris/project_server.py +0 -236
- boris/vlc.py +0 -10343
- boris/vlc_local.py +0 -90
- boris_behav_obs-8.9.16.dist-info/LICENSE.TXT +0 -674
- boris_behav_obs-8.9.16.dist-info/METADATA +0 -129
- boris_behav_obs-8.9.16.dist-info/RECORD +0 -108
- boris_behav_obs-8.9.16.dist-info/entry_points.txt +0 -2
- {boris → boris_behav_obs-9.7.6.dist-info/licenses}/LICENSE.TXT +0 -0
- {boris_behav_obs-8.9.16.dist-info → boris_behav_obs-9.7.6.dist-info}/top_level.txt +0 -0
boris/config.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
|
|
|
@@ -22,12 +22,27 @@ This file is part of BORIS.
|
|
|
22
22
|
|
|
23
23
|
programName: str = "BORIS"
|
|
24
24
|
|
|
25
|
+
# socket for MPV IPC mode
|
|
26
|
+
MPV_SOCKET = "/tmp/mpvsocket"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
ETHOGRAM_REPOSITORY_URL = "https://www.boris.unito.it/static/ethograms"
|
|
30
|
+
|
|
25
31
|
project_format_version: str = "7.0"
|
|
26
32
|
|
|
33
|
+
SECONDS_PER_DAY: int = 86_400
|
|
34
|
+
|
|
35
|
+
# cutoff value for displaying HH:MM:SS.zzz or YYYY-mm-DD HH:MM:SS:ZZZ
|
|
36
|
+
HOUR_CUTOFF: int = 7 * 24
|
|
37
|
+
DATE_CUTOFF: int = HOUR_CUTOFF * 60 * 60 # 1 week
|
|
38
|
+
|
|
39
|
+
# cutoff for displaying time in HH:MM:SS.zzz format
|
|
40
|
+
SMART_TIME_CUTOFF_DEFAULT: int = 300
|
|
41
|
+
|
|
27
42
|
# minimal project version for handling observations from images
|
|
28
43
|
IMAGES_OBS_PROJECT_MIN_VERSION: tuple = (8, 6)
|
|
29
44
|
|
|
30
|
-
IMAGE_EXTENSIONS: tuple = ("*.jpg", "*.png", "*.jpeg")
|
|
45
|
+
IMAGE_EXTENSIONS: tuple = ("*.jpg", "*.png", "*.jpeg", "*.tiff", "*.tif", "*.webp", "*.bmp")
|
|
31
46
|
|
|
32
47
|
CHECK_NEW_VERSION_DELAY: int = 15 * 24 * 60 * 60
|
|
33
48
|
|
|
@@ -37,9 +52,14 @@ MAX_UNDO_QUEUE: int = 25
|
|
|
37
52
|
|
|
38
53
|
NA: str = "NA"
|
|
39
54
|
|
|
40
|
-
|
|
55
|
+
REALTIME_PLOT_CURSOR_COLOR: str = "red"
|
|
56
|
+
|
|
57
|
+
DARKER_DIFFERENCE = 5
|
|
41
58
|
|
|
42
|
-
|
|
59
|
+
CTRL_KEY: str = "Ctrl"
|
|
60
|
+
ALT_KEY: str = "Alt"
|
|
61
|
+
|
|
62
|
+
SPECTRO_TIMER: int = 500
|
|
43
63
|
|
|
44
64
|
function_keys = {
|
|
45
65
|
16777264: "F1",
|
|
@@ -68,10 +88,12 @@ EVENTS = "events"
|
|
|
68
88
|
TIME_OFFSET = "time offset"
|
|
69
89
|
|
|
70
90
|
CODING_MAP = "coding_map"
|
|
91
|
+
CODING_MAP_sp = "coding map" # space between words (no underscore)
|
|
71
92
|
BEHAVIORS_CODING_MAP = "behaviors_coding_map"
|
|
72
93
|
SUBJECTS = "subjects_conf"
|
|
73
94
|
ETHOGRAM = "behaviors_conf"
|
|
74
95
|
BEHAVIORAL_CATEGORIES = "behavioral_categories"
|
|
96
|
+
BEHAVIORAL_CATEGORIES_CONF = "behavioral_categories_config"
|
|
75
97
|
CONVERTERS = "converters"
|
|
76
98
|
|
|
77
99
|
OFFSET = "offset"
|
|
@@ -110,20 +132,34 @@ POINT_EVENT_PLOT_COLOR = "black"
|
|
|
110
132
|
|
|
111
133
|
CHAR_FORBIDDEN_IN_MODIFIERS = "(|),`~"
|
|
112
134
|
|
|
135
|
+
FAST_FORWARD_DEFAULT_VALUE: float = 10.0
|
|
136
|
+
|
|
113
137
|
ADAPT_FAST_JUMP = "adapt_fast_jump"
|
|
114
138
|
ADAPT_FAST_JUMP_DEFAULT = False
|
|
115
139
|
|
|
140
|
+
TIME = "time"
|
|
141
|
+
BEHAVIOR_CODE = "code"
|
|
142
|
+
SUBJECT = "subject"
|
|
143
|
+
MODIFIER = "modifier"
|
|
144
|
+
COMMENT = "comment"
|
|
145
|
+
BEHAVIOR_KEY = "key"
|
|
146
|
+
SUBJECT_KEY = "key"
|
|
147
|
+
BEHAVIOR_CATEGORY = "category"
|
|
148
|
+
|
|
116
149
|
|
|
117
|
-
subjectsFields = [
|
|
150
|
+
subjectsFields = [SUBJECT_KEY, SUBJECT_NAME, DESCRIPTION]
|
|
118
151
|
|
|
119
152
|
UNPAIRED = "UNPAIRED"
|
|
120
153
|
DISPLAY_SUBTITLES = "display_subtitles"
|
|
154
|
+
CHECK_PROJECT_INTEGRITY = "check_project_integrity"
|
|
121
155
|
|
|
122
156
|
|
|
123
157
|
YES = "Yes"
|
|
124
158
|
NO = "No"
|
|
125
159
|
CANCEL = "Cancel"
|
|
160
|
+
IGNORE = "Ignore"
|
|
126
161
|
APPEND = "Append"
|
|
162
|
+
CLOSE = "Close"
|
|
127
163
|
REPLACE = "Replace"
|
|
128
164
|
REMOVE = "Remove"
|
|
129
165
|
SAVE = "Save"
|
|
@@ -138,6 +174,7 @@ NO_FOCAL_SUBJECT = "No focal subject"
|
|
|
138
174
|
|
|
139
175
|
TYPE = "type"
|
|
140
176
|
FILE = "file"
|
|
177
|
+
COLOR = "color"
|
|
141
178
|
DIRECTORIES_LIST = "directories_list"
|
|
142
179
|
|
|
143
180
|
SAVE_DATASET = 32
|
|
@@ -167,49 +204,37 @@ DATA_PLOT_FIELDS = {
|
|
|
167
204
|
}
|
|
168
205
|
DATA_PLOT_STYLES = ["b-", "r-", "g-", "bo", "ro", "go"]
|
|
169
206
|
|
|
170
|
-
TIME = "time"
|
|
171
|
-
BEHAVIOR_CODE = "code"
|
|
172
|
-
SUBJECT = "subject"
|
|
173
|
-
MODIFIER = "modifier"
|
|
174
|
-
COMMENT = "comment"
|
|
175
|
-
BEHAVIOR_KEY = "key"
|
|
176
|
-
BEHAVIOR_CATEGORY = "category"
|
|
177
207
|
|
|
178
208
|
FILE_PATH = "file_path"
|
|
179
209
|
|
|
180
210
|
IMAGE_INDEX = "image index"
|
|
181
211
|
IMAGE_PATH = "image path"
|
|
212
|
+
FRAME_INDEX = "frame index"
|
|
182
213
|
|
|
183
214
|
ZOOM_LEVEL = "zoom level"
|
|
215
|
+
PAN_X = "pan-x"
|
|
216
|
+
PAN_Y = "pan-y"
|
|
217
|
+
ROTATION_ANGLE = "rotation angle"
|
|
184
218
|
DISPLAY_MEDIA_SUBTITLES = "display subtitles"
|
|
185
219
|
OVERLAY = "video overlay"
|
|
186
220
|
|
|
187
221
|
|
|
188
222
|
USE_EXIF_DATE = "use_exif_date"
|
|
223
|
+
SUBSTRACT_FIRST_EXIF_DATE = "substract_first_exif_date"
|
|
189
224
|
TIME_LAPSE = "time_lapse_delay"
|
|
190
225
|
|
|
191
226
|
|
|
192
227
|
# fields for event configuration
|
|
193
|
-
"""
|
|
194
|
-
fields = {
|
|
195
|
-
"type": 0,
|
|
196
|
-
"key": 1,
|
|
197
|
-
"code": 2,
|
|
198
|
-
"description": 3,
|
|
199
|
-
"modifiers": 4,
|
|
200
|
-
"excluded": 5,
|
|
201
|
-
"coding map": 6,
|
|
202
|
-
}
|
|
203
|
-
"""
|
|
204
228
|
|
|
205
229
|
ETHOGRAM_TABLE_COLUMNS: dict = {
|
|
206
230
|
0: "key",
|
|
207
231
|
1: "code",
|
|
208
232
|
2: "type",
|
|
209
233
|
3: "description",
|
|
210
|
-
4: "
|
|
211
|
-
5: "
|
|
212
|
-
6: "
|
|
234
|
+
4: "color",
|
|
235
|
+
5: "category",
|
|
236
|
+
6: "modifiers",
|
|
237
|
+
7: "excluded",
|
|
213
238
|
}
|
|
214
239
|
|
|
215
240
|
# fields in ethogram table from project window
|
|
@@ -218,23 +243,12 @@ behavioursFields: dict = {
|
|
|
218
243
|
"key": 1,
|
|
219
244
|
"code": 2,
|
|
220
245
|
"description": 3,
|
|
221
|
-
"
|
|
222
|
-
"
|
|
223
|
-
"
|
|
224
|
-
"
|
|
246
|
+
"color": 4,
|
|
247
|
+
"category": 5,
|
|
248
|
+
"modifiers": 6,
|
|
249
|
+
"excluded": 7,
|
|
250
|
+
"coding map": 8,
|
|
225
251
|
}
|
|
226
|
-
"""
|
|
227
|
-
ETHOGRAM_FIELDS = [
|
|
228
|
-
"type",
|
|
229
|
-
"key",
|
|
230
|
-
"code",
|
|
231
|
-
"description",
|
|
232
|
-
"category",
|
|
233
|
-
"modifiers",
|
|
234
|
-
"excluded",
|
|
235
|
-
"coding map",
|
|
236
|
-
]
|
|
237
|
-
"""
|
|
238
252
|
ETHOGRAM_EDITABLE_FIELDS: tuple = ("key", "code", "description")
|
|
239
253
|
|
|
240
254
|
PROJECT_BEHAVIORS_KEY_FIELD_IDX = 1
|
|
@@ -244,21 +258,32 @@ MEDIA_FILE_PATH_IDX = 2
|
|
|
244
258
|
HAS_AUDIO_IDX = 6
|
|
245
259
|
|
|
246
260
|
STATE_EVENT = "State event"
|
|
261
|
+
STATE_EVENT_WITH_CODING_MAP = "State event with coding map"
|
|
262
|
+
|
|
263
|
+
STATE_EVENT_TYPES = [STATE_EVENT, STATE_EVENT_WITH_CODING_MAP]
|
|
264
|
+
|
|
247
265
|
POINT_EVENT = "Point event"
|
|
266
|
+
POINT_EVENT_WITH_CODING_MAP = "Point event with coding map"
|
|
267
|
+
|
|
268
|
+
POINT_EVENT_TYPES = [POINT_EVENT, POINT_EVENT_WITH_CODING_MAP]
|
|
248
269
|
|
|
249
270
|
BEHAVIOR_TYPES = [
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
271
|
+
POINT_EVENT,
|
|
272
|
+
STATE_EVENT,
|
|
273
|
+
POINT_EVENT_WITH_CODING_MAP,
|
|
274
|
+
STATE_EVENT_WITH_CODING_MAP,
|
|
254
275
|
]
|
|
255
276
|
|
|
256
277
|
DEFAULT_BEHAVIOR_TYPE = "Point event"
|
|
257
278
|
|
|
258
|
-
|
|
259
|
-
|
|
279
|
+
MEDIA_TW_EVENTS_FIELDS_DEFAULT = ("time", FRAME_INDEX, "subject", "code", "type", "modifier", "comment")
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
# fields for events tablewidget
|
|
283
|
+
MEDIA_TW_EVENTS_FIELDS = ("time", FRAME_INDEX, "subject", "code", "type", "modifier", "comment")
|
|
284
|
+
# MEDIA_TW_EVENTS_FIELDS = ("time", "subject", "code", "type", "modifier", "comment")
|
|
260
285
|
LIVE_TW_EVENTS_FIELDS = ("time", "subject", "code", "type", "modifier", "comment")
|
|
261
|
-
IMAGES_TW_EVENTS_FIELDS = ("time", "subject", "code", "type", "modifier", "comment",
|
|
286
|
+
IMAGES_TW_EVENTS_FIELDS = ("time", "subject", "code", "type", "modifier", "comment", IMAGE_INDEX, IMAGE_PATH)
|
|
262
287
|
|
|
263
288
|
TW_EVENTS_FIELDS = {
|
|
264
289
|
MEDIA: MEDIA_TW_EVENTS_FIELDS,
|
|
@@ -269,7 +294,7 @@ TW_EVENTS_FIELDS = {
|
|
|
269
294
|
VIEWER_IMAGES: IMAGES_TW_EVENTS_FIELDS,
|
|
270
295
|
}
|
|
271
296
|
|
|
272
|
-
# create
|
|
297
|
+
# create dictionary index
|
|
273
298
|
TW_OBS_FIELD = {}
|
|
274
299
|
for observation_type in TW_EVENTS_FIELDS:
|
|
275
300
|
TW_OBS_FIELD[observation_type] = {}
|
|
@@ -278,9 +303,9 @@ for observation_type in TW_EVENTS_FIELDS:
|
|
|
278
303
|
|
|
279
304
|
|
|
280
305
|
# fields for project events list
|
|
281
|
-
MEDIA_PJ_EVENTS_FIELDS = (
|
|
282
|
-
LIVE_PJ_EVENTS_FIELDS = (
|
|
283
|
-
IMAGES_PJ_EVENTS_FIELDS = (
|
|
306
|
+
MEDIA_PJ_EVENTS_FIELDS = (TIME, "subject", "code", "modifier", "comment", FRAME_INDEX)
|
|
307
|
+
LIVE_PJ_EVENTS_FIELDS = (TIME, "subject", "code", "modifier", "comment")
|
|
308
|
+
IMAGES_PJ_EVENTS_FIELDS = (TIME, "subject", "code", "modifier", "comment", IMAGE_INDEX, IMAGE_PATH)
|
|
284
309
|
|
|
285
310
|
PJ_EVENTS_FIELDS = {
|
|
286
311
|
MEDIA: MEDIA_PJ_EVENTS_FIELDS,
|
|
@@ -291,9 +316,6 @@ PJ_EVENTS_FIELDS = {
|
|
|
291
316
|
VIEWER_IMAGES: IMAGES_PJ_EVENTS_FIELDS,
|
|
292
317
|
}
|
|
293
318
|
|
|
294
|
-
# fields for independent variable definition
|
|
295
|
-
tw_indVarFields = ["label", "description", "type", "default value", "possible values"]
|
|
296
|
-
|
|
297
319
|
|
|
298
320
|
PJ_OBS_FIELDS = {}
|
|
299
321
|
for observation_type in PJ_EVENTS_FIELDS:
|
|
@@ -301,14 +323,19 @@ for observation_type in PJ_EVENTS_FIELDS:
|
|
|
301
323
|
for idx, field in enumerate(PJ_EVENTS_FIELDS[observation_type]):
|
|
302
324
|
PJ_OBS_FIELDS[observation_type][field] = idx
|
|
303
325
|
|
|
326
|
+
|
|
327
|
+
# fields for independent variable definition
|
|
328
|
+
tw_indVarFields = ["label", "description", "type", "default value", "possible values"]
|
|
329
|
+
|
|
330
|
+
|
|
304
331
|
EVENT_TIME_FIELD_IDX = 0
|
|
305
332
|
EVENT_SUBJECT_FIELD_IDX = 1
|
|
306
333
|
EVENT_BEHAVIOR_FIELD_IDX = 2
|
|
307
334
|
EVENT_MODIFIER_FIELD_IDX = 3
|
|
308
335
|
EVENT_COMMENT_FIELD_IDX = 4
|
|
309
|
-
EVENT_STATUS_FIELD_IDX =
|
|
336
|
+
EVENT_STATUS_FIELD_IDX = -1
|
|
310
337
|
# EVENT_IMAGEIDX_FIELD_IDX = 6
|
|
311
|
-
EVENT_IMAGEPATH_FIELD_IDX = 7
|
|
338
|
+
# EVENT_IMAGEPATH_FIELD_IDX = 7
|
|
312
339
|
|
|
313
340
|
|
|
314
341
|
BEHAV_CODING_MAP_FIELDS = ["name", "Behavior codes"]
|
|
@@ -331,6 +358,14 @@ START_FROM_CURRENT_EPOCH_TIME = "start_from_current_epoch_time"
|
|
|
331
358
|
|
|
332
359
|
SCAN_SAMPLING_TIME = "scan_sampling_time"
|
|
333
360
|
|
|
361
|
+
POINT_OBJECT = "Point"
|
|
362
|
+
SEGMENT_OBJECT = "Segment"
|
|
363
|
+
ANGLE_OBJECT = "Angle"
|
|
364
|
+
ORIENTED_ANGLE_OBJECT = "Oriented angle"
|
|
365
|
+
POLYGON_OBJECT = "Polygon"
|
|
366
|
+
POLYLINE_OBJECT = "Polyline"
|
|
367
|
+
|
|
368
|
+
|
|
334
369
|
NEW = "new"
|
|
335
370
|
LIST = "list"
|
|
336
371
|
EDIT = "edit"
|
|
@@ -350,6 +385,7 @@ SELECTED_BEHAVIORS = "selected behaviors"
|
|
|
350
385
|
SELECTED_SUBJECTS = "selected subjects"
|
|
351
386
|
INCLUDE_MODIFIERS = "include modifiers"
|
|
352
387
|
EXCLUDE_BEHAVIORS = "exclude behaviors"
|
|
388
|
+
EXCLUDE_NON_CODED_MODIFIERS = "exclude_non_coded_modifiers"
|
|
353
389
|
EXCLUDED_BEHAVIORS = "excluded behaviors"
|
|
354
390
|
TIME_INTERVAL = "time"
|
|
355
391
|
START_TIME = "start time"
|
|
@@ -367,6 +403,7 @@ TIMESTAMP_idx = 3
|
|
|
367
403
|
|
|
368
404
|
TIME_FULL_OBS = "full obs"
|
|
369
405
|
TIME_EVENTS = "limit to events"
|
|
406
|
+
TIME_OBS_INTERVAL = "interval of observation"
|
|
370
407
|
TIME_ARBITRARY_INTERVAL = "time interval"
|
|
371
408
|
|
|
372
409
|
AVAILABLE_INDEP_VAR_TYPES = [NUMERIC, TEXT, SET_OF_VALUES, TIMESTAMP]
|
|
@@ -376,16 +413,31 @@ OBSERVATIONS = "observations"
|
|
|
376
413
|
|
|
377
414
|
CLOSE_BEHAVIORS_BETWEEN_VIDEOS = "close_behaviors_between_videos"
|
|
378
415
|
|
|
379
|
-
|
|
380
|
-
MPV_HWDEC_DEFAULT_VALUE = "auto"
|
|
416
|
+
# MPV hardware decode
|
|
381
417
|
MPV_HWDEC = "mpv_hwdec"
|
|
418
|
+
MPV_HWDEC_NO = "no"
|
|
419
|
+
MPV_HWDEC_AUTO = "auto"
|
|
420
|
+
MPV_HWDEC_AUTOSAFE = "auto-safe"
|
|
421
|
+
MPV_HWDEC_OPTIONS = (MPV_HWDEC_AUTO, MPV_HWDEC_AUTOSAFE, MPV_HWDEC_NO)
|
|
422
|
+
MPV_HWDEC_DEFAULT_VALUE = MPV_HWDEC_AUTO
|
|
382
423
|
|
|
424
|
+
# frame step size (disabled)
|
|
425
|
+
# FRAME_STEP_SIZE: str = "frame_step_size"
|
|
426
|
+
# FRAME_STEP_SIZE_DEFAULT_VALUE: int = 1
|
|
427
|
+
|
|
428
|
+
ANALYSIS_PLUGINS = "analysis_plugins"
|
|
429
|
+
EXCLUDED_PLUGINS = "excluded_plugins"
|
|
430
|
+
PERSONAL_PLUGINS_DIR = "personal_plugins_dir"
|
|
383
431
|
|
|
384
432
|
PROJECT_FILE_INDENTATION = "project file indentation"
|
|
385
433
|
PROJECT_FILE_INDENTATION_COMBO_OPTIONS = ("None", "Newline", "Tab", "2 spaces", "4 spaces")
|
|
386
434
|
PROJECT_FILE_INDENTATION_OPTIONS = (None, 0, "\t", 2, 4)
|
|
387
435
|
PROJECT_FILE_INDENTATION_DEFAULT_VALUE = None
|
|
388
436
|
|
|
437
|
+
TOOLBAR_ICON_SIZE = "toolbar icon size"
|
|
438
|
+
DEFAULT_TOOLBAR_ICON_SIZE_VALUE = 24
|
|
439
|
+
|
|
440
|
+
|
|
389
441
|
VIDEO_VIEWER = 0
|
|
390
442
|
PICTURE_VIEWER = 1
|
|
391
443
|
|
|
@@ -402,6 +454,7 @@ LENGTH = "length"
|
|
|
402
454
|
FPS = "fps"
|
|
403
455
|
HAS_AUDIO = "hasAudio"
|
|
404
456
|
HAS_VIDEO = "hasVideo"
|
|
457
|
+
MEDIA_CREATION_TIME = "media_creation_time"
|
|
405
458
|
|
|
406
459
|
STATE = "STATE"
|
|
407
460
|
POINT = "POINT"
|
|
@@ -409,17 +462,25 @@ POINT = "POINT"
|
|
|
409
462
|
START = "START"
|
|
410
463
|
STOP = "STOP"
|
|
411
464
|
|
|
412
|
-
PLAYER1
|
|
465
|
+
PLAYER1 = "1"
|
|
466
|
+
PLAYER2 = "2"
|
|
413
467
|
ALL_PLAYERS = [str(x + 1) for x in range(N_PLAYER)]
|
|
414
468
|
|
|
415
469
|
VISUALIZE_SPECTROGRAM = "visualize_spectrogram"
|
|
416
470
|
VISUALIZE_WAVEFORM = "visualize_waveform"
|
|
471
|
+
MEDIA_CREATION_DATE_AS_OFFSET = "media_creation_date_as_offset"
|
|
472
|
+
|
|
473
|
+
MEDIA_SCAN_SAMPLING_DURATION = "media_scan_sampling_duration"
|
|
474
|
+
IMAGE_DISPLAY_DURATION = "image_display_duration"
|
|
417
475
|
|
|
418
476
|
# plot type
|
|
419
477
|
WAVEFORM_PLOT = "waveform"
|
|
420
478
|
SPECTROGRAM_PLOT = "spectrogram"
|
|
421
479
|
EVENTS_PLOT = "plot_events"
|
|
422
480
|
|
|
481
|
+
PLAYING = "playing"
|
|
482
|
+
PAUSED = "paused"
|
|
483
|
+
STOPPED = "stopped"
|
|
423
484
|
|
|
424
485
|
POINT_EVENT_ST_DURATION = 0.5
|
|
425
486
|
|
|
@@ -428,11 +489,10 @@ FRAME_TAB = 1
|
|
|
428
489
|
|
|
429
490
|
SLIDER_MAXIMUM = 1000
|
|
430
491
|
|
|
431
|
-
FRAME_BITMAP_FORMAT_LIST = ["JPG", "PNG"]
|
|
432
|
-
FRAME_DEFAULT_BITMAP_FORMAT = "JPG"
|
|
433
|
-
|
|
434
492
|
FRAME_DEFAULT_CACHE_SIZE = 1
|
|
435
493
|
|
|
494
|
+
EXCLUDED = "excluded"
|
|
495
|
+
|
|
436
496
|
# modifiers
|
|
437
497
|
MODIFIERS = "modifiers"
|
|
438
498
|
SINGLE_SELECTION = 0
|
|
@@ -476,6 +536,16 @@ NO_COLOR_CODING_PAD = "#777777"
|
|
|
476
536
|
SPECTROGRAM_COLOR_MAPS = ["viridis", "inferno", "plasma", "magma", "gray", "YlOrRd"]
|
|
477
537
|
SPECTROGRAM_DEFAULT_COLOR_MAP = "viridis"
|
|
478
538
|
SPECTROGRAM_DEFAULT_TIME_INTERVAL = 10
|
|
539
|
+
SPECTROGRAM_WINDOW_TYPE = "SPECTROGRAM_WINDOW_TYPE"
|
|
540
|
+
SPECTROGRAM_DEFAULT_WINDOW_TYPE = "hanning"
|
|
541
|
+
SPECTROGRAM_NFFT = "SPECTROGRAM_NFFT"
|
|
542
|
+
SPECTROGRAM_DEFAULT_NFFT = "1024"
|
|
543
|
+
SPECTROGRAM_NOVERLAP = "SPECTROGRAM_NOVERLAP"
|
|
544
|
+
SPECTROGRAM_DEFAULT_NOVERLAP = 900
|
|
545
|
+
SPECTROGRAM_VMIN = "SPECTROGRAM_VMIN"
|
|
546
|
+
SPECTROGRAM_DEFAULT_VMIN = -100
|
|
547
|
+
SPECTROGRAM_VMAX = "SPECTROGRAM_VMAX"
|
|
548
|
+
SPECTROGRAM_DEFAULT_VMAX = -20
|
|
479
549
|
|
|
480
550
|
# see matplotlib.colors.cnames.keys()
|
|
481
551
|
# https://xkcd.com/color/rgb/
|
|
@@ -650,6 +720,7 @@ EMPTY_PROJECT = {
|
|
|
650
720
|
ETHOGRAM: {},
|
|
651
721
|
OBSERVATIONS: {},
|
|
652
722
|
BEHAVIORAL_CATEGORIES: [],
|
|
723
|
+
BEHAVIORAL_CATEGORIES_CONF: {},
|
|
653
724
|
INDEPENDENT_VARIABLES: {},
|
|
654
725
|
CODING_MAP: {},
|
|
655
726
|
BEHAVIORS_CODING_MAP: [],
|
|
@@ -664,8 +735,21 @@ INIT_PARAM = {
|
|
|
664
735
|
# TIME_BUDGET_FORMAT: DEFAULT_TIME_BUDGET_FORMAT,
|
|
665
736
|
MPV_HWDEC: MPV_HWDEC_DEFAULT_VALUE,
|
|
666
737
|
PROJECT_FILE_INDENTATION: PROJECT_FILE_INDENTATION_DEFAULT_VALUE,
|
|
738
|
+
f"{MEDIA} tw fields": MEDIA_TW_EVENTS_FIELDS_DEFAULT,
|
|
739
|
+
# FRAME_STEP_SIZE: FRAME_STEP_SIZE_DEFAULT_VALUE,
|
|
667
740
|
}
|
|
668
741
|
|
|
742
|
+
SDIS_EXT = "sds"
|
|
743
|
+
TBS_EXT = "tbs"
|
|
744
|
+
TSV_EXT = "tsv"
|
|
745
|
+
CSV_EXT = "csv"
|
|
746
|
+
RDS_EXT = "rds"
|
|
747
|
+
PANDAS_DF_EXT = "pkl"
|
|
748
|
+
HTML_EXT = "html"
|
|
749
|
+
SQL_EXT = "sql"
|
|
750
|
+
ODS_EXT = "ods"
|
|
751
|
+
XLS_EXT = "xls"
|
|
752
|
+
XLSX_EXT = "xlsx"
|
|
669
753
|
|
|
670
754
|
# Output format
|
|
671
755
|
TSV = "Tab Separated Values (*.tsv)"
|
|
@@ -684,18 +768,18 @@ TBS = "Timed Behavioral Sequences (*.tbs)"
|
|
|
684
768
|
TEXT_FILE = "Text file"
|
|
685
769
|
|
|
686
770
|
FILE_NAME_SUFFIX = {
|
|
687
|
-
TSV:
|
|
688
|
-
CSV:
|
|
689
|
-
ODS:
|
|
690
|
-
ODS_WB:
|
|
691
|
-
XLSX:
|
|
692
|
-
XLSX_WB:
|
|
693
|
-
XLS:
|
|
694
|
-
HTML:
|
|
695
|
-
PANDAS_DF:
|
|
696
|
-
RDS:
|
|
697
|
-
SQL:
|
|
698
|
-
SDIS:
|
|
699
|
-
TBS:
|
|
771
|
+
TSV: TSV_EXT,
|
|
772
|
+
CSV: CSV_EXT,
|
|
773
|
+
ODS: ODS_EXT,
|
|
774
|
+
ODS_WB: ODS_EXT,
|
|
775
|
+
XLSX: XLSX_EXT,
|
|
776
|
+
XLSX_WB: XLSX_EXT,
|
|
777
|
+
XLS: XLS_EXT,
|
|
778
|
+
HTML: HTML_EXT,
|
|
779
|
+
PANDAS_DF: PANDAS_DF_EXT,
|
|
780
|
+
RDS: RDS_EXT,
|
|
781
|
+
SQL: SQL_EXT,
|
|
782
|
+
SDIS: SDIS_EXT,
|
|
783
|
+
TBS: TBS_EXT,
|
|
700
784
|
TEXT_FILE: "cli",
|
|
701
785
|
}
|