forked from OvidijusParsiunas/myvision
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
370 lines (370 loc) · 31.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
<!-- ATTENTION: All dev work must be done in the src/devIndexTemplate.html file and the changes can be viewed in publicDev/index.htmml -->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>MyVision</title>
<meta name="description" content="Online computer vision based ML training data generation tool.">
<meta property="og:title" content="MyVision">
<meta property="og:description" content="Computer vision based ML training data generation tool">
<meta property="og:image" content="https://raw.githubusercontent.com/OvidijusParsiunas/myvision/gh-pages/assets/images/social%20preview%20screenshot%20-%206.PNG">
<meta property="og:url" content="https://myvision.ai/">
<meta name="twitter:title" content="MyVision">
<meta name="twitter:description" content="Computer vision based ML training data generation tool">
<meta name="twitter:image" content=" https://raw.githubusercontent.com/OvidijusParsiunas/myvision/gh-pages/assets/images/social%20preview%20screenshot%20-%206.PNG">
<meta name="twitter:card" content="summary_large_image">
<script src="assets/externals/fabricjs/fabric.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="assets/css/styles.css?v=1.0">
<link rel="icon" href="assets/images/favicon 29.png">
</head>
<body onresize="windowResize()" style="background-color: rgb(243, 243, 243)">
<div id="crosshair-line-x" class="crosshair-line"></div>
<div id="crosshair-line-y" class="crosshair-line"></div>
<div id="welcome-modal-parent" class="modal-parent welcome-modal-base">
<div class="modal-title small-title">Welcome</div>
<div class="modal-title-border-line"></div>
<div id="welcome-modal-description" class="modal-description">
<img id="welcome-modal-vision-ai-logo" src="assets/svg/eye 88.svg" draggable="false" class="welcome-modal-icon" alt="visibility">
MyVision is a free computer vision based training data generation tool.
<br><br><img src="assets/svg/documents.svg" draggable="false" class="welcome-modal-icon" alt="visibility">
It supports a variety of popular data formats to help you build a model that suits your needs.
<br><br><img src="assets/svg/electronics.svg" draggable="false" class="welcome-modal-icon" alt="visibility">
Label all your images automatically by utilizing an embedded machine learning model.
<br><br><img src="assets/svg/password3.svg" draggable="false" class="welcome-modal-icon" alt="visibility">
No data will ever leave the privacy of your computer as this tool is built to operate locally on your browser.
</div>
<div id="welcome-modal-buttons" class="buttons modal-buttons">
<div id="welcome-modal-start-button" class="popup-label-button popup-proceed-button" onclick="closeWelcomeModal()">Start</div>
</div>
</div>
<div id="welcome-modal-contour-animation-parent" class="modal-parent welcome-modal-base">
<svg id="welcome-modal-contour-animation-svg" preserveAspectRatio="none">
<rect id="welcome-modal-contour-animation-svg-rectangle"></rect>
</svg>
</div>
<div id="title-panel">
<img id="title-logo" src="assets/svg/eye 88.svg" draggable="false" alt="visibility">
<div id="title-text">MyVision</div>
<a id="title-github-mark-container" href="https://github.com/OvidijusParsiunas/mylabel" target="_blank">
<img id="title-github-mark" draggable="false" alt="GitHub-Mark-32px.png" src="assets/images/GitHub-Mark-32px.png">
</a>
<div id="github-mark-button-popover" class="core-button-hover-popover">GitHub</div>
</div>
<div id="base">
<div id="zoom-overflow-wrapper-parent" onmousemove="trackMouseMoveEvents(event)">
<div id="zoom-overflow-wrapper-inner-container">
<div id="zoom-overflow-wrapper">
<div id="zoom-overflow" onScroll="zoomOverflowScroll(this)">
<div id="stub">.</div>
</div>
</div>
</div>
</div>
<div id="canvas-wrapper-parent" oncontextmenu="return false;" onmousemove="trackMouseMoveEvents(event)">
<div id="canvas-wrapper" onmouseover="mouseOverCanvas()" onmouseout="mouseOutCanvas()">
<div id="canvas-absolute-container-2" class="canvas-absolute-container">
<canvas id="d"></canvas>
</div>
<div id="canvas-absolute-container-1" class="canvas-absolute-container">
<canvas id="c"></canvas>
</div>
</div>
</div>
<div id="labeller-modal-parent" onmousemove="trackMouseMoveEvents(event)" hidden>
<div id="labeller-modal-title" class="small-title">Label name:</div>
<input type="text" id="labeller-modal-input" autocomplete="off" onpaste="labellerModalInputPaste()" name="labelName" spellcheck="false" onkeydown="labellerModalKeyDown(event, this)" value="new label">
<table id="labeller-modal-options">
</table>
<div id="chromium-fake-popup-table-right-border-fix" class="chromium-right-border-fix" style="display: none"></div>
<div id="chromium-fake-popup-table-bottom-border-fix" class="chromium-bottom-border-fix" style="display: none"></div>
<div id="labeller-modal-buttons" class="buttons popup-label-buttons">
<div id="labeller-modal-submit-button" class="popup-label-button popup-proceed-button" onclick="labelShape()">Submit</div>
<div id="labeller-modal-cancel-button" class="popup-label-button popup-cancel-button" onclick="cancelLabellingProcess()">Cancel</div>
</div>
</div>
<div id="machine-learning-modal-parent" class="modal-parent" style="display: none" onmousemove="trackMouseMoveEvents(event)">
<div class="modal-title small-title">Machine Learning</div>
<div class="modal-title-border-line"></div>
<div id="machine-learning-modal-description" class="modal-description"></div>
<div id="machine-learning-modal-check-mark-parent" style="display: none">
<div id="machine-learning-modal-check-mark" class="draw"></div>
</div>
<div id="machine-learning-modal-progress-messages" style="display: none" class="modal-messages"></div>
<div id="machine-learning-modal-loading-wheel" style="display: none" class="loading-wheel" ></div>
<div id="machine-learning-modal-loading-text" style="display: none">Loading...</div>
<div id="machine-learning-modal-error-messages" style="display: none" class="modal-messages"></div>
<div id="machine-learning-modal-info-messages" class="modal-messages"></div>
<div id="machine-learning-modal-initiate-machine-learning-buttons" class="buttons modal-buttons">
<div id="machine-learning-modal-initiate-start-button" class="popup-label-button popup-proceed-button" onclick="startMachineLearning()">Start</div>
<div id="machine-learning-modal-initiate-next-button" style="display: none" class="popup-label-button popup-proceed-button" onclick="changeInitiateMLToNextView()">Next</div>
<div id="machine-learning-modal-initiate-retry-button" style="display: none" class="popup-label-button popup-proceed-button" onclick="retryMachineLearning()">Retry</div>
<div id="machine-learning-modal-initiate-cancel-button" class="popup-label-button popup-cancel-button" onclick="cancelMLModal()">Cancel</div>
<div id="machine-learning-modal-initiate-all-images-button" style="display: none" class="popup-label-button popup-proceed-button" onclick="startMachineLearningWithCoverage('all')">All Images</div>
<div id="machine-learning-modal-initiate-new-images-button" style="display: none" class="popup-label-button popup-proceed-button" onclick="startMachineLearningWithCoverage('new')">New Images</div>
</div>
<div id="machine-learning-modal-generated-labels-outer-container" style="display: none">
<div id="machine-learning-modal-generated-labels-inner-container">
<div id="machine-learning-modal-generated-labels">
<table id="machine-learning-modal-generated-labels-table">
<tbody></tbody>
</table>
</div>
<div id="machine-learning-modal-generated-labels-buttons" class="buttons modal-buttons">
<div id="machine-learning-modal-generated-labels-submit-button" class="popup-label-button popup-proceed-button" onclick="submitMLGeneratedLabels()">Submit</div>
</div>
</div>
</div>
<div id="machine-learning-modal-no-objects-buttons" style="display: none" class="buttons modal-buttons">
<div id="machine-learning-modal-no-objects-close-button" class="popup-label-button popup-cancel-button" onclick="closeMachineLearningModal()">Close</div>
</div>
</div>
<div id="upload-datasets-modal-parent" class="modal-parent" style="display: none" onmousemove="trackMouseMoveEvents(event)">
<div class="modal-title small-title">Upload Datasets</div>
<div class="modal-title-border-line"></div>
<div id="upload-datasets-modal-description" class="modal-description"></div>
<div id="upload-datasets-modal-error-messages" style="display: none" class="modal-messages"></div>
<div id="upload-datsets-modal-select-format-outer-container" style="display: none">
<div id="upload-datsets-modal-select-format-title" class="upload-datsets-modal-title">Choose Format</div>
<div id="upload-datsets-modal-select-format-inner-container">
<table id="upload-datsets-modal-select-format-table"></table>
</div>
</div>
<div id="upload-datsets-modal-upload-datasets-outer-container" style="display: none">
<div id="upload-datsets-modal-upload-datasets-title" class="upload-datsets-modal-title"></div>
<div id="upload-datasets-drag-and-drop-overlay" style="display: none"></div>
<div id="upload-datasets-modal-upload-datasets-table-1" style="display: none" class="upload-datsets-modal-upload-datasets-three-table-strategy-section">
<div class="upload-datasets-modal-upload-datasets-table-title">Classes (.txt)</div>
<div id="upload-datsets-modal-upload-datasets-classes-table-outer-container" class="upload-datasets-table upload-datsets-modal-upload-datasets">
<table id="upload-datsets-modal-upload-datasets-classes-table" class="upload-datasets-modal-upload-datasets-table">
<tbody></tbody>
</table>
</div>
</div>
<div class="upload-datasets-modal-vertical-break-line"></div>
<div id="upload-datasets-modal-upload-datasets-table-2" class="upload-datsets-modal-upload-datasets-two-table-strategy-section">
<div id="upload-datasets-modal-upload=datasets-annotations-table-title" class="upload-datasets-modal-upload-datasets-table-title">Annotations (.json)</div>
<div id="upload-datsets-modal-upload-datasets-annotations-table-outer-container" class="upload-datasets-table upload-datsets-modal-upload-datasets">
<table id="upload-datsets-modal-upload-datasets-annotations-table" class="upload-datasets-modal-upload-datasets-table">
<tbody></tbody>
</table>
</div>
</div>
<div class="upload-datasets-modal-vertical-break-line"></div>
<div id="upload-datasets-modal-upload-datasets-table-3" class="upload-datsets-modal-upload-datasets-two-table-strategy-section">
<div class="upload-datasets-modal-upload-datasets-table-title">Images</div>
<div id="upload-datsets-modal-upload-datasets-images-table-outer-container" class="upload-datasets-table upload-datsets-modal-upload-datasets">
<table id="upload-datsets-modal-upload-datasets-images-table" class="upload-datasets-modal-upload-datasets-table">
<tbody></tbody>
</table>
</div>
</div>
</div>
<div id="upload-datasets-modal-buttons" class="buttons modal-buttons">
<div id="upload-datasets-modal-start-button" class="popup-label-button popup-proceed-button" onclick="moveToSelectFormatView()">Start</div>
<div id="upload-datasets-modal-back-button" style="display: none" class="popup-label-button popup-back-button" onclick="goBackToSelectFormatView()">Back</div>
<input id='upload-datasets-modal-upload-datasets-upload-trigger' type='file' onchange="uploadDatasetFilesHandler(this)" multiple hidden/>
<div id="upload-datasets-modal-upload-datasets-upload-button" style="display: none" class="popup-label-button popup-proceed-button" onclick="triggerUploadDatasetFiles()">Upload</div>
<div id="upload-datsets-modal-next-button" style="display: none" class="popup-label-button-disabled" onclick="moveToUploadDatasetsView()">Next</div>
<div id="upload-datasets-modal-cancel-button" class="popup-label-button popup-cancel-button" onclick="cancelUploadDatasetsModal(true)">Cancel</div>
<div id="upload-datsets-modal-yes-button" style="display: none" class="popup-label-button popup-proceed-button" onclick="reuseAlreadyExistingImages(true)">Yes</div>
<div id="upload-datasets-modal-no-button" style="display: none" class="popup-label-button popup-cancel-button" onclick="reuseAlreadyExistingImages(false)">No</div>
<div id="upload-datasets-modal-finish-button" style="display: none" class="popup-label-button popup-label-button-disabled" onclick="drawShapesAndImages()">Finish</div>
</div>
</div>
<div id="remove-images-modal-parent" onmousemove="trackMouseMoveEvents(event)" style="display: none" class="modal-parent">
<div class="modal-title small-title">Remove image</div>
<div class="modal-title-border-line"></div>
<div id="remove-images-modal-description" class="modal-description">
Are you sure you want to remove the selected image?
</div>
<div id="remove-images-modal-buttons" class="buttons modal-buttons">
<div class="popup-label-button popup-proceed-button" onclick="approveRemoveImage()">Yes</div>
<div class="popup-label-button popup-cancel-button" onclick="cancelRemoveImage()">No</div>
</div>
<div id="remove-images-modal-checkbox-parent">
<input id="remove-images-modal-checkbox" class="checkbox" type="checkbox" name="something" onclick="toggleDoNotShowRemoveImageModalAgain()">
Do not show again
</div>
</div>
<div id="export-datasets-popup-parent" class="export-datasets-popup-item" style="display: none;">
<div id="export-datasets-popup-title" class="export-datasets-popup-item small-title">Choose format:</div>
<div id="parent-table-element" class="export-datasets-popup-item">
<table id="export-datasets-table" class="export-datasets-popup-item">
<tr><td class="export-datasets-popup-item data-format-table-row-data bounding-box-data-format-table-row-data"><div class="export-datasets-popup-item checkbox-text format-option-text generic-format-option-text">COCO JSON</div>
<input id="export-datasets-popup-coco-json-format-checkbox" class="export-datasets-popup-item generic-format-option-checkbox checkbox" type="checkbox" name="something" onclick="selectExportDatasetsFormat('COCO JSON', this)">
</td></tr>
<tr><td class="export-datasets-popup-item data-format-table-row-data"><div class="export-datasets-popup-item checkbox-text format-option-text generic-format-option-text">VGG JSON</div>
<input id="export-datasets-popup-vgg-json-format-checkbox" class="export-datasets-popup-item generic-format-option-checkbox checkbox" type="checkbox" name="something" onclick="selectExportDatasetsFormat('VGG JSON', this)">
</td></tr>
<tr><td class="export-datasets-popup-item data-format-table-row-data bounding-box-data-format-table-row-data"><div class="export-datasets-popup-item checkbox-text format-option-text bounding-box-format-option-text" onmouseenter="displayExportPopupInformationPopover(4)" onmouseleave="removeExportPopupInformationPopover(4)">
<div id="format-option-checkbox-popover-4" class="export-datasets-popup-item popover format-option-popover format-option-text-popover">Bounding boxes only</div>
<div id="format-option-checkbox-arrow-4" class="export-datasets-popup-item arrow text-arrow-position default-arrow-color"></div>
CSV
</div>
<div id="format-option-checkbox-popover-1" class="export-datasets-popup-item popover format-option-popover format-option-checkbox-popover">Bounding boxes only</div>
<div id="format-option-checkbox-arrow-1" class="export-datasets-popup-item arrow checkbox-arrow-position default-arrow-color"></div>
<div onmouseenter="displayExportPopupInformationPopover(1)" onmouseleave="removeExportPopupInformationPopover(1)" class="export-datasets-popup-item">
<input id="export-datasets-popup-csv-format-checkbox" class="export-datasets-popup-item bounding-box-format-option-checkbox checkbox" type="checkbox" name="something" onclick="selectExportDatasetsFormat('CSV', this)">
</div>
</td></tr>
<tr><td class="export-datasets-popup-item data-format-table-row-data"><div class="export-datasets-popup-item checkbox-text format-option-text bounding-box-format-option-text" onmouseenter="displayExportPopupInformationPopover(5)" onmouseleave="removeExportPopupInformationPopover(5)">
<div id="format-option-checkbox-popover-5" class="export-datasets-popup-item popover format-option-popover format-option-text-popover">Bounding boxes only</div>
<div id="format-option-checkbox-arrow-5" class="export-datasets-popup-item arrow text-arrow-position default-arrow-color"></div>
VOC XML
</div>
<div id="format-option-checkbox-popover-2" class="export-datasets-popup-item popover format-option-popover format-option-checkbox-popover">Bounding boxes only</div>
<div id="format-option-checkbox-arrow-2" class="export-datasets-popup-item arrow checkbox-arrow-position default-arrow-color"></div>
<div onmouseenter="displayExportPopupInformationPopover(2)" onmouseleave="removeExportPopupInformationPopover(2)" class="export-datasets-popup-item">
<input id="export-datasets-popup-voc-xml-format-checkbox" class="export-datasets-popup-item checkbox bounding-box-format-option-checkbox" type="checkbox" name="something" onclick="selectExportDatasetsFormat('VOC XML', this)">
</div>
</td></tr>
<tr><td class="export-datasets-popup-item data-format-table-row-data"><div class="export-datasets-popup-item checkbox-text format-option-text bounding-box-format-option-text" onmouseenter="displayExportPopupInformationPopover(6)" onmouseleave="removeExportPopupInformationPopover(6)">
<div id="format-option-checkbox-popover-6" class="export-datasets-popup-item popover format-option-popover format-option-text-popover">Bounding boxes only</div>
<div id="format-option-checkbox-arrow-6" class="export-datasets-popup-item arrow text-arrow-position default-arrow-color"></div>
YOLO TXT
</div>
<div id="format-option-checkbox-popover-3" class="export-datasets-popup-item popover format-option-popover format-option-checkbox-popover">Bounding boxes only</div>
<div id="format-option-checkbox-arrow-3" class="export-datasets-popup-item arrow checkbox-arrow-position default-arrow-color"></div>
<div onmouseenter="displayExportPopupInformationPopover(3)" onmouseleave="removeExportPopupInformationPopover(3)" class="export-datasets-popup-item">
<input id="export-datasets-popup-yolo-txt-format-checkbox" class="export-datasets-popup-item checkbox bounding-box-format-option-checkbox" type="checkbox" name="something" onclick="selectExportDatasetsFormat('YOLO TXT', this)">
</div>
</td></tr>
</table>
</div>
<div id="export-datasets-popup-export-button-container" class="export-datasets-popup-item button buttons popup-label-buttons">
<div id="export-datasets-popup-export-button" class="export-datasets-popup-item popup-label-button-disabled" onclick="exportDataset()">Export</div>
</div>
</div>
<div id="settings-popup" class="settings-popup-item">
<table id="settings-table" class="settings-popup-item">
<tr onmouseenter="hideBoundingBoxCrosshairDropdown()"><td class="settings-popup-item settings-table-row-data"><div class="settings-popup-item checkbox-text" onclick="toggleLabelsVisibility(true)">Label Visibility</div><input id="settings-popup-labels-visibility-checkbox" class="settings-popup-item checkbox settings-checkbox" type="checkbox" name="something" onclick="toggleLabelsVisibility()"></td></tr>
<tr onmouseenter="hideBoundingBoxCrosshairDropdown()"><td class="settings-popup-item settings-table-row-data"><div class="settings-popup-item checkbox-text" onclick="toggleMovableObjects(true)">Movable Objects</div><input id="settings-popup-movable-objects-checkbox" class="settings-popup-item checkbox settings-checkbox" type="checkbox" name="something" onclick="toggleMovableObjects()"></td></tr>
<tr onmouseenter="hideBoundingBoxCrosshairDropdown()"><td class="settings-popup-item settings-table-row-data"><div class="settings-popup-item checkbox-text" onclick="toggleContinuousDrawing(true)">Continuous Drawing</div><input id="settings-popup-continuous-drawing-checkbox" class="settings-popup-item checkbox settings-checkbox" type="checkbox" name="something" onclick="toggleContinuousDrawing()"></td></tr>
<tr><td class="settings-popup-item settings-table-row-data"><div class="settings-popup-item checkbox-text">Bounding box Crosshair</div><div id="settings-popup-bounding-box-crosshair-dropdown-trigger" class="settings-popup-item checkbox settings-checkbox" name="something" onclick="toggleBoundingBoxCrosshairDropdown()">►</div>
<div id="bounding-box-crosshair-dropdown" class="settings-popup-item">
<table id="bounding-box-crosshair-dropdown-table" class="settings-popup-item">
<tr><td class="settings-popup-item settings-table-row-data"><div class="settings-popup-item checkbox-text" onclick="toggleCrosshair(true)">Visibility</div><input id="settings-popup-bounding-box-crosshair-visibility-checkbox" class="settings-popup-item bounding-box-crosshair-dropdown-icon checkbox settings-checkbox" type="checkbox" checked="true" name="something" onclick="toggleCrosshair()"></td></tr>
<tr><td class="settings-popup-item settings-table-row-data"><div class="settings-popup-item checkbox-text">Color</div><input id="settings-popup-bounding-box-crosshair-color-picker" class="settings-popup-item bounding-box-crosshair-dropdown-icon checkbox settings-checkbox" type="color" value="#ffffff" oninput="crosshairColorChange(this)"></td></tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div id="left-side-bar">
<div id="left-side-bar-top-border"></div>
<button id="edit-shapes-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="editShapes(this, event)">
<img id="edit-shapes-icon" src="assets/svg/interface.svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="default-button-popover">Edit Shapes (E)</div>
<button id="create-bounding-box-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="createNewBndBox(event)">
<img id="new-bounding-box-icon" src="assets/svg/method-draw-image (13).svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="bounding-box-button-popover">New Bounding box (W)</div>
<button id="create-polygon-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" type="button" onmouseup="createNewPolygon(event)">
<img id="new-polygon-icon" src="assets/svg/method-draw-image (60).svg" draggable="false" class="toolkit-button-icon" alt="visibility"></img>
</button>
<div class="core-button-hover-popover" id="polygon-button-popover">New Polygon (Q)</div>
<button id="add-points-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="addPoints(this, event)">
<img id="add-points-icon" src="assets/svg/method-draw-image (70).svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover small-core-button-hover-popover-v-position" id="add-points-button-popover">Add Points to Polygon (A)</div>
<button id="remove-points-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="removePoint(this, event)">
<img id="remove-points-icon" src="assets/svg/method-draw-image (69).svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover small-core-button-hover-popover-v-position" id="remove-points-button-popover">Remove Polygon Points (R)</div>
<div id="left-side-bar-separator"></div>
<button id="upload-datasets-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="uploadDatasets(event)">
<img id="upload-datasets-icon" src="assets/svg/method-draw-image (99).svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="upload-datasets-button-popover">Upload Datasets</div>
<button id="export-datasets-button" class="export-datasets-popup-item toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="toggleExportDatasetsPopup(event)" onmouseenter="cancelPulseAnimation(this)">
<img id="export-datasets-icon" src="assets/svg/method-draw-image - 2020-05-03T194003.376.svg" draggable="false" class="export-datasets-popup-item toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="export-datasets-button-popover">Export Datasets</div>
<button id="machine-learning-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="displayMachineLearningModal(event)" onmouseenter="cancelPulseAnimation(this)">
<img id="machine-learning-icon" src="assets/svg/electronics.svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="machine-learning-button-popover">Machine Learning</div>
<button id="zoom-in-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="zoom('in', event)">
<img id="zoom-in-icon" src="assets/svg/multimedia (1).svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="zoom-in-button-popover">Zoom In</div>
<button id="zoom-out-button" class="toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="zoom('out', event)">
<img id="zoom-out-icon" src="assets/svg/magnifying-glass.svg" draggable="false" class="toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="zoom-out-button-popover">Zoom Out</div>
<button id="settings-button" class="settings-popup-item toolkit-button toolkit-button-default toolkit-button-table-cell" onmouseup="toggleSettingsPopup(event)">
<img id="settings-icon" src="assets/svg/cogwheels.svg" draggable="false" class="settings-popup-item toolkit-button-icon" alt="visibility">
</button>
<div class="core-button-hover-popover" id="settings-button-popover">Settings</div>
</div>
<div id="right-side-bar">
<div id="right-side-bar-components">
<div id="label-list-component" class="right-side-bar-component">
<div id="label-list-title-parent" class="right-side-bar-component-title">
<div class="right-side-bar-title-text">Labels:</div>
<div id="remove-labels-button-container" class="remove-objects-button-container">
<button id="remove-labels-button" class="toolkit-button toolkit-button-default remove-objects-button">
<img class="remove-objects-button-icon" src="assets/svg/rubbish-can.svg" draggable="false" alt="visibility" onmouseup="removeLabel(this, event)">
</button>
</div>
<div id="remove-labels-button-popover" class="core-button-hover-popover label-list-button-hover-popover-v-poisition">Remove Label</div>
</div>
<div id="label-list-overflow-parent" onscroll="labelListScroll()">
<table id="label-list"></table>
</div>
</div>
<div id="image-list-component" class="right-side-bar-component">
<div id="image-list-title-parent" class="right-side-bar-component-title">
<div class="right-side-bar-title-text">Images:</div>
<div id="remove-images-button-container" class="remove-objects-button-container">
<button id="remove-images-button" class="toolkit-button toolkit-button-default remove-objects-button">
<img class="remove-objects-button-icon" src="assets/svg/rubbish-can.svg" draggable="false" alt="visibility" onmouseup="removeImage(event)">
</button>
</div>
<div id="remove-images-button-popover" class="core-button-hover-popover image-list-button-hover-popover-v-position">Remove Image</div>
<input id='uploadImages' type='file' onchange="uploadImages(this)" multiple accept="image/*" hidden/>
<button id="upload-images-button" class="toolkit-button toolkit-button-default" onmouseup="triggerImageUpload(event)">
<img id="upload-images-icon" src="assets/svg/method-draw-image - 2020-05-05T022144.694.svg" draggable="false" alt="visibility">
</button>
<div id="upload-images-button-popover" class="core-button-hover-popover image-list-button-hover-popover-v-position">Upload Images</div>
</div>
<div id="image-list-drag-and-drop-overlay" style="display: none"></div>
<div id="image-list-image-container"></div>
</div>
</div>
</div>
<div id="image-switch-parent">
<div id="image-switch-contents">
<button id="previous-image-button" class="toolkit-button toolkit-button-disabled image-switch-button image-switch-button-disabled" onclick="switchImage('previous', event)">
<
<div id="previous-image-button-popover" class="core-button-hover-popover image-switch-button-hover-popover">
Previous Image (
<div id="image-switch-button-popover-arrow-left" class="image-switch-button-popover-arrow">←</div>
<div class="image-switch-button-popover-closing-bracket">)</div>
</div>
</button>
<div id="image-name">Image name</div>
<button id="next-image-button" class="toolkit-button toolkit-button-disabled image-switch-button image-switch-button-disabled" onclick="switchImage('next', event)">
>
<div id="next-image-button-popover" class="core-button-hover-popover image-switch-button-hover-popover">
Next Image (
<div id="image-switch-button-popover-arrow-right" class="image-switch-button-popover-arrow">→</div>
<div class="image-switch-button-popover-closing-bracket">)</div>
</div>
</button>
</div>
</div>
</div>
<div id="window-dim"></div>
<div id="window-drag-and-drop-overlay" style="display: none"></div>
<div id="inadequate-client-resources-overlay" style="display: none">
<div id="inadequate-client-resources-overlay-contents">
<div id="inadequate-client-resources-overlay-image-container">
<img id="inadequate-client-resources-overlay-image" src="assets/svg/overlay 16.svg" draggable="false" alt="visibility">
</div>
<div id="inadequate-client-resources-overlay-text"></div>
</div>
<script src="browserSupportBundle.b5251de0268b25af727e.js"></script><script src="appBundle.7f26bf670b21381bfb6b.js"></script></body>
</html>