boris-behav-obs 8.12__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.

Files changed (128) hide show
  1. boris/__init__.py +1 -1
  2. boris/__main__.py +1 -1
  3. boris/about.py +28 -39
  4. boris/add_modifier.py +122 -109
  5. boris/add_modifier_ui.py +239 -135
  6. boris/advanced_event_filtering.py +81 -45
  7. boris/analysis_plugins/__init__.py +0 -0
  8. boris/analysis_plugins/_latency.py +59 -0
  9. boris/analysis_plugins/irr_cohen_kappa.py +109 -0
  10. boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +112 -0
  11. boris/analysis_plugins/irr_weighted_cohen_kappa.py +157 -0
  12. boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +162 -0
  13. boris/analysis_plugins/list_of_dataframe_columns.py +22 -0
  14. boris/analysis_plugins/number_of_occurences.py +22 -0
  15. boris/analysis_plugins/number_of_occurences_by_independent_variable.py +54 -0
  16. boris/analysis_plugins/time_budget.py +61 -0
  17. boris/behav_coding_map_creator.py +228 -229
  18. boris/behavior_binary_table.py +33 -50
  19. boris/behaviors_coding_map.py +17 -18
  20. boris/boris_cli.py +6 -25
  21. boris/cmd_arguments.py +12 -1
  22. boris/coding_pad.py +42 -49
  23. boris/config.py +141 -65
  24. boris/config_file.py +58 -67
  25. boris/connections.py +107 -61
  26. boris/converters.py +13 -37
  27. boris/converters_ui.py +187 -110
  28. boris/cooccurence.py +250 -0
  29. boris/core.py +2373 -1786
  30. boris/core_qrc.py +15895 -10743
  31. boris/core_ui.py +943 -798
  32. boris/db_functions.py +17 -42
  33. boris/dev.py +109 -8
  34. boris/dialog.py +482 -236
  35. boris/duration_widget.py +9 -14
  36. boris/edit_event.py +61 -31
  37. boris/edit_event_ui.py +208 -97
  38. boris/event_operations.py +408 -293
  39. boris/events_cursor.py +25 -17
  40. boris/events_snapshots.py +36 -82
  41. boris/exclusion_matrix.py +4 -9
  42. boris/export_events.py +184 -223
  43. boris/export_observation.py +74 -100
  44. boris/external_processes.py +123 -98
  45. boris/geometric_measurement.py +644 -290
  46. boris/gui_utilities.py +91 -14
  47. boris/image_overlay.py +4 -4
  48. boris/import_observations.py +190 -98
  49. boris/ipc_mpv.py +325 -0
  50. boris/irr.py +20 -57
  51. boris/latency.py +31 -24
  52. boris/measurement_widget.py +14 -18
  53. boris/media_file.py +17 -19
  54. boris/menu_options.py +17 -6
  55. boris/modifier_coding_map_creator.py +1013 -0
  56. boris/modifiers_coding_map.py +7 -9
  57. boris/mpv.py +1 -0
  58. boris/mpv2.py +732 -705
  59. boris/observation.py +533 -221
  60. boris/observation_operations.py +1025 -390
  61. boris/observation_ui.py +572 -362
  62. boris/observations_list.py +71 -53
  63. boris/otx_parser.py +74 -68
  64. boris/param_panel.py +31 -16
  65. boris/param_panel_ui.py +254 -138
  66. boris/player_dock_widget.py +90 -60
  67. boris/plot_data_module.py +25 -33
  68. boris/plot_events.py +127 -90
  69. boris/plot_events_rt.py +17 -31
  70. boris/plot_spectrogram_rt.py +95 -30
  71. boris/plot_waveform_rt.py +32 -21
  72. boris/plugins.py +431 -0
  73. boris/portion/__init__.py +18 -8
  74. boris/portion/const.py +35 -18
  75. boris/portion/dict.py +5 -5
  76. boris/portion/func.py +2 -2
  77. boris/portion/interval.py +21 -41
  78. boris/portion/io.py +41 -32
  79. boris/preferences.py +306 -83
  80. boris/preferences_ui.py +684 -227
  81. boris/project.py +448 -293
  82. boris/project_functions.py +671 -238
  83. boris/project_import_export.py +213 -222
  84. boris/project_ui.py +674 -438
  85. boris/qrc_boris.py +6 -3
  86. boris/qrc_boris5.py +6 -3
  87. boris/select_modifiers.py +74 -48
  88. boris/select_observations.py +20 -198
  89. boris/select_subj_behav.py +67 -39
  90. boris/state_events.py +52 -35
  91. boris/subjects_pad.py +6 -9
  92. boris/synthetic_time_budget.py +45 -28
  93. boris/time_budget_functions.py +171 -171
  94. boris/time_budget_widget.py +84 -114
  95. boris/transitions.py +41 -47
  96. boris/utilities.py +627 -236
  97. boris/version.py +3 -3
  98. boris/video_equalizer.py +16 -14
  99. boris/video_equalizer_ui.py +199 -130
  100. boris/video_operations.py +95 -29
  101. boris/view_df.py +104 -0
  102. boris/view_df_ui.py +75 -0
  103. boris/write_event.py +538 -0
  104. boris_behav_obs-9.7.6.dist-info/METADATA +139 -0
  105. boris_behav_obs-9.7.6.dist-info/RECORD +109 -0
  106. {boris_behav_obs-8.12.dist-info → boris_behav_obs-9.7.6.dist-info}/WHEEL +1 -1
  107. boris_behav_obs-9.7.6.dist-info/entry_points.txt +2 -0
  108. boris/README.TXT +0 -22
  109. boris/add_modifier.ui +0 -323
  110. boris/converters.ui +0 -289
  111. boris/core.qrc +0 -36
  112. boris/core.ui +0 -1556
  113. boris/edit_event.ui +0 -233
  114. boris/icons/logo_eye.ico +0 -0
  115. boris/map_creator.py +0 -850
  116. boris/observation.ui +0 -814
  117. boris/param_panel.ui +0 -379
  118. boris/preferences.ui +0 -537
  119. boris/project.ui +0 -1069
  120. boris/project_server.py +0 -236
  121. boris/vlc.py +0 -10343
  122. boris/vlc_local.py +0 -90
  123. boris_behav_obs-8.12.dist-info/LICENSE.TXT +0 -674
  124. boris_behav_obs-8.12.dist-info/METADATA +0 -128
  125. boris_behav_obs-8.12.dist-info/RECORD +0 -108
  126. boris_behav_obs-8.12.dist-info/entry_points.txt +0 -3
  127. {boris → boris_behav_obs-9.7.6.dist-info/licenses}/LICENSE.TXT +0 -0
  128. {boris_behav_obs-8.12.dist-info → boris_behav_obs-9.7.6.dist-info}/top_level.txt +0 -0
