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/observation_ui.py
CHANGED
|
@@ -1,451 +1,679 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
from PyQt5 import QtCore, QtGui, QtWidgets
|
|
3
|
+
################################################################################
|
|
4
|
+
## Form generated from reading UI file 'observation.ui'
|
|
5
|
+
##
|
|
6
|
+
## Created by: Qt User Interface Compiler version 6.8.0
|
|
7
|
+
##
|
|
8
|
+
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
9
|
+
################################################################################
|
|
12
10
|
|
|
11
|
+
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
|
12
|
+
QMetaObject, QObject, QPoint, QRect,
|
|
13
|
+
QSize, QTime, QUrl, Qt)
|
|
14
|
+
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
|
15
|
+
QFont, QFontDatabase, QGradient, QIcon,
|
|
16
|
+
QImage, QKeySequence, QLinearGradient, QPainter,
|
|
17
|
+
QPalette, QPixmap, QRadialGradient, QTransform)
|
|
18
|
+
from PySide6.QtWidgets import (QAbstractItemView, QApplication, QCheckBox, QDateTimeEdit,
|
|
19
|
+
QDoubleSpinBox, QGroupBox, QHBoxLayout, QHeaderView,
|
|
20
|
+
QLabel, QLineEdit, QListWidget, QListWidgetItem,
|
|
21
|
+
QPushButton, QRadioButton, QSizePolicy, QSpacerItem,
|
|
22
|
+
QSpinBox, QSplitter, QStackedWidget, QTabWidget,
|
|
23
|
+
QTableWidget, QTableWidgetItem, QTextEdit, QVBoxLayout,
|
|
24
|
+
QWidget)
|
|
13
25
|
|
|
14
26
|
class Ui_Form(object):
|
|
15
27
|
def setupUi(self, Form):
|
|
16
|
-
Form.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
self.verticalLayout_6
|
|
20
|
-
self.
|
|
21
|
-
self.horizontalLayout_2
|
|
22
|
-
self.
|
|
23
|
-
self.label
|
|
28
|
+
if not Form.objectName():
|
|
29
|
+
Form.setObjectName(u"Form")
|
|
30
|
+
Form.resize(1278, 677)
|
|
31
|
+
self.verticalLayout_6 = QVBoxLayout(Form)
|
|
32
|
+
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
|
|
33
|
+
self.horizontalLayout_2 = QHBoxLayout()
|
|
34
|
+
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
|
|
35
|
+
self.label = QLabel(Form)
|
|
36
|
+
self.label.setObjectName(u"label")
|
|
37
|
+
|
|
24
38
|
self.horizontalLayout_2.addWidget(self.label)
|
|
25
|
-
|
|
26
|
-
|
|
39
|
+
|
|
40
|
+
self.lb_star = QLabel(Form)
|
|
41
|
+
self.lb_star.setObjectName(u"lb_star")
|
|
42
|
+
font = QFont()
|
|
27
43
|
font.setPointSize(14)
|
|
28
44
|
self.lb_star.setFont(font)
|
|
29
|
-
self.lb_star.setStyleSheet("color: red")
|
|
30
|
-
|
|
45
|
+
self.lb_star.setStyleSheet(u"color: red")
|
|
46
|
+
|
|
31
47
|
self.horizontalLayout_2.addWidget(self.lb_star)
|
|
32
|
-
|
|
33
|
-
self.leObservationId
|
|
48
|
+
|
|
49
|
+
self.leObservationId = QLineEdit(Form)
|
|
50
|
+
self.leObservationId.setObjectName(u"leObservationId")
|
|
51
|
+
|
|
34
52
|
self.horizontalLayout_2.addWidget(self.leObservationId)
|
|
35
|
-
|
|
36
|
-
self.label_8
|
|
53
|
+
|
|
54
|
+
self.label_8 = QLabel(Form)
|
|
55
|
+
self.label_8.setObjectName(u"label_8")
|
|
56
|
+
|
|
37
57
|
self.horizontalLayout_2.addWidget(self.label_8)
|
|
38
|
-
|
|
58
|
+
|
|
59
|
+
self.dteDate = QDateTimeEdit(Form)
|
|
60
|
+
self.dteDate.setObjectName(u"dteDate")
|
|
39
61
|
self.dteDate.setCalendarPopup(True)
|
|
40
|
-
|
|
62
|
+
|
|
41
63
|
self.horizontalLayout_2.addWidget(self.dteDate)
|
|
64
|
+
|
|
65
|
+
|
|
42
66
|
self.verticalLayout_6.addLayout(self.horizontalLayout_2)
|
|
43
|
-
|
|
44
|
-
self.splitter
|
|
45
|
-
self.splitter.setObjectName("splitter")
|
|
46
|
-
self.
|
|
47
|
-
self.layoutWidget.
|
|
48
|
-
self.
|
|
67
|
+
|
|
68
|
+
self.splitter = QSplitter(Form)
|
|
69
|
+
self.splitter.setObjectName(u"splitter")
|
|
70
|
+
self.splitter.setOrientation(Qt.Orientation.Horizontal)
|
|
71
|
+
self.layoutWidget = QWidget(self.splitter)
|
|
72
|
+
self.layoutWidget.setObjectName(u"layoutWidget")
|
|
73
|
+
self.verticalLayout_2 = QVBoxLayout(self.layoutWidget)
|
|
74
|
+
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
|
49
75
|
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
|
|
50
|
-
self.
|
|
51
|
-
self.label_9
|
|
52
|
-
sizePolicy =
|
|
76
|
+
self.label_9 = QLabel(self.layoutWidget)
|
|
77
|
+
self.label_9.setObjectName(u"label_9")
|
|
78
|
+
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
|
|
53
79
|
sizePolicy.setHorizontalStretch(0)
|
|
54
80
|
sizePolicy.setVerticalStretch(0)
|
|
55
81
|
sizePolicy.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth())
|
|
56
82
|
self.label_9.setSizePolicy(sizePolicy)
|
|
57
|
-
self.label_9.setAlignment(
|
|
58
|
-
|
|
83
|
+
self.label_9.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
|
|
84
|
+
|
|
59
85
|
self.verticalLayout_2.addWidget(self.label_9)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
self.teDescription.
|
|
86
|
+
|
|
87
|
+
self.teDescription = QTextEdit(self.layoutWidget)
|
|
88
|
+
self.teDescription.setObjectName(u"teDescription")
|
|
89
|
+
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
|
90
|
+
sizePolicy1.setHorizontalStretch(0)
|
|
91
|
+
sizePolicy1.setVerticalStretch(0)
|
|
92
|
+
sizePolicy1.setHeightForWidth(self.teDescription.sizePolicy().hasHeightForWidth())
|
|
93
|
+
self.teDescription.setSizePolicy(sizePolicy1)
|
|
94
|
+
self.teDescription.setMaximumSize(QSize(16777215, 16777215))
|
|
67
95
|
self.teDescription.setAcceptDrops(False)
|
|
68
|
-
|
|
96
|
+
|
|
69
97
|
self.verticalLayout_2.addWidget(self.teDescription)
|
|
70
|
-
|
|
71
|
-
self.
|
|
72
|
-
self.
|
|
73
|
-
|
|
98
|
+
|
|
99
|
+
self.cb_time_offset = QCheckBox(self.layoutWidget)
|
|
100
|
+
self.cb_time_offset.setObjectName(u"cb_time_offset")
|
|
101
|
+
|
|
102
|
+
self.verticalLayout_2.addWidget(self.cb_time_offset)
|
|
103
|
+
|
|
104
|
+
self.horizontalLayout_6 = QHBoxLayout()
|
|
105
|
+
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
|
|
106
|
+
self.lbTimeOffset = QLabel(self.layoutWidget)
|
|
107
|
+
self.lbTimeOffset.setObjectName(u"lbTimeOffset")
|
|
108
|
+
|
|
74
109
|
self.horizontalLayout_6.addWidget(self.lbTimeOffset)
|
|
75
|
-
|
|
76
|
-
self.
|
|
110
|
+
|
|
111
|
+
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
112
|
+
|
|
113
|
+
self.horizontalLayout_6.addItem(self.horizontalSpacer_2)
|
|
114
|
+
|
|
115
|
+
|
|
77
116
|
self.verticalLayout_2.addLayout(self.horizontalLayout_6)
|
|
78
|
-
|
|
79
|
-
self.cb_observation_time_interval.
|
|
117
|
+
|
|
118
|
+
self.cb_observation_time_interval = QCheckBox(self.layoutWidget)
|
|
119
|
+
self.cb_observation_time_interval.setObjectName(u"cb_observation_time_interval")
|
|
120
|
+
|
|
80
121
|
self.verticalLayout_2.addWidget(self.cb_observation_time_interval)
|
|
81
|
-
|
|
82
|
-
self.
|
|
83
|
-
self.
|
|
122
|
+
|
|
123
|
+
self.splitter.addWidget(self.layoutWidget)
|
|
124
|
+
self.layoutWidget1 = QWidget(self.splitter)
|
|
125
|
+
self.layoutWidget1.setObjectName(u"layoutWidget1")
|
|
126
|
+
self.verticalLayout_11 = QVBoxLayout(self.layoutWidget1)
|
|
127
|
+
self.verticalLayout_11.setObjectName(u"verticalLayout_11")
|
|
84
128
|
self.verticalLayout_11.setContentsMargins(0, 0, 0, 0)
|
|
85
|
-
self.
|
|
86
|
-
self.label_3
|
|
87
|
-
|
|
129
|
+
self.label_3 = QLabel(self.layoutWidget1)
|
|
130
|
+
self.label_3.setObjectName(u"label_3")
|
|
131
|
+
|
|
88
132
|
self.verticalLayout_11.addWidget(self.label_3)
|
|
89
|
-
|
|
90
|
-
self.twIndepVariables.
|
|
91
|
-
self.twIndepVariables.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
self.twIndepVariables.setHorizontalHeaderItem(0,
|
|
95
|
-
|
|
96
|
-
self.twIndepVariables.setHorizontalHeaderItem(1,
|
|
97
|
-
|
|
98
|
-
self.twIndepVariables.setHorizontalHeaderItem(2,
|
|
133
|
+
|
|
134
|
+
self.twIndepVariables = QTableWidget(self.layoutWidget1)
|
|
135
|
+
if (self.twIndepVariables.columnCount() < 3):
|
|
136
|
+
self.twIndepVariables.setColumnCount(3)
|
|
137
|
+
__qtablewidgetitem = QTableWidgetItem()
|
|
138
|
+
self.twIndepVariables.setHorizontalHeaderItem(0, __qtablewidgetitem)
|
|
139
|
+
__qtablewidgetitem1 = QTableWidgetItem()
|
|
140
|
+
self.twIndepVariables.setHorizontalHeaderItem(1, __qtablewidgetitem1)
|
|
141
|
+
__qtablewidgetitem2 = QTableWidgetItem()
|
|
142
|
+
self.twIndepVariables.setHorizontalHeaderItem(2, __qtablewidgetitem2)
|
|
143
|
+
self.twIndepVariables.setObjectName(u"twIndepVariables")
|
|
144
|
+
|
|
99
145
|
self.verticalLayout_11.addWidget(self.twIndepVariables)
|
|
146
|
+
|
|
147
|
+
self.splitter.addWidget(self.layoutWidget1)
|
|
148
|
+
|
|
100
149
|
self.verticalLayout_6.addWidget(self.splitter)
|
|
101
|
-
|
|
102
|
-
self.gb_observation_type
|
|
103
|
-
self.
|
|
104
|
-
self.horizontalLayout_7.
|
|
105
|
-
self.
|
|
106
|
-
self.horizontalLayout_4
|
|
107
|
-
self.
|
|
108
|
-
self.rb_media_files.
|
|
150
|
+
|
|
151
|
+
self.gb_observation_type = QGroupBox(Form)
|
|
152
|
+
self.gb_observation_type.setObjectName(u"gb_observation_type")
|
|
153
|
+
self.horizontalLayout_7 = QHBoxLayout(self.gb_observation_type)
|
|
154
|
+
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
|
|
155
|
+
self.horizontalLayout_4 = QHBoxLayout()
|
|
156
|
+
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
|
|
157
|
+
self.rb_media_files = QRadioButton(self.gb_observation_type)
|
|
158
|
+
self.rb_media_files.setObjectName(u"rb_media_files")
|
|
159
|
+
|
|
109
160
|
self.horizontalLayout_4.addWidget(self.rb_media_files)
|
|
110
|
-
|
|
111
|
-
self.rb_live.
|
|
161
|
+
|
|
162
|
+
self.rb_live = QRadioButton(self.gb_observation_type)
|
|
163
|
+
self.rb_live.setObjectName(u"rb_live")
|
|
164
|
+
|
|
112
165
|
self.horizontalLayout_4.addWidget(self.rb_live)
|
|
113
|
-
|
|
166
|
+
|
|
167
|
+
self.rb_images = QRadioButton(self.gb_observation_type)
|
|
168
|
+
self.rb_images.setObjectName(u"rb_images")
|
|
114
169
|
self.rb_images.setEnabled(True)
|
|
115
|
-
|
|
170
|
+
|
|
116
171
|
self.horizontalLayout_4.addWidget(self.rb_images)
|
|
117
|
-
|
|
118
|
-
self.
|
|
172
|
+
|
|
173
|
+
self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
174
|
+
|
|
175
|
+
self.horizontalLayout_4.addItem(self.horizontalSpacer_4)
|
|
176
|
+
|
|
177
|
+
|
|
119
178
|
self.horizontalLayout_7.addLayout(self.horizontalLayout_4)
|
|
179
|
+
|
|
180
|
+
|
|
120
181
|
self.verticalLayout_6.addWidget(self.gb_observation_type)
|
|
121
|
-
|
|
122
|
-
self.sw_observation_type
|
|
123
|
-
self.
|
|
124
|
-
self.page
|
|
182
|
+
|
|
183
|
+
self.sw_observation_type = QStackedWidget(Form)
|
|
184
|
+
self.sw_observation_type.setObjectName(u"sw_observation_type")
|
|
185
|
+
self.page = QWidget()
|
|
186
|
+
self.page.setObjectName(u"page")
|
|
125
187
|
self.sw_observation_type.addWidget(self.page)
|
|
126
|
-
self.pg_media_files =
|
|
127
|
-
self.pg_media_files.setObjectName("pg_media_files")
|
|
128
|
-
self.verticalLayout_7 =
|
|
129
|
-
self.verticalLayout_7.setObjectName("verticalLayout_7")
|
|
130
|
-
self.tabWidget =
|
|
131
|
-
self.tabWidget.setObjectName("tabWidget")
|
|
132
|
-
self.tab_player_1 =
|
|
133
|
-
self.tab_player_1.setObjectName("tab_player_1")
|
|
134
|
-
self.verticalLayout =
|
|
135
|
-
self.verticalLayout.setObjectName("verticalLayout")
|
|
136
|
-
self.verticalLayout_3 =
|
|
137
|
-
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
|
138
|
-
self.twVideo1 =
|
|
139
|
-
self.twVideo1.
|
|
188
|
+
self.pg_media_files = QWidget()
|
|
189
|
+
self.pg_media_files.setObjectName(u"pg_media_files")
|
|
190
|
+
self.verticalLayout_7 = QVBoxLayout(self.pg_media_files)
|
|
191
|
+
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
|
|
192
|
+
self.tabWidget = QTabWidget(self.pg_media_files)
|
|
193
|
+
self.tabWidget.setObjectName(u"tabWidget")
|
|
194
|
+
self.tab_player_1 = QWidget()
|
|
195
|
+
self.tab_player_1.setObjectName(u"tab_player_1")
|
|
196
|
+
self.verticalLayout = QVBoxLayout(self.tab_player_1)
|
|
197
|
+
self.verticalLayout.setObjectName(u"verticalLayout")
|
|
198
|
+
self.verticalLayout_3 = QVBoxLayout()
|
|
199
|
+
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
|
|
200
|
+
self.twVideo1 = QTableWidget(self.tab_player_1)
|
|
201
|
+
if (self.twVideo1.columnCount() < 7):
|
|
202
|
+
self.twVideo1.setColumnCount(7)
|
|
203
|
+
__qtablewidgetitem3 = QTableWidgetItem()
|
|
204
|
+
self.twVideo1.setHorizontalHeaderItem(0, __qtablewidgetitem3)
|
|
205
|
+
__qtablewidgetitem4 = QTableWidgetItem()
|
|
206
|
+
self.twVideo1.setHorizontalHeaderItem(1, __qtablewidgetitem4)
|
|
207
|
+
__qtablewidgetitem5 = QTableWidgetItem()
|
|
208
|
+
self.twVideo1.setHorizontalHeaderItem(2, __qtablewidgetitem5)
|
|
209
|
+
__qtablewidgetitem6 = QTableWidgetItem()
|
|
210
|
+
self.twVideo1.setHorizontalHeaderItem(3, __qtablewidgetitem6)
|
|
211
|
+
__qtablewidgetitem7 = QTableWidgetItem()
|
|
212
|
+
self.twVideo1.setHorizontalHeaderItem(4, __qtablewidgetitem7)
|
|
213
|
+
__qtablewidgetitem8 = QTableWidgetItem()
|
|
214
|
+
self.twVideo1.setHorizontalHeaderItem(5, __qtablewidgetitem8)
|
|
215
|
+
__qtablewidgetitem9 = QTableWidgetItem()
|
|
216
|
+
self.twVideo1.setHorizontalHeaderItem(6, __qtablewidgetitem9)
|
|
217
|
+
self.twVideo1.setObjectName(u"twVideo1")
|
|
218
|
+
self.twVideo1.setEditTriggers(QAbstractItemView.EditTrigger.AnyKeyPressed|QAbstractItemView.EditTrigger.DoubleClicked|QAbstractItemView.EditTrigger.EditKeyPressed)
|
|
140
219
|
self.twVideo1.setAlternatingRowColors(True)
|
|
141
|
-
self.twVideo1.setSelectionMode(
|
|
142
|
-
self.twVideo1.setSelectionBehavior(
|
|
143
|
-
self.twVideo1.setTextElideMode(
|
|
144
|
-
|
|
145
|
-
self.twVideo1.setColumnCount(7)
|
|
146
|
-
self.twVideo1.setRowCount(0)
|
|
147
|
-
item = QtWidgets.QTableWidgetItem()
|
|
148
|
-
self.twVideo1.setHorizontalHeaderItem(0, item)
|
|
149
|
-
item = QtWidgets.QTableWidgetItem()
|
|
150
|
-
self.twVideo1.setHorizontalHeaderItem(1, item)
|
|
151
|
-
item = QtWidgets.QTableWidgetItem()
|
|
152
|
-
self.twVideo1.setHorizontalHeaderItem(2, item)
|
|
153
|
-
item = QtWidgets.QTableWidgetItem()
|
|
154
|
-
self.twVideo1.setHorizontalHeaderItem(3, item)
|
|
155
|
-
item = QtWidgets.QTableWidgetItem()
|
|
156
|
-
self.twVideo1.setHorizontalHeaderItem(4, item)
|
|
157
|
-
item = QtWidgets.QTableWidgetItem()
|
|
158
|
-
self.twVideo1.setHorizontalHeaderItem(5, item)
|
|
159
|
-
item = QtWidgets.QTableWidgetItem()
|
|
160
|
-
self.twVideo1.setHorizontalHeaderItem(6, item)
|
|
220
|
+
self.twVideo1.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection)
|
|
221
|
+
self.twVideo1.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
|
|
222
|
+
self.twVideo1.setTextElideMode(Qt.TextElideMode.ElideNone)
|
|
223
|
+
|
|
161
224
|
self.verticalLayout_3.addWidget(self.twVideo1)
|
|
225
|
+
|
|
226
|
+
|
|
162
227
|
self.verticalLayout.addLayout(self.verticalLayout_3)
|
|
163
|
-
|
|
164
|
-
self.horizontalLayout_3
|
|
165
|
-
self.
|
|
166
|
-
self.pbAddVideo.
|
|
228
|
+
|
|
229
|
+
self.horizontalLayout_3 = QHBoxLayout()
|
|
230
|
+
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
|
231
|
+
self.pbAddVideo = QPushButton(self.tab_player_1)
|
|
232
|
+
self.pbAddVideo.setObjectName(u"pbAddVideo")
|
|
233
|
+
|
|
167
234
|
self.horizontalLayout_3.addWidget(self.pbAddVideo)
|
|
168
|
-
|
|
169
|
-
self.pbRemoveVideo.
|
|
235
|
+
|
|
236
|
+
self.pbRemoveVideo = QPushButton(self.tab_player_1)
|
|
237
|
+
self.pbRemoveVideo.setObjectName(u"pbRemoveVideo")
|
|
238
|
+
|
|
170
239
|
self.horizontalLayout_3.addWidget(self.pbRemoveVideo)
|
|
171
|
-
|
|
172
|
-
self.
|
|
240
|
+
|
|
241
|
+
self.pb_use_media_file_name_as_obsid = QPushButton(self.tab_player_1)
|
|
242
|
+
self.pb_use_media_file_name_as_obsid.setObjectName(u"pb_use_media_file_name_as_obsid")
|
|
243
|
+
|
|
244
|
+
self.horizontalLayout_3.addWidget(self.pb_use_media_file_name_as_obsid)
|
|
245
|
+
|
|
246
|
+
self.horizontalSpacer_6 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
247
|
+
|
|
248
|
+
self.horizontalLayout_3.addItem(self.horizontalSpacer_6)
|
|
249
|
+
|
|
250
|
+
|
|
173
251
|
self.verticalLayout.addLayout(self.horizontalLayout_3)
|
|
174
|
-
|
|
175
|
-
self.
|
|
176
|
-
self.
|
|
177
|
-
self.
|
|
178
|
-
self.
|
|
179
|
-
|
|
180
|
-
self.
|
|
252
|
+
|
|
253
|
+
self.horizontalLayout_15 = QHBoxLayout()
|
|
254
|
+
self.horizontalLayout_15.setObjectName(u"horizontalLayout_15")
|
|
255
|
+
self.cbVisualizeSpectrogram = QCheckBox(self.tab_player_1)
|
|
256
|
+
self.cbVisualizeSpectrogram.setObjectName(u"cbVisualizeSpectrogram")
|
|
257
|
+
|
|
258
|
+
self.horizontalLayout_15.addWidget(self.cbVisualizeSpectrogram)
|
|
259
|
+
|
|
260
|
+
self.cb_visualize_waveform = QCheckBox(self.tab_player_1)
|
|
261
|
+
self.cb_visualize_waveform.setObjectName(u"cb_visualize_waveform")
|
|
262
|
+
|
|
263
|
+
self.horizontalLayout_15.addWidget(self.cb_visualize_waveform)
|
|
264
|
+
|
|
265
|
+
self.cb_media_creation_date_as_offset = QCheckBox(self.tab_player_1)
|
|
266
|
+
self.cb_media_creation_date_as_offset.setObjectName(u"cb_media_creation_date_as_offset")
|
|
267
|
+
self.cb_media_creation_date_as_offset.setEnabled(False)
|
|
268
|
+
|
|
269
|
+
self.horizontalLayout_15.addWidget(self.cb_media_creation_date_as_offset)
|
|
270
|
+
|
|
271
|
+
self.horizontalSpacer_11 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
272
|
+
|
|
273
|
+
self.horizontalLayout_15.addItem(self.horizontalSpacer_11)
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
self.verticalLayout.addLayout(self.horizontalLayout_15)
|
|
277
|
+
|
|
278
|
+
self.horizontalLayout_12 = QHBoxLayout()
|
|
279
|
+
self.horizontalLayout_12.setObjectName(u"horizontalLayout_12")
|
|
280
|
+
self.label_5 = QLabel(self.tab_player_1)
|
|
281
|
+
self.label_5.setObjectName(u"label_5")
|
|
282
|
+
|
|
283
|
+
self.horizontalLayout_12.addWidget(self.label_5)
|
|
284
|
+
|
|
285
|
+
self.sb_media_scan_sampling = QSpinBox(self.tab_player_1)
|
|
286
|
+
self.sb_media_scan_sampling.setObjectName(u"sb_media_scan_sampling")
|
|
287
|
+
self.sb_media_scan_sampling.setMaximum(1000000)
|
|
288
|
+
|
|
289
|
+
self.horizontalLayout_12.addWidget(self.sb_media_scan_sampling)
|
|
290
|
+
|
|
291
|
+
self.label_2 = QLabel(self.tab_player_1)
|
|
292
|
+
self.label_2.setObjectName(u"label_2")
|
|
293
|
+
|
|
294
|
+
self.horizontalLayout_12.addWidget(self.label_2)
|
|
295
|
+
|
|
296
|
+
self.sb_image_display_duration = QSpinBox(self.tab_player_1)
|
|
297
|
+
self.sb_image_display_duration.setObjectName(u"sb_image_display_duration")
|
|
298
|
+
self.sb_image_display_duration.setMinimum(1)
|
|
299
|
+
self.sb_image_display_duration.setMaximum(86400)
|
|
300
|
+
|
|
301
|
+
self.horizontalLayout_12.addWidget(self.sb_image_display_duration)
|
|
302
|
+
|
|
303
|
+
self.horizontalSpacer_8 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
304
|
+
|
|
305
|
+
self.horizontalLayout_12.addItem(self.horizontalSpacer_8)
|
|
306
|
+
|
|
307
|
+
|
|
181
308
|
self.verticalLayout.addLayout(self.horizontalLayout_12)
|
|
182
|
-
|
|
183
|
-
self.
|
|
184
|
-
self.
|
|
185
|
-
self.
|
|
186
|
-
|
|
187
|
-
self.verticalLayout.addWidget(self.cb_visualize_waveform)
|
|
188
|
-
self.cbCloseCurrentBehaviorsBetweenVideo = QtWidgets.QCheckBox(self.tab_player_1)
|
|
189
|
-
self.cbCloseCurrentBehaviorsBetweenVideo.setObjectName("cbCloseCurrentBehaviorsBetweenVideo")
|
|
309
|
+
|
|
310
|
+
self.cbCloseCurrentBehaviorsBetweenVideo = QCheckBox(self.tab_player_1)
|
|
311
|
+
self.cbCloseCurrentBehaviorsBetweenVideo.setObjectName(u"cbCloseCurrentBehaviorsBetweenVideo")
|
|
312
|
+
self.cbCloseCurrentBehaviorsBetweenVideo.setEnabled(False)
|
|
313
|
+
|
|
190
314
|
self.verticalLayout.addWidget(self.cbCloseCurrentBehaviorsBetweenVideo)
|
|
315
|
+
|
|
191
316
|
self.tabWidget.addTab(self.tab_player_1, "")
|
|
192
|
-
self.tab_data_files =
|
|
193
|
-
self.tab_data_files.setObjectName("tab_data_files")
|
|
194
|
-
self.verticalLayout_17 =
|
|
195
|
-
self.verticalLayout_17.setObjectName("verticalLayout_17")
|
|
196
|
-
self.splitter_5 =
|
|
197
|
-
self.splitter_5.
|
|
198
|
-
self.splitter_5.
|
|
199
|
-
self.layoutWidget_4 =
|
|
200
|
-
self.layoutWidget_4.setObjectName("layoutWidget_4")
|
|
201
|
-
self.verticalLayout_15 =
|
|
317
|
+
self.tab_data_files = QWidget()
|
|
318
|
+
self.tab_data_files.setObjectName(u"tab_data_files")
|
|
319
|
+
self.verticalLayout_17 = QVBoxLayout(self.tab_data_files)
|
|
320
|
+
self.verticalLayout_17.setObjectName(u"verticalLayout_17")
|
|
321
|
+
self.splitter_5 = QSplitter(self.tab_data_files)
|
|
322
|
+
self.splitter_5.setObjectName(u"splitter_5")
|
|
323
|
+
self.splitter_5.setOrientation(Qt.Orientation.Vertical)
|
|
324
|
+
self.layoutWidget_4 = QWidget(self.splitter_5)
|
|
325
|
+
self.layoutWidget_4.setObjectName(u"layoutWidget_4")
|
|
326
|
+
self.verticalLayout_15 = QVBoxLayout(self.layoutWidget_4)
|
|
327
|
+
self.verticalLayout_15.setObjectName(u"verticalLayout_15")
|
|
202
328
|
self.verticalLayout_15.setContentsMargins(0, 0, 0, 0)
|
|
203
|
-
self.
|
|
204
|
-
self.label_7
|
|
205
|
-
|
|
329
|
+
self.label_7 = QLabel(self.layoutWidget_4)
|
|
330
|
+
self.label_7.setObjectName(u"label_7")
|
|
331
|
+
|
|
206
332
|
self.verticalLayout_15.addWidget(self.label_7)
|
|
207
|
-
|
|
208
|
-
self.tw_data_files
|
|
209
|
-
self.tw_data_files.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
self.tw_data_files.
|
|
333
|
+
|
|
334
|
+
self.tw_data_files = QTableWidget(self.layoutWidget_4)
|
|
335
|
+
if (self.tw_data_files.columnCount() < 9):
|
|
336
|
+
self.tw_data_files.setColumnCount(9)
|
|
337
|
+
__qtablewidgetitem10 = QTableWidgetItem()
|
|
338
|
+
self.tw_data_files.setHorizontalHeaderItem(0, __qtablewidgetitem10)
|
|
339
|
+
__qtablewidgetitem11 = QTableWidgetItem()
|
|
340
|
+
self.tw_data_files.setHorizontalHeaderItem(1, __qtablewidgetitem11)
|
|
341
|
+
__qtablewidgetitem12 = QTableWidgetItem()
|
|
342
|
+
self.tw_data_files.setHorizontalHeaderItem(2, __qtablewidgetitem12)
|
|
343
|
+
__qtablewidgetitem13 = QTableWidgetItem()
|
|
344
|
+
self.tw_data_files.setHorizontalHeaderItem(3, __qtablewidgetitem13)
|
|
345
|
+
__qtablewidgetitem14 = QTableWidgetItem()
|
|
346
|
+
self.tw_data_files.setHorizontalHeaderItem(4, __qtablewidgetitem14)
|
|
347
|
+
__qtablewidgetitem15 = QTableWidgetItem()
|
|
348
|
+
self.tw_data_files.setHorizontalHeaderItem(5, __qtablewidgetitem15)
|
|
349
|
+
__qtablewidgetitem16 = QTableWidgetItem()
|
|
350
|
+
self.tw_data_files.setHorizontalHeaderItem(6, __qtablewidgetitem16)
|
|
351
|
+
__qtablewidgetitem17 = QTableWidgetItem()
|
|
352
|
+
self.tw_data_files.setHorizontalHeaderItem(7, __qtablewidgetitem17)
|
|
353
|
+
__qtablewidgetitem18 = QTableWidgetItem()
|
|
354
|
+
self.tw_data_files.setHorizontalHeaderItem(8, __qtablewidgetitem18)
|
|
355
|
+
self.tw_data_files.setObjectName(u"tw_data_files")
|
|
356
|
+
self.tw_data_files.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection)
|
|
357
|
+
|
|
230
358
|
self.verticalLayout_15.addWidget(self.tw_data_files)
|
|
231
|
-
|
|
232
|
-
self.
|
|
233
|
-
self.
|
|
359
|
+
|
|
360
|
+
self.splitter_5.addWidget(self.layoutWidget_4)
|
|
361
|
+
self.layoutWidget_5 = QWidget(self.splitter_5)
|
|
362
|
+
self.layoutWidget_5.setObjectName(u"layoutWidget_5")
|
|
363
|
+
self.verticalLayout_16 = QVBoxLayout(self.layoutWidget_5)
|
|
364
|
+
self.verticalLayout_16.setObjectName(u"verticalLayout_16")
|
|
234
365
|
self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
|
|
235
|
-
self.
|
|
236
|
-
self.horizontalLayout_5
|
|
237
|
-
self.
|
|
238
|
-
self.pb_add_data_file
|
|
239
|
-
|
|
366
|
+
self.horizontalLayout_5 = QHBoxLayout()
|
|
367
|
+
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
|
|
368
|
+
self.pb_add_data_file = QPushButton(self.layoutWidget_5)
|
|
369
|
+
self.pb_add_data_file.setObjectName(u"pb_add_data_file")
|
|
370
|
+
|
|
240
371
|
self.horizontalLayout_5.addWidget(self.pb_add_data_file)
|
|
241
|
-
|
|
242
|
-
self.pb_remove_data_file.
|
|
372
|
+
|
|
373
|
+
self.pb_remove_data_file = QPushButton(self.layoutWidget_5)
|
|
374
|
+
self.pb_remove_data_file.setObjectName(u"pb_remove_data_file")
|
|
375
|
+
|
|
243
376
|
self.horizontalLayout_5.addWidget(self.pb_remove_data_file)
|
|
244
|
-
|
|
245
|
-
self.pb_view_data_head.
|
|
377
|
+
|
|
378
|
+
self.pb_view_data_head = QPushButton(self.layoutWidget_5)
|
|
379
|
+
self.pb_view_data_head.setObjectName(u"pb_view_data_head")
|
|
380
|
+
|
|
246
381
|
self.horizontalLayout_5.addWidget(self.pb_view_data_head)
|
|
247
|
-
|
|
248
|
-
self.pb_plot_data.
|
|
382
|
+
|
|
383
|
+
self.pb_plot_data = QPushButton(self.layoutWidget_5)
|
|
384
|
+
self.pb_plot_data.setObjectName(u"pb_plot_data")
|
|
385
|
+
|
|
249
386
|
self.horizontalLayout_5.addWidget(self.pb_plot_data)
|
|
250
|
-
|
|
251
|
-
self.
|
|
387
|
+
|
|
388
|
+
self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
389
|
+
|
|
390
|
+
self.horizontalLayout_5.addItem(self.horizontalSpacer_7)
|
|
391
|
+
|
|
392
|
+
|
|
252
393
|
self.verticalLayout_16.addLayout(self.horizontalLayout_5)
|
|
253
|
-
|
|
254
|
-
self.
|
|
394
|
+
|
|
395
|
+
self.verticalSpacer_4 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
|
396
|
+
|
|
397
|
+
self.verticalLayout_16.addItem(self.verticalSpacer_4)
|
|
398
|
+
|
|
399
|
+
self.splitter_5.addWidget(self.layoutWidget_5)
|
|
400
|
+
|
|
255
401
|
self.verticalLayout_17.addWidget(self.splitter_5)
|
|
402
|
+
|
|
256
403
|
self.tabWidget.addTab(self.tab_data_files, "")
|
|
404
|
+
|
|
257
405
|
self.verticalLayout_7.addWidget(self.tabWidget)
|
|
406
|
+
|
|
258
407
|
self.sw_observation_type.addWidget(self.pg_media_files)
|
|
259
|
-
self.pg_live =
|
|
260
|
-
self.pg_live.setObjectName("pg_live")
|
|
261
|
-
self.verticalLayout_4 =
|
|
262
|
-
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
|
263
|
-
self.verticalLayout_8 =
|
|
264
|
-
self.verticalLayout_8.setObjectName("verticalLayout_8")
|
|
265
|
-
self.horizontalLayout_8 =
|
|
266
|
-
self.horizontalLayout_8.setObjectName("horizontalLayout_8")
|
|
267
|
-
self.label_4 =
|
|
268
|
-
self.label_4.setObjectName("label_4")
|
|
408
|
+
self.pg_live = QWidget()
|
|
409
|
+
self.pg_live.setObjectName(u"pg_live")
|
|
410
|
+
self.verticalLayout_4 = QVBoxLayout(self.pg_live)
|
|
411
|
+
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
|
|
412
|
+
self.verticalLayout_8 = QVBoxLayout()
|
|
413
|
+
self.verticalLayout_8.setObjectName(u"verticalLayout_8")
|
|
414
|
+
self.horizontalLayout_8 = QHBoxLayout()
|
|
415
|
+
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
|
|
416
|
+
self.label_4 = QLabel(self.pg_live)
|
|
417
|
+
self.label_4.setObjectName(u"label_4")
|
|
418
|
+
|
|
269
419
|
self.horizontalLayout_8.addWidget(self.label_4)
|
|
270
|
-
|
|
420
|
+
|
|
421
|
+
self.sbScanSampling = QSpinBox(self.pg_live)
|
|
422
|
+
self.sbScanSampling.setObjectName(u"sbScanSampling")
|
|
271
423
|
self.sbScanSampling.setMaximum(1000000)
|
|
272
|
-
|
|
424
|
+
|
|
273
425
|
self.horizontalLayout_8.addWidget(self.sbScanSampling)
|
|
274
|
-
|
|
275
|
-
self.label_6.
|
|
426
|
+
|
|
427
|
+
self.label_6 = QLabel(self.pg_live)
|
|
428
|
+
self.label_6.setObjectName(u"label_6")
|
|
429
|
+
|
|
276
430
|
self.horizontalLayout_8.addWidget(self.label_6)
|
|
277
|
-
|
|
278
|
-
self.
|
|
431
|
+
|
|
432
|
+
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
433
|
+
|
|
434
|
+
self.horizontalLayout_8.addItem(self.horizontalSpacer)
|
|
435
|
+
|
|
436
|
+
|
|
279
437
|
self.verticalLayout_8.addLayout(self.horizontalLayout_8)
|
|
280
|
-
|
|
281
|
-
self.cb_start_from_current_time.
|
|
438
|
+
|
|
439
|
+
self.cb_start_from_current_time = QCheckBox(self.pg_live)
|
|
440
|
+
self.cb_start_from_current_time.setObjectName(u"cb_start_from_current_time")
|
|
441
|
+
|
|
282
442
|
self.verticalLayout_8.addWidget(self.cb_start_from_current_time)
|
|
283
|
-
|
|
443
|
+
|
|
444
|
+
self.rb_day_time = QRadioButton(self.pg_live)
|
|
445
|
+
self.rb_day_time.setObjectName(u"rb_day_time")
|
|
284
446
|
self.rb_day_time.setEnabled(False)
|
|
285
447
|
self.rb_day_time.setChecked(True)
|
|
286
|
-
|
|
448
|
+
|
|
287
449
|
self.verticalLayout_8.addWidget(self.rb_day_time)
|
|
288
|
-
|
|
450
|
+
|
|
451
|
+
self.rb_epoch_time = QRadioButton(self.pg_live)
|
|
452
|
+
self.rb_epoch_time.setObjectName(u"rb_epoch_time")
|
|
289
453
|
self.rb_epoch_time.setEnabled(False)
|
|
290
|
-
|
|
454
|
+
|
|
291
455
|
self.verticalLayout_8.addWidget(self.rb_epoch_time)
|
|
292
|
-
|
|
293
|
-
self.
|
|
456
|
+
|
|
457
|
+
self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
|
|
458
|
+
|
|
459
|
+
self.verticalLayout_8.addItem(self.verticalSpacer_2)
|
|
460
|
+
|
|
461
|
+
|
|
294
462
|
self.verticalLayout_4.addLayout(self.verticalLayout_8)
|
|
463
|
+
|
|
295
464
|
self.sw_observation_type.addWidget(self.pg_live)
|
|
296
|
-
self.pg_images =
|
|
297
|
-
self.pg_images.setObjectName("pg_images")
|
|
298
|
-
self.verticalLayout_5 =
|
|
299
|
-
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
|
300
|
-
self.horizontalLayout_9 =
|
|
301
|
-
self.horizontalLayout_9.setObjectName("horizontalLayout_9")
|
|
302
|
-
self.lw_images_directory =
|
|
303
|
-
self.lw_images_directory.setObjectName("lw_images_directory")
|
|
465
|
+
self.pg_images = QWidget()
|
|
466
|
+
self.pg_images.setObjectName(u"pg_images")
|
|
467
|
+
self.verticalLayout_5 = QVBoxLayout(self.pg_images)
|
|
468
|
+
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
|
|
469
|
+
self.horizontalLayout_9 = QHBoxLayout()
|
|
470
|
+
self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
|
|
471
|
+
self.lw_images_directory = QListWidget(self.pg_images)
|
|
472
|
+
self.lw_images_directory.setObjectName(u"lw_images_directory")
|
|
473
|
+
|
|
304
474
|
self.horizontalLayout_9.addWidget(self.lw_images_directory)
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
self.pb_add_directory = QtWidgets.QPushButton(self.pg_images)
|
|
308
|
-
self.pb_add_directory.setObjectName("pb_add_directory")
|
|
309
|
-
self.verticalLayout_9.addWidget(self.pb_add_directory)
|
|
310
|
-
self.pb_remove_directory = QtWidgets.QPushButton(self.pg_images)
|
|
311
|
-
self.pb_remove_directory.setObjectName("pb_remove_directory")
|
|
312
|
-
self.verticalLayout_9.addWidget(self.pb_remove_directory)
|
|
313
|
-
spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
|
314
|
-
self.verticalLayout_9.addItem(spacerItem8)
|
|
315
|
-
self.horizontalLayout_9.addLayout(self.verticalLayout_9)
|
|
475
|
+
|
|
476
|
+
|
|
316
477
|
self.verticalLayout_5.addLayout(self.horizontalLayout_9)
|
|
317
|
-
|
|
318
|
-
self.
|
|
319
|
-
self.
|
|
320
|
-
|
|
478
|
+
|
|
479
|
+
self.lb_images_info = QLabel(self.pg_images)
|
|
480
|
+
self.lb_images_info.setObjectName(u"lb_images_info")
|
|
481
|
+
|
|
482
|
+
self.verticalLayout_5.addWidget(self.lb_images_info)
|
|
483
|
+
|
|
484
|
+
self.horizontalLayout_14 = QHBoxLayout()
|
|
485
|
+
self.horizontalLayout_14.setObjectName(u"horizontalLayout_14")
|
|
486
|
+
self.pb_add_directory = QPushButton(self.pg_images)
|
|
487
|
+
self.pb_add_directory.setObjectName(u"pb_add_directory")
|
|
488
|
+
|
|
489
|
+
self.horizontalLayout_14.addWidget(self.pb_add_directory)
|
|
490
|
+
|
|
491
|
+
self.pb_remove_directory = QPushButton(self.pg_images)
|
|
492
|
+
self.pb_remove_directory.setObjectName(u"pb_remove_directory")
|
|
493
|
+
|
|
494
|
+
self.horizontalLayout_14.addWidget(self.pb_remove_directory)
|
|
495
|
+
|
|
496
|
+
self.horizontalSpacer_10 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
497
|
+
|
|
498
|
+
self.horizontalLayout_14.addItem(self.horizontalSpacer_10)
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
self.verticalLayout_5.addLayout(self.horizontalLayout_14)
|
|
502
|
+
|
|
503
|
+
self.horizontalLayout_13 = QHBoxLayout()
|
|
504
|
+
self.horizontalLayout_13.setObjectName(u"horizontalLayout_13")
|
|
505
|
+
self.pb_use_img_dir_as_obsid = QPushButton(self.pg_images)
|
|
506
|
+
self.pb_use_img_dir_as_obsid.setObjectName(u"pb_use_img_dir_as_obsid")
|
|
507
|
+
|
|
321
508
|
self.horizontalLayout_13.addWidget(self.pb_use_img_dir_as_obsid)
|
|
322
|
-
|
|
323
|
-
self.
|
|
509
|
+
|
|
510
|
+
self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
511
|
+
|
|
512
|
+
self.horizontalLayout_13.addItem(self.horizontalSpacer_9)
|
|
513
|
+
|
|
514
|
+
|
|
324
515
|
self.verticalLayout_5.addLayout(self.horizontalLayout_13)
|
|
325
|
-
|
|
326
|
-
self.groupBox.
|
|
327
|
-
self.
|
|
328
|
-
self.horizontalLayout_11.
|
|
329
|
-
self.
|
|
330
|
-
self.horizontalLayout_10
|
|
331
|
-
self.
|
|
332
|
-
self.rb_no_time.
|
|
516
|
+
|
|
517
|
+
self.groupBox = QGroupBox(self.pg_images)
|
|
518
|
+
self.groupBox.setObjectName(u"groupBox")
|
|
519
|
+
self.horizontalLayout_11 = QHBoxLayout(self.groupBox)
|
|
520
|
+
self.horizontalLayout_11.setObjectName(u"horizontalLayout_11")
|
|
521
|
+
self.horizontalLayout_10 = QHBoxLayout()
|
|
522
|
+
self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
|
|
523
|
+
self.rb_no_time = QRadioButton(self.groupBox)
|
|
524
|
+
self.rb_no_time.setObjectName(u"rb_no_time")
|
|
525
|
+
|
|
333
526
|
self.horizontalLayout_10.addWidget(self.rb_no_time)
|
|
334
|
-
|
|
335
|
-
self.rb_use_exif.
|
|
527
|
+
|
|
528
|
+
self.rb_use_exif = QRadioButton(self.groupBox)
|
|
529
|
+
self.rb_use_exif.setObjectName(u"rb_use_exif")
|
|
530
|
+
|
|
336
531
|
self.horizontalLayout_10.addWidget(self.rb_use_exif)
|
|
337
|
-
|
|
338
|
-
self.rb_time_lapse.
|
|
532
|
+
|
|
533
|
+
self.rb_time_lapse = QRadioButton(self.groupBox)
|
|
534
|
+
self.rb_time_lapse.setObjectName(u"rb_time_lapse")
|
|
535
|
+
|
|
339
536
|
self.horizontalLayout_10.addWidget(self.rb_time_lapse)
|
|
340
|
-
|
|
537
|
+
|
|
538
|
+
self.sb_time_lapse = QDoubleSpinBox(self.groupBox)
|
|
539
|
+
self.sb_time_lapse.setObjectName(u"sb_time_lapse")
|
|
341
540
|
self.sb_time_lapse.setDecimals(3)
|
|
342
|
-
self.sb_time_lapse.setMaximum(86400.
|
|
343
|
-
|
|
541
|
+
self.sb_time_lapse.setMaximum(86400.000000000000000)
|
|
542
|
+
|
|
344
543
|
self.horizontalLayout_10.addWidget(self.sb_time_lapse)
|
|
345
|
-
|
|
346
|
-
self.
|
|
544
|
+
|
|
545
|
+
self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
546
|
+
|
|
547
|
+
self.horizontalLayout_10.addItem(self.horizontalSpacer_5)
|
|
548
|
+
|
|
549
|
+
|
|
347
550
|
self.horizontalLayout_11.addLayout(self.horizontalLayout_10)
|
|
551
|
+
|
|
552
|
+
|
|
348
553
|
self.verticalLayout_5.addWidget(self.groupBox)
|
|
554
|
+
|
|
349
555
|
self.sw_observation_type.addWidget(self.pg_images)
|
|
556
|
+
|
|
350
557
|
self.verticalLayout_6.addWidget(self.sw_observation_type)
|
|
351
|
-
|
|
352
|
-
self.horizontalLayout
|
|
353
|
-
|
|
354
|
-
self.
|
|
355
|
-
|
|
356
|
-
self.
|
|
558
|
+
|
|
559
|
+
self.horizontalLayout = QHBoxLayout()
|
|
560
|
+
self.horizontalLayout.setObjectName(u"horizontalLayout")
|
|
561
|
+
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
|
562
|
+
|
|
563
|
+
self.horizontalLayout.addItem(self.horizontalSpacer_3)
|
|
564
|
+
|
|
565
|
+
self.pbCancel = QPushButton(Form)
|
|
566
|
+
self.pbCancel.setObjectName(u"pbCancel")
|
|
567
|
+
|
|
357
568
|
self.horizontalLayout.addWidget(self.pbCancel)
|
|
358
|
-
|
|
359
|
-
self.pbSave
|
|
569
|
+
|
|
570
|
+
self.pbSave = QPushButton(Form)
|
|
571
|
+
self.pbSave.setObjectName(u"pbSave")
|
|
572
|
+
|
|
360
573
|
self.horizontalLayout.addWidget(self.pbSave)
|
|
361
|
-
|
|
362
|
-
self.pbLaunch
|
|
574
|
+
|
|
575
|
+
self.pbLaunch = QPushButton(Form)
|
|
576
|
+
self.pbLaunch.setObjectName(u"pbLaunch")
|
|
577
|
+
|
|
363
578
|
self.horizontalLayout.addWidget(self.pbLaunch)
|
|
579
|
+
|
|
580
|
+
|
|
364
581
|
self.verticalLayout_6.addLayout(self.horizontalLayout)
|
|
365
582
|
|
|
583
|
+
|
|
366
584
|
self.retranslateUi(Form)
|
|
585
|
+
|
|
367
586
|
self.sw_observation_type.setCurrentIndex(1)
|
|
368
587
|
self.tabWidget.setCurrentIndex(0)
|
|
369
|
-
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
QMetaObject.connectSlotsByName(Form)
|
|
591
|
+
# setupUi
|
|
370
592
|
|
|
371
593
|
def retranslateUi(self, Form):
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
self.
|
|
375
|
-
self.
|
|
376
|
-
self.
|
|
377
|
-
self.
|
|
378
|
-
self.
|
|
379
|
-
self.lbTimeOffset.setText(
|
|
380
|
-
self.cb_observation_time_interval.setText(
|
|
381
|
-
self.label_3.setText(
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
self.gb_observation_type.setTitle(
|
|
389
|
-
self.rb_media_files.setText(
|
|
390
|
-
self.rb_live.setText(
|
|
391
|
-
self.rb_images.setText(
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
self.pbAddVideo.setText(
|
|
407
|
-
self.pbRemoveVideo.setText(
|
|
408
|
-
self.pb_use_media_file_name_as_obsid.setText(
|
|
409
|
-
self.cbVisualizeSpectrogram.setText(
|
|
410
|
-
self.cb_visualize_waveform.setText(
|
|
411
|
-
self.
|
|
412
|
-
self.
|
|
413
|
-
self.
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
self.
|
|
434
|
-
|
|
435
|
-
self.
|
|
436
|
-
self.
|
|
437
|
-
self.
|
|
438
|
-
self.
|
|
439
|
-
self.
|
|
440
|
-
self.
|
|
441
|
-
self.
|
|
442
|
-
self.
|
|
443
|
-
self.
|
|
444
|
-
self.
|
|
445
|
-
self.
|
|
446
|
-
self.
|
|
447
|
-
self.
|
|
448
|
-
self.
|
|
449
|
-
self.
|
|
450
|
-
self.
|
|
451
|
-
self.
|
|
594
|
+
Form.setWindowTitle(QCoreApplication.translate("Form", u"New observation", None))
|
|
595
|
+
self.label.setText(QCoreApplication.translate("Form", u"Observation id", None))
|
|
596
|
+
self.lb_star.setText(QCoreApplication.translate("Form", u"*", None))
|
|
597
|
+
self.label_8.setText(QCoreApplication.translate("Form", u"Date and time", None))
|
|
598
|
+
self.dteDate.setDisplayFormat(QCoreApplication.translate("Form", u"yyyy-MM-dd hh:mm:ss.zzz", None))
|
|
599
|
+
self.label_9.setText(QCoreApplication.translate("Form", u"Description", None))
|
|
600
|
+
self.cb_time_offset.setText(QCoreApplication.translate("Form", u"Time offset", None))
|
|
601
|
+
self.lbTimeOffset.setText(QCoreApplication.translate("Form", u"Time value", None))
|
|
602
|
+
self.cb_observation_time_interval.setText(QCoreApplication.translate("Form", u"Limit observation to a time interval", None))
|
|
603
|
+
self.label_3.setText(QCoreApplication.translate("Form", u"Independent variables", None))
|
|
604
|
+
___qtablewidgetitem = self.twIndepVariables.horizontalHeaderItem(0)
|
|
605
|
+
___qtablewidgetitem.setText(QCoreApplication.translate("Form", u"Variable", None));
|
|
606
|
+
___qtablewidgetitem1 = self.twIndepVariables.horizontalHeaderItem(1)
|
|
607
|
+
___qtablewidgetitem1.setText(QCoreApplication.translate("Form", u"Type", None));
|
|
608
|
+
___qtablewidgetitem2 = self.twIndepVariables.horizontalHeaderItem(2)
|
|
609
|
+
___qtablewidgetitem2.setText(QCoreApplication.translate("Form", u"Value", None));
|
|
610
|
+
self.gb_observation_type.setTitle(QCoreApplication.translate("Form", u"Observation type", None))
|
|
611
|
+
self.rb_media_files.setText(QCoreApplication.translate("Form", u"Observation from media file(s)", None))
|
|
612
|
+
self.rb_live.setText(QCoreApplication.translate("Form", u"Live observation", None))
|
|
613
|
+
self.rb_images.setText(QCoreApplication.translate("Form", u"Observation from pictures", None))
|
|
614
|
+
___qtablewidgetitem3 = self.twVideo1.horizontalHeaderItem(0)
|
|
615
|
+
___qtablewidgetitem3.setText(QCoreApplication.translate("Form", u"Player", None));
|
|
616
|
+
___qtablewidgetitem4 = self.twVideo1.horizontalHeaderItem(1)
|
|
617
|
+
___qtablewidgetitem4.setText(QCoreApplication.translate("Form", u"Offset (seconds)", None));
|
|
618
|
+
___qtablewidgetitem5 = self.twVideo1.horizontalHeaderItem(2)
|
|
619
|
+
___qtablewidgetitem5.setText(QCoreApplication.translate("Form", u"Path", None));
|
|
620
|
+
___qtablewidgetitem6 = self.twVideo1.horizontalHeaderItem(3)
|
|
621
|
+
___qtablewidgetitem6.setText(QCoreApplication.translate("Form", u"Duration", None));
|
|
622
|
+
___qtablewidgetitem7 = self.twVideo1.horizontalHeaderItem(4)
|
|
623
|
+
___qtablewidgetitem7.setText(QCoreApplication.translate("Form", u"FPS", None));
|
|
624
|
+
___qtablewidgetitem8 = self.twVideo1.horizontalHeaderItem(5)
|
|
625
|
+
___qtablewidgetitem8.setText(QCoreApplication.translate("Form", u"Video", None));
|
|
626
|
+
___qtablewidgetitem9 = self.twVideo1.horizontalHeaderItem(6)
|
|
627
|
+
___qtablewidgetitem9.setText(QCoreApplication.translate("Form", u"Audio", None));
|
|
628
|
+
self.pbAddVideo.setText(QCoreApplication.translate("Form", u"Add media", None))
|
|
629
|
+
self.pbRemoveVideo.setText(QCoreApplication.translate("Form", u"Remove selected media", None))
|
|
630
|
+
self.pb_use_media_file_name_as_obsid.setText(QCoreApplication.translate("Form", u"Use media file name as observation id", None))
|
|
631
|
+
self.cbVisualizeSpectrogram.setText(QCoreApplication.translate("Form", u"Visualize the sound spectrogram for the player #1", None))
|
|
632
|
+
self.cb_visualize_waveform.setText(QCoreApplication.translate("Form", u"Visualize the waveform for the player #1", None))
|
|
633
|
+
self.cb_media_creation_date_as_offset.setText(QCoreApplication.translate("Form", u"Use the media creation date/time as offset", None))
|
|
634
|
+
self.label_5.setText(QCoreApplication.translate("Form", u"Scan sampling every (s)", None))
|
|
635
|
+
self.label_2.setText(QCoreApplication.translate("Form", u"Image display duration (s)", None))
|
|
636
|
+
self.cbCloseCurrentBehaviorsBetweenVideo.setText(QCoreApplication.translate("Form", u"Stop ongoing state events between successive media files", None))
|
|
637
|
+
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_player_1), QCoreApplication.translate("Form", u"Media files", None))
|
|
638
|
+
self.label_7.setText(QCoreApplication.translate("Form", u"Data files to plot", None))
|
|
639
|
+
___qtablewidgetitem10 = self.tw_data_files.horizontalHeaderItem(0)
|
|
640
|
+
___qtablewidgetitem10.setText(QCoreApplication.translate("Form", u"Path", None));
|
|
641
|
+
___qtablewidgetitem11 = self.tw_data_files.horizontalHeaderItem(1)
|
|
642
|
+
___qtablewidgetitem11.setText(QCoreApplication.translate("Form", u"Columns to plot", None));
|
|
643
|
+
___qtablewidgetitem12 = self.tw_data_files.horizontalHeaderItem(2)
|
|
644
|
+
___qtablewidgetitem12.setText(QCoreApplication.translate("Form", u"Plot title", None));
|
|
645
|
+
___qtablewidgetitem13 = self.tw_data_files.horizontalHeaderItem(3)
|
|
646
|
+
___qtablewidgetitem13.setText(QCoreApplication.translate("Form", u"Variable name", None));
|
|
647
|
+
___qtablewidgetitem14 = self.tw_data_files.horizontalHeaderItem(4)
|
|
648
|
+
___qtablewidgetitem14.setText(QCoreApplication.translate("Form", u"Converters", None));
|
|
649
|
+
___qtablewidgetitem15 = self.tw_data_files.horizontalHeaderItem(5)
|
|
650
|
+
___qtablewidgetitem15.setText(QCoreApplication.translate("Form", u"Time interval (s)", None));
|
|
651
|
+
___qtablewidgetitem16 = self.tw_data_files.horizontalHeaderItem(6)
|
|
652
|
+
___qtablewidgetitem16.setText(QCoreApplication.translate("Form", u"Start position (s)", None));
|
|
653
|
+
___qtablewidgetitem17 = self.tw_data_files.horizontalHeaderItem(7)
|
|
654
|
+
___qtablewidgetitem17.setText(QCoreApplication.translate("Form", u"Substract first value", None));
|
|
655
|
+
___qtablewidgetitem18 = self.tw_data_files.horizontalHeaderItem(8)
|
|
656
|
+
___qtablewidgetitem18.setText(QCoreApplication.translate("Form", u"Color", None));
|
|
657
|
+
self.pb_add_data_file.setText(QCoreApplication.translate("Form", u"Add data file", None))
|
|
658
|
+
self.pb_remove_data_file.setText(QCoreApplication.translate("Form", u"Remove selected data file", None))
|
|
659
|
+
self.pb_view_data_head.setText(QCoreApplication.translate("Form", u"View data from file", None))
|
|
660
|
+
self.pb_plot_data.setText(QCoreApplication.translate("Form", u"Show plot", None))
|
|
661
|
+
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_data_files), QCoreApplication.translate("Form", u"Data files", None))
|
|
662
|
+
self.label_4.setText(QCoreApplication.translate("Form", u"Scan sampling every", None))
|
|
663
|
+
self.label_6.setText(QCoreApplication.translate("Form", u"seconds", None))
|
|
664
|
+
self.cb_start_from_current_time.setText(QCoreApplication.translate("Form", u"Start from current time", None))
|
|
665
|
+
self.rb_day_time.setText(QCoreApplication.translate("Form", u"Day time", None))
|
|
666
|
+
self.rb_epoch_time.setText(QCoreApplication.translate("Form", u"Epoch time (seconds since 1970-01-01)", None))
|
|
667
|
+
self.lb_images_info.setText(QCoreApplication.translate("Form", u"Image info:", None))
|
|
668
|
+
self.pb_add_directory.setText(QCoreApplication.translate("Form", u"Add directory", None))
|
|
669
|
+
self.pb_remove_directory.setText(QCoreApplication.translate("Form", u"Remove directory", None))
|
|
670
|
+
self.pb_use_img_dir_as_obsid.setText(QCoreApplication.translate("Form", u"Use the pictures directory as observation id", None))
|
|
671
|
+
self.groupBox.setTitle(QCoreApplication.translate("Form", u"Time", None))
|
|
672
|
+
self.rb_no_time.setText(QCoreApplication.translate("Form", u"No time", None))
|
|
673
|
+
self.rb_use_exif.setText(QCoreApplication.translate("Form", u"Use the EXIF DateTimeOriginal tag", None))
|
|
674
|
+
self.rb_time_lapse.setText(QCoreApplication.translate("Form", u"Time lapse (s)", None))
|
|
675
|
+
self.pbCancel.setText(QCoreApplication.translate("Form", u"Cancel", None))
|
|
676
|
+
self.pbSave.setText(QCoreApplication.translate("Form", u"Save", None))
|
|
677
|
+
self.pbLaunch.setText(QCoreApplication.translate("Form", u"Start", None))
|
|
678
|
+
# retranslateUi
|
|
679
|
+
|