boris/observation.ui DELETED
@@ -1,814 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <ui version="4.0">
3
- <class>Form</class>
4
- <widget class="QWidget" name="Form">
5
- <property name="geometry">
6
- <rect>
7
- <x>0</x>
8
- <y>0</y>
9
- <width>800</width>
10
- <height>650</height>
11
- </rect>
12
- </property>
13
- <property name="windowTitle">
14
- <string>New observation</string>
15
- </property>
16
- <layout class="QVBoxLayout" name="verticalLayout_6">
17
- <item>
18
- <layout class="QHBoxLayout" name="horizontalLayout_2">
19
- <item>
20
- <widget class="QLabel" name="label">
21
- <property name="text">
22
- <string>Observation id</string>
23
- </property>
24
- </widget>
25
- </item>
26
- <item>
27
- <widget class="QLabel" name="lb_star">
28
- <property name="font">
29
- <font>
30
- <pointsize>14</pointsize>
31
- </font>
32
- </property>
33
- <property name="styleSheet">
34
- <string notr="true">color: red</string>
35
- </property>
36
- <property name="text">
37
- <string>*</string>
38
- </property>
39
- </widget>
40
- </item>
41
- <item>
42
- <widget class="QLineEdit" name="leObservationId"/>
43
- </item>
44
- <item>
45
- <widget class="QLabel" name="label_8">
46
- <property name="text">
47
- <string>Date and time</string>
48
- </property>
49
- </widget>
50
- </item>
51
- <item>
52
- <widget class="QDateTimeEdit" name="dteDate">
53
- <property name="displayFormat">
54
- <string>yyyy-MM-dd hh:mm:ss</string>
55
- </property>
56
- <property name="calendarPopup">
57
- <bool>true</bool>
58
- </property>
59
- </widget>
60
- </item>
61
- </layout>
62
- </item>
63
- <item>
64
- <widget class="QSplitter" name="splitter">
65
- <property name="orientation">
66
- <enum>Qt::Horizontal</enum>
67
- </property>
68
- <widget class="QWidget" name="layoutWidget">
69
- <layout class="QVBoxLayout" name="verticalLayout_2">
70
- <item>
71
- <widget class="QLabel" name="label_9">
72
- <property name="sizePolicy">
73
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
74
- <horstretch>0</horstretch>
75
- <verstretch>0</verstretch>
76
- </sizepolicy>
77
- </property>
78
- <property name="text">
79
- <string>Description</string>
80
- </property>
81
- <property name="alignment">
82
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
83
- </property>
84
- </widget>
85
- </item>
86
- <item>
87
- <widget class="QTextEdit" name="teDescription">
88
- <property name="sizePolicy">
89
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
90
- <horstretch>0</horstretch>
91
- <verstretch>0</verstretch>
92
- </sizepolicy>
93
- </property>
94
- <property name="maximumSize">
95
- <size>
96
- <width>16777215</width>
97
- <height>16777215</height>
98
- </size>
99
- </property>
100
- <property name="acceptDrops">
101
- <bool>false</bool>
102
- </property>
103
- </widget>
104
- </item>
105
- <item>
106
- <layout class="QHBoxLayout" name="horizontalLayout_6">
107
- <item>
108
- <widget class="QLabel" name="lbTimeOffset">
109
- <property name="text">
110
- <string>Time offset</string>
111
- </property>
112
- </widget>
113
- </item>
114
- <item>
115
- <spacer name="horizontalSpacer_2">
116
- <property name="orientation">
117
- <enum>Qt::Horizontal</enum>
118
- </property>
119
- <property name="sizeHint" stdset="0">
120
- <size>
121
- <width>40</width>
122
- <height>20</height>
123
- </size>
124
- </property>
125
- </spacer>
126
- </item>
127
- </layout>
128
- </item>
129
- <item>
130
- <widget class="QCheckBox" name="cb_observation_time_interval">
131
- <property name="text">
132
- <string>Limit observation to a time interval</string>
133
- </property>
134
- </widget>
135
- </item>
136
- </layout>
137
- </widget>
138
- <widget class="QWidget" name="layoutWidget">
139
- <layout class="QVBoxLayout" name="verticalLayout_11" stretch="0,0">
140
- <item>
141
- <widget class="QLabel" name="label_3">
142
- <property name="text">
143
- <string>Independent variables</string>
144
- </property>
145
- </widget>
146
- </item>
147
- <item>
148
- <widget class="QTableWidget" name="twIndepVariables">
149
- <column>
150
- <property name="text">
151
- <string>Variable</string>
152
- </property>
153
- </column>
154
- <column>
155
- <property name="text">
156
- <string>Type</string>
157
- </property>
158
- </column>
159
- <column>
160
- <property name="text">
161
- <string>Value</string>
162
- </property>
163
- </column>
164
- </widget>
165
- </item>
166
- </layout>
167
- </widget>
168
- </widget>
169
- </item>
170
- <item>
171
- <widget class="QGroupBox" name="gb_observation_type">
172
- <property name="title">
173
- <string>Observation type</string>
174
- </property>
175
- <layout class="QHBoxLayout" name="horizontalLayout_7">
176
- <item>
177
- <layout class="QHBoxLayout" name="horizontalLayout_4">
178
- <item>
179
- <widget class="QRadioButton" name="rb_media_files">
180
- <property name="text">
181
- <string>Observation from media file(s)</string>
182
- </property>
183
- </widget>
184
- </item>
185
- <item>
186
- <widget class="QRadioButton" name="rb_live">
187
- <property name="text">
188
- <string>Live observation</string>
189
- </property>
190
- </widget>
191
- </item>
192
- <item>
193
- <widget class="QRadioButton" name="rb_images">
194
- <property name="enabled">
195
- <bool>true</bool>
196
- </property>
197
- <property name="text">
198
- <string>Observation from pictures</string>
199
- </property>
200
- </widget>
201
- </item>
202
- <item>
203
- <spacer name="horizontalSpacer_4">
204
- <property name="orientation">
205
- <enum>Qt::Horizontal</enum>
206
- </property>
207
- <property name="sizeHint" stdset="0">
208
- <size>
209
- <width>40</width>
210
- <height>20</height>
211
- </size>
212
- </property>
213
- </spacer>
214
- </item>
215
- </layout>
216
- </item>
217
- </layout>
218
- </widget>
219
- </item>
220
- <item>
221
- <widget class="QStackedWidget" name="sw_observation_type">
222
- <property name="currentIndex">
223
- <number>1</number>
224
- </property>
225
- <widget class="QWidget" name="page"/>
226
- <widget class="QWidget" name="pg_media_files">
227
- <layout class="QVBoxLayout" name="verticalLayout_7">
228
- <item>
229
- <widget class="QTabWidget" name="tabWidget">
230
- <property name="currentIndex">
231
- <number>0</number>
232
- </property>
233
- <widget class="QWidget" name="tab_player_1">
234
- <attribute name="title">
235
- <string>Media files</string>
236
- </attribute>
237
- <layout class="QVBoxLayout" name="verticalLayout">
238
- <item>
239
- <layout class="QVBoxLayout" name="verticalLayout_3">
240
- <item>
241
- <widget class="QTableWidget" name="twVideo1">
242
- <property name="editTriggers">
243
- <set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
244
- </property>
245
- <property name="alternatingRowColors">
246
- <bool>true</bool>
247
- </property>
248
- <property name="selectionMode">
249
- <enum>QAbstractItemView::MultiSelection</enum>
250
- </property>
251
- <property name="selectionBehavior">
252
- <enum>QAbstractItemView::SelectRows</enum>
253
- </property>
254
- <property name="textElideMode">
255
- <enum>Qt::ElideNone</enum>
256
- </property>
257
- <column>
258
- <property name="text">
259
- <string>Player</string>
260
- </property>
261
- </column>
262
- <column>
263
- <property name="text">
264
- <string>Offset (seconds)</string>
265
- </property>
266
- </column>
267
- <column>
268
- <property name="text">
269
- <string>Path</string>
270
- </property>
271
- </column>
272
- <column>
273
- <property name="text">
274
- <string>Duration</string>
275
- </property>
276
- </column>
277
- <column>
278
- <property name="text">
279
- <string>FPS</string>
280
- </property>
281
- </column>
282
- <column>
283
- <property name="text">
284
- <string>Video</string>
285
- </property>
286
- </column>
287
- <column>
288
- <property name="text">
289
- <string>Audio</string>
290
- </property>
291
- </column>
292
- </widget>
293
- </item>
294
- </layout>
295
- </item>
296
- <item>
297
- <layout class="QHBoxLayout" name="horizontalLayout_3">
298
- <item>
299
- <widget class="QPushButton" name="pbAddVideo">
300
- <property name="text">
301
- <string>Add media</string>
302
- </property>
303
- </widget>
304
- </item>
305
- <item>
306
- <widget class="QPushButton" name="pbRemoveVideo">
307
- <property name="text">
308
- <string>Remove selected media</string>
309
- </property>
310
- </widget>
311
- </item>
312
- <item>
313
- <widget class="QPushButton" name="pb_use_media_file_name_as_obsid">
314
- <property name="text">
315
- <string>Use media file name as observation id</string>
316
- </property>
317
- </widget>
318
- </item>
319
- <item>
320
- <spacer name="horizontalSpacer_6">
321
- <property name="orientation">
322
- <enum>Qt::Horizontal</enum>
323
- </property>
324
- <property name="sizeHint" stdset="0">
325
- <size>
326
- <width>40</width>
327
- <height>20</height>
328
- </size>
329
- </property>
330
- </spacer>
331
- </item>
332
- </layout>
333
- </item>
334
- <item>
335
- <layout class="QHBoxLayout" name="horizontalLayout_15">
336
- <item>
337
- <widget class="QCheckBox" name="cbVisualizeSpectrogram">
338
- <property name="text">
339
- <string>Visualize the sound spectrogram for the player #1</string>
340
- </property>
341
- </widget>
342
- </item>
343
- <item>
344
- <widget class="QCheckBox" name="cb_visualize_waveform">
345
- <property name="text">
346
- <string>Visualize the waveform for the player #1</string>
347
- </property>
348
- </widget>
349
- </item>
350
- <item>
351
- <spacer name="horizontalSpacer_11">
352
- <property name="orientation">
353
- <enum>Qt::Horizontal</enum>
354
- </property>
355
- <property name="sizeHint" stdset="0">
356
- <size>
357
- <width>40</width>
358
- <height>20</height>
359
- </size>
360
- </property>
361
- </spacer>
362
- </item>
363
- </layout>
364
- </item>
365
- <item>
366
- <layout class="QHBoxLayout" name="horizontalLayout_12">
367
- <item>
368
- <widget class="QLabel" name="label_2">
369
- <property name="text">
370
- <string>Image display duration (s)</string>
371
- </property>
372
- </widget>
373
- </item>
374
- <item>
375
- <widget class="QSpinBox" name="sb_image_display_duration">
376
- <property name="minimum">
377
- <number>1</number>
378
- </property>
379
- <property name="maximum">
380
- <number>86400</number>
381
- </property>
382
- </widget>
383
- </item>
384
- <item>
385
- <spacer name="horizontalSpacer_8">
386
- <property name="orientation">
387
- <enum>Qt::Horizontal</enum>
388
- </property>
389
- <property name="sizeHint" stdset="0">
390
- <size>
391
- <width>40</width>
392
- <height>20</height>
393
- </size>
394
- </property>
395
- </spacer>
396
- </item>
397
- </layout>
398
- </item>
399
- <item>
400
- <widget class="QCheckBox" name="cbCloseCurrentBehaviorsBetweenVideo">
401
- <property name="text">
402
- <string>Stop ongoing state events between successive media files</string>
403
- </property>
404
- </widget>
405
- </item>
406
- </layout>
407
- </widget>
408
- <widget class="QWidget" name="tab_data_files">
409
- <attribute name="title">
410
- <string>Data files</string>
411
- </attribute>
412
- <layout class="QVBoxLayout" name="verticalLayout_17">
413
- <item>
414
- <widget class="QSplitter" name="splitter_5">
415
- <property name="orientation">
416
- <enum>Qt::Vertical</enum>
417
- </property>
418
- <widget class="QWidget" name="layoutWidget_4">
419
- <layout class="QVBoxLayout" name="verticalLayout_15">
420
- <item>
421
- <widget class="QLabel" name="label_7">
422
- <property name="text">
423
- <string>Data files to plot</string>
424
- </property>
425
- </widget>
426
- </item>
427
- <item>
428
- <widget class="QTableWidget" name="tw_data_files">
429
- <property name="selectionMode">
430
- <enum>QAbstractItemView::MultiSelection</enum>
431
- </property>
432
- <column>
433
- <property name="text">
434
- <string>Path</string>
435
- </property>
436
- </column>
437
- <column>
438
- <property name="text">
439
- <string>Columns to plot</string>
440
- </property>
441
- </column>
442
- <column>
443
- <property name="text">
444
- <string>Plot title</string>
445
- </property>
446
- </column>
447
- <column>
448
- <property name="text">
449
- <string>Variable name</string>
450
- </property>
451
- </column>
452
- <column>
453
- <property name="text">
454
- <string>Converters</string>
455
- </property>
456
- </column>
457
- <column>
458
- <property name="text">
459
- <string>Time interval (s)</string>
460
- </property>
461
- </column>
462
- <column>
463
- <property name="text">
464
- <string>Start position (s)</string>
465
- </property>
466
- </column>
467
- <column>
468
- <property name="text">
469
- <string>Substract first value</string>
470
- </property>
471
- </column>
472
- <column>
473
- <property name="text">
474
- <string>Color</string>
475
- </property>
476
- </column>
477
- </widget>
478
- </item>
479
- </layout>
480
- </widget>
481
- <widget class="QWidget" name="layoutWidget_5">
482
- <layout class="QVBoxLayout" name="verticalLayout_16">
483
- <item>
484
- <layout class="QHBoxLayout" name="horizontalLayout_5">
485
- <item>
486
- <widget class="QPushButton" name="pb_add_data_file">
487
- <property name="text">
488
- <string>Add data file</string>
489
- </property>
490
- </widget>
491
- </item>
492
- <item>
493
- <widget class="QPushButton" name="pb_remove_data_file">
494
- <property name="text">
495
- <string>Remove selected data file</string>
496
- </property>
497
- </widget>
498
- </item>
499
- <item>
500
- <widget class="QPushButton" name="pb_view_data_head">
501
- <property name="text">
502
- <string>View first rows</string>
503
- </property>
504
- </widget>
505
- </item>
506
- <item>
507
- <widget class="QPushButton" name="pb_plot_data">
508
- <property name="text">
509
- <string>Show plot</string>
510
- </property>
511
- </widget>
512
- </item>
513
- <item>
514
- <spacer name="horizontalSpacer_7">
515
- <property name="orientation">
516
- <enum>Qt::Horizontal</enum>
517
- </property>
518
- <property name="sizeHint" stdset="0">
519
- <size>
520
- <width>40</width>
521
- <height>20</height>
522
- </size>
523
- </property>
524
- </spacer>
525
- </item>
526
- </layout>
527
- </item>
528
- <item>
529
- <spacer name="verticalSpacer_4">
530
- <property name="orientation">
531
- <enum>Qt::Vertical</enum>
532
- </property>
533
- <property name="sizeHint" stdset="0">
534
- <size>
535
- <width>20</width>
536
- <height>40</height>
537
- </size>
538
- </property>
539
- </spacer>
540
- </item>
541
- </layout>
542
- </widget>
543
- </widget>
544
- </item>
545
- </layout>
546
- </widget>
547
- </widget>
548
- </item>
549
- </layout>
550
- </widget>
551
- <widget class="QWidget" name="pg_live">
552
- <layout class="QVBoxLayout" name="verticalLayout_4">
553
- <item>
554
- <layout class="QVBoxLayout" name="verticalLayout_8">
555
- <item>
556
- <layout class="QHBoxLayout" name="horizontalLayout_8">
557
- <item>
558
- <widget class="QLabel" name="label_4">
559
- <property name="text">
560
- <string>Scan sampling every</string>
561
- </property>
562
- </widget>
563
- </item>
564
- <item>
565
- <widget class="QSpinBox" name="sbScanSampling">
566
- <property name="maximum">
567
- <number>1000000</number>
568
- </property>
569
- </widget>
570
- </item>
571
- <item>
572
- <widget class="QLabel" name="label_6">
573
- <property name="text">
574
- <string>seconds</string>
575
- </property>
576
- </widget>
577
- </item>
578
- <item>
579
- <spacer name="horizontalSpacer">
580
- <property name="orientation">
581
- <enum>Qt::Horizontal</enum>
582
- </property>
583
- <property name="sizeHint" stdset="0">
584
- <size>
585
- <width>40</width>
586
- <height>20</height>
587
- </size>
588
- </property>
589
- </spacer>
590
- </item>
591
- </layout>
592
- </item>
593
- <item>
594
- <widget class="QCheckBox" name="cb_start_from_current_time">
595
- <property name="text">
596
- <string>Start from current time</string>
597
- </property>
598
- </widget>
599
- </item>
600
- <item>
601
- <widget class="QRadioButton" name="rb_day_time">
602
- <property name="enabled">
603
- <bool>false</bool>
604
- </property>
605
- <property name="text">
606
- <string>Day time</string>
607
- </property>
608
- <property name="checked">
609
- <bool>true</bool>
610
- </property>
611
- </widget>
612
- </item>
613
- <item>
614
- <widget class="QRadioButton" name="rb_epoch_time">
615
- <property name="enabled">
616
- <bool>false</bool>
617
- </property>
618
- <property name="text">
619
- <string>Epoch time (seconds since 1970-01-01)</string>
620
- </property>
621
- </widget>
622
- </item>
623
- <item>
624
- <spacer name="verticalSpacer_2">
625
- <property name="orientation">
626
- <enum>Qt::Vertical</enum>
627
- </property>
628
- <property name="sizeHint" stdset="0">
629
- <size>
630
- <width>20</width>
631
- <height>40</height>
632
- </size>
633
- </property>
634
- </spacer>
635
- </item>
636
- </layout>
637
- </item>
638
- </layout>
639
- </widget>
640
- <widget class="QWidget" name="pg_images">
641
- <layout class="QVBoxLayout" name="verticalLayout_5">
642
- <item>
643
- <layout class="QHBoxLayout" name="horizontalLayout_9">
644
- <item>
645
- <widget class="QListWidget" name="lw_images_directory"/>
646
- </item>
647
- </layout>
648
- </item>
649
- <item>
650
- <widget class="QLabel" name="lb_images_info">
651
- <property name="text">
652
- <string>Image info:</string>
653
- </property>
654
- </widget>
655
- </item>
656
- <item>
657
- <layout class="QHBoxLayout" name="horizontalLayout_14">
658
- <item>
659
- <widget class="QPushButton" name="pb_add_directory">
660
- <property name="text">
661
- <string>Add directory</string>
662
- </property>
663
- </widget>
664
- </item>
665
- <item>
666
- <widget class="QPushButton" name="pb_remove_directory">
667
- <property name="text">
668
- <string>Remove directory</string>
669
- </property>
670
- </widget>
671
- </item>
672
- <item>
673
- <spacer name="horizontalSpacer_10">
674
- <property name="orientation">
675
- <enum>Qt::Horizontal</enum>
676
- </property>
677
- <property name="sizeHint" stdset="0">
678
- <size>
679
- <width>40</width>
680
- <height>20</height>
681
- </size>
682
- </property>
683
- </spacer>
684
- </item>
685
- </layout>
686
- </item>
687
- <item>
688
- <layout class="QHBoxLayout" name="horizontalLayout_13">
689
- <item>
690
- <widget class="QPushButton" name="pb_use_img_dir_as_obsid">
691
- <property name="text">
692
- <string>Use the pictures directory as observation id</string>
693
- </property>
694
- </widget>
695
- </item>
696
- <item>
697
- <spacer name="horizontalSpacer_9">
698
- <property name="orientation">
699
- <enum>Qt::Horizontal</enum>
700
- </property>
701
- <property name="sizeHint" stdset="0">
702
- <size>
703
- <width>40</width>
704
- <height>20</height>
705
- </size>
706
- </property>
707
- </spacer>
708
- </item>
709
- </layout>
710
- </item>
711
- <item>
712
- <widget class="QGroupBox" name="groupBox">
713
- <property name="title">
714
- <string>Time</string>
715
- </property>
716
- <layout class="QHBoxLayout" name="horizontalLayout_11">
717
- <item>
718
- <layout class="QHBoxLayout" name="horizontalLayout_10">
719
- <item>
720
- <widget class="QRadioButton" name="rb_no_time">
721
- <property name="text">
722
- <string>No time</string>
723
- </property>
724
- </widget>
725
- </item>
726
- <item>
727
- <widget class="QRadioButton" name="rb_use_exif">
728
- <property name="text">
729
- <string>Use the EXIF DateTimeOriginal tag</string>
730
- </property>
731
- </widget>
732
- </item>
733
- <item>
734
- <widget class="QRadioButton" name="rb_time_lapse">
735
- <property name="text">
736
- <string>Time lapse (s)</string>
737
- </property>
738
- </widget>
739
- </item>
740
- <item>
741
- <widget class="QDoubleSpinBox" name="sb_time_lapse">
742
- <property name="decimals">
743
- <number>3</number>
744
- </property>
745
- <property name="maximum">
746
- <double>86400.000000000000000</double>
747
- </property>
748
- </widget>
749
- </item>
750
- <item>
751
- <spacer name="horizontalSpacer_5">
752
- <property name="orientation">
753
- <enum>Qt::Horizontal</enum>
754
- </property>
755
- <property name="sizeHint" stdset="0">
756
- <size>
757
- <width>40</width>
758
- <height>20</height>
759
- </size>
760
- </property>
761
- </spacer>
762
- </item>
763
- </layout>
764
- </item>
765
- </layout>
766
- </widget>
767
- </item>
768
- </layout>
769
- </widget>
770
- </widget>
771
- </item>
772
- <item>
773
- <layout class="QHBoxLayout" name="horizontalLayout">
774
- <item>
775
- <spacer name="horizontalSpacer_3">
776
- <property name="orientation">
777
- <enum>Qt::Horizontal</enum>
778
- </property>
779
- <property name="sizeHint" stdset="0">
780
- <size>
781
- <width>40</width>
782
- <height>20</height>
783
- </size>
784
- </property>
785
- </spacer>
786
- </item>
787
- <item>
788
- <widget class="QPushButton" name="pbCancel">
789
- <property name="text">
790
- <string>Cancel</string>
791
- </property>
792
- </widget>
793
- </item>
794
- <item>
795
- <widget class="QPushButton" name="pbSave">
796
- <property name="text">
797
- <string>Save</string>
798
- </property>
799
- </widget>
800
- </item>
801
- <item>
802
- <widget class="QPushButton" name="pbLaunch">
803
- <property name="text">
804
- <string>Start</string>
805
- </property>
806
- </widget>
807
- </item>
808
- </layout>
809
- </item>
810
- </layout>
811
- </widget>
812
- <resources/>
813
- <connections/>
814
- </ui>