supervisely 6.73.377__py3-none-any.whl → 6.73.379__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.
- supervisely/__init__.py +1 -1
- supervisely/api/entity_annotation/tag_api.py +223 -20
- supervisely/api/image_api.py +81 -1
- supervisely/api/pointcloud/pointcloud_api.py +8 -0
- supervisely/convert/image/sly/sly_image_converter.py +10 -7
- supervisely/convert/pointcloud/pointcloud_converter.py +103 -12
- supervisely/convert/pointcloud/sly/sly_pointcloud_converter.py +5 -1
- supervisely/convert/pointcloud_episodes/pointcloud_episodes_converter.py +122 -12
- supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_converter.py +5 -1
- supervisely/project/pointcloud_episode_project.py +126 -4
- supervisely/project/pointcloud_project.py +160 -19
- {supervisely-6.73.377.dist-info → supervisely-6.73.379.dist-info}/METADATA +1 -1
- {supervisely-6.73.377.dist-info → supervisely-6.73.379.dist-info}/RECORD +17 -17
- {supervisely-6.73.377.dist-info → supervisely-6.73.379.dist-info}/LICENSE +0 -0
- {supervisely-6.73.377.dist-info → supervisely-6.73.379.dist-info}/WHEEL +0 -0
- {supervisely-6.73.377.dist-info → supervisely-6.73.379.dist-info}/entry_points.txt +0 -0
- {supervisely-6.73.377.dist-info → supervisely-6.73.379.dist-info}/top_level.txt +0 -0
|
@@ -6,6 +6,7 @@ import random
|
|
|
6
6
|
import shutil
|
|
7
7
|
from collections import namedtuple
|
|
8
8
|
from typing import Callable, Dict, List, NamedTuple, Optional, Tuple, Union
|
|
9
|
+
from uuid import UUID
|
|
9
10
|
|
|
10
11
|
import numpy as np
|
|
11
12
|
from tqdm import tqdm
|
|
@@ -30,6 +31,7 @@ from supervisely.io.fs import (
|
|
|
30
31
|
touch,
|
|
31
32
|
)
|
|
32
33
|
from supervisely.io.json import dump_json_file, load_json_file
|
|
34
|
+
from supervisely.pointcloud_annotation.constants import OBJECT_KEY
|
|
33
35
|
from supervisely.pointcloud_annotation.pointcloud_annotation import PointcloudAnnotation
|
|
34
36
|
from supervisely.project.project import Dataset, OpenMode
|
|
35
37
|
from supervisely.project.project import read_single_project as read_project_wrapper
|
|
@@ -500,6 +502,31 @@ class PointcloudDataset(VideoDataset):
|
|
|
500
502
|
def get_pointcloud_info_path(self, item_name: str) -> str:
|
|
501
503
|
return self.get_item_info_path(item_name)
|
|
502
504
|
|
|
505
|
+
def get_related_image_figures(self, item_name: str, img_name: str) -> List[Dict]:
|
|
506
|
+
"""
|
|
507
|
+
Get figures from related image with given name.
|
|
508
|
+
|
|
509
|
+
:param item_name: Name of the item in the dataset.
|
|
510
|
+
:type item_name: str
|
|
511
|
+
:param img_name: Related image name.
|
|
512
|
+
:type img_name: str
|
|
513
|
+
:return: List of figures from related image.
|
|
514
|
+
:rtype: List[Dict]
|
|
515
|
+
:raises: :class:`RuntimeError` if item not found in the project
|
|
516
|
+
"""
|
|
517
|
+
results = []
|
|
518
|
+
path = self.get_related_images_path(item_name)
|
|
519
|
+
if dir_exists(path):
|
|
520
|
+
files = list_files(path, sly_image.SUPPORTED_IMG_EXTS)
|
|
521
|
+
for file in files:
|
|
522
|
+
if get_file_name_with_ext(file) != img_name:
|
|
523
|
+
continue
|
|
524
|
+
fig_path = os.path.join(path, get_file_name_with_ext(file) + ".figures.json")
|
|
525
|
+
if file_exists(fig_path):
|
|
526
|
+
figs = load_json_file(fig_path)
|
|
527
|
+
results.append(figs)
|
|
528
|
+
return results
|
|
529
|
+
|
|
503
530
|
|
|
504
531
|
class PointcloudProject(VideoProject):
|
|
505
532
|
"""
|
|
@@ -989,6 +1016,26 @@ def download_pointcloud_project(
|
|
|
989
1016
|
pointcloud_names = [pointcloud_info.name for pointcloud_info in batch]
|
|
990
1017
|
|
|
991
1018
|
ann_jsons = api.pointcloud.annotation.download_bulk(dataset.id, pointcloud_ids)
|
|
1019
|
+
if download_related_images:
|
|
1020
|
+
try:
|
|
1021
|
+
rimgs = api.pointcloud.get_list_related_images_batch(dataset.id, pointcloud_ids)
|
|
1022
|
+
if len(rimgs) > 0:
|
|
1023
|
+
rimg_ids = [rimg[ApiField.ID] for rimg in rimgs]
|
|
1024
|
+
batch_rimg_figures = api.image.figure.download(
|
|
1025
|
+
dataset_id=dataset.id, image_ids=rimg_ids
|
|
1026
|
+
)
|
|
1027
|
+
else:
|
|
1028
|
+
batch_rimg_figures = []
|
|
1029
|
+
except Exception as e:
|
|
1030
|
+
logger.info(
|
|
1031
|
+
"INFO FOR DEBUGGING",
|
|
1032
|
+
extra={
|
|
1033
|
+
"project_id": project_id,
|
|
1034
|
+
"dataset_id": dataset.id,
|
|
1035
|
+
"pointcloud_ids": pointcloud_ids,
|
|
1036
|
+
},
|
|
1037
|
+
)
|
|
1038
|
+
raise e
|
|
992
1039
|
|
|
993
1040
|
for pointcloud_id, pointcloud_name, pointcloud_info, ann_json in zip(
|
|
994
1041
|
pointcloud_ids, pointcloud_names, batch, ann_jsons
|
|
@@ -1015,6 +1062,25 @@ def download_pointcloud_project(
|
|
|
1015
1062
|
else:
|
|
1016
1063
|
touch(pointcloud_file_path)
|
|
1017
1064
|
|
|
1065
|
+
pointcloud_file_path = pointcloud_file_path if download_items else None
|
|
1066
|
+
pointcloud_info = pointcloud_info._asdict() if download_pointclouds_info else None
|
|
1067
|
+
try:
|
|
1068
|
+
pointcloud_ann = PointcloudAnnotation.from_json(
|
|
1069
|
+
ann_json, project_fs.meta, key_id_map
|
|
1070
|
+
)
|
|
1071
|
+
except Exception as e:
|
|
1072
|
+
logger.info(
|
|
1073
|
+
"INFO FOR DEBUGGING",
|
|
1074
|
+
extra={
|
|
1075
|
+
"project_id": project_id,
|
|
1076
|
+
"dataset_id": dataset.id,
|
|
1077
|
+
"pointcloud_id": pointcloud_id,
|
|
1078
|
+
"pointcloud_name": pointcloud_name,
|
|
1079
|
+
"ann_json": ann_json,
|
|
1080
|
+
},
|
|
1081
|
+
)
|
|
1082
|
+
raise e
|
|
1083
|
+
|
|
1018
1084
|
if download_related_images:
|
|
1019
1085
|
related_images_path = dataset_fs.get_related_images_path(pointcloud_name)
|
|
1020
1086
|
try:
|
|
@@ -1048,6 +1114,7 @@ def download_pointcloud_project(
|
|
|
1048
1114
|
|
|
1049
1115
|
path_img = os.path.join(related_images_path, name)
|
|
1050
1116
|
path_json = os.path.join(related_images_path, name + ".json")
|
|
1117
|
+
path_figures = os.path.join(related_images_path, name + ".figures.json")
|
|
1051
1118
|
|
|
1052
1119
|
try:
|
|
1053
1120
|
api.pointcloud.download_related_image(rimage_id, path_img)
|
|
@@ -1066,24 +1133,36 @@ def download_pointcloud_project(
|
|
|
1066
1133
|
raise e
|
|
1067
1134
|
dump_json_file(rimage_info, path_json)
|
|
1068
1135
|
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1136
|
+
try:
|
|
1137
|
+
if rimage_id in batch_rimg_figures:
|
|
1138
|
+
rimg_figures = batch_rimg_figures[rimage_id]
|
|
1139
|
+
rimg_figures_json = []
|
|
1140
|
+
for fig in rimg_figures:
|
|
1141
|
+
fig_json = fig.to_json()
|
|
1142
|
+
if ApiField.OBJECT_ID in fig_json:
|
|
1143
|
+
fig_json[OBJECT_KEY] = str(
|
|
1144
|
+
key_id_map.get_object_key(fig_json[ApiField.OBJECT_ID])
|
|
1145
|
+
)
|
|
1146
|
+
fig_json.pop(ApiField.OBJECT_ID, None)
|
|
1147
|
+
rimg_figures_json.append(fig_json)
|
|
1148
|
+
else:
|
|
1149
|
+
raise RuntimeError(f"Figure {fig} has no object id")
|
|
1150
|
+
|
|
1151
|
+
dump_json_file(rimg_figures_json, path_figures)
|
|
1152
|
+
except Exception as e:
|
|
1153
|
+
logger.info(
|
|
1154
|
+
"INFO FOR DEBUGGING",
|
|
1155
|
+
extra={
|
|
1156
|
+
"project_id": project_id,
|
|
1157
|
+
"dataset_id": dataset.id,
|
|
1158
|
+
"pointcloud_id": pointcloud_id,
|
|
1159
|
+
"pointcloud_name": pointcloud_name,
|
|
1160
|
+
"rimage_id": rimage_id,
|
|
1161
|
+
"path_figures": path_figures,
|
|
1162
|
+
},
|
|
1163
|
+
)
|
|
1164
|
+
raise e
|
|
1165
|
+
|
|
1087
1166
|
try:
|
|
1088
1167
|
dataset_fs.add_item_file(
|
|
1089
1168
|
pointcloud_name,
|
|
@@ -1206,6 +1285,7 @@ def upload_pointcloud_project(
|
|
|
1206
1285
|
if len(related_items) != 0:
|
|
1207
1286
|
rimg_infos = []
|
|
1208
1287
|
camera_names = []
|
|
1288
|
+
rimg_figures = {}
|
|
1209
1289
|
for img_ind, (img_path, meta_json) in enumerate(related_items):
|
|
1210
1290
|
try:
|
|
1211
1291
|
img = api.pointcloud.upload_related_image(img_path)
|
|
@@ -1233,9 +1313,37 @@ def upload_pointcloud_project(
|
|
|
1233
1313
|
ApiField.META: meta_json[ApiField.META],
|
|
1234
1314
|
}
|
|
1235
1315
|
)
|
|
1316
|
+
img_name = meta_json[ApiField.NAME]
|
|
1317
|
+
fig_json_path = os.path.join(related_images_dir, img_name + ".figures.json")
|
|
1318
|
+
if os.path.exists(fig_json_path):
|
|
1319
|
+
try:
|
|
1320
|
+
rimg_figures[img] = load_json_file(fig_json_path)
|
|
1321
|
+
except Exception as e:
|
|
1322
|
+
logger.info(
|
|
1323
|
+
"INFO FOR DEBUGGING",
|
|
1324
|
+
extra={
|
|
1325
|
+
"project_id": project.id,
|
|
1326
|
+
"dataset_id": dataset.id,
|
|
1327
|
+
"pointcloud_id": pointcloud.id,
|
|
1328
|
+
"pointcloud_name": pointcloud.name,
|
|
1329
|
+
"fig_json_path": fig_json_path,
|
|
1330
|
+
},
|
|
1331
|
+
)
|
|
1332
|
+
raise e
|
|
1236
1333
|
|
|
1237
1334
|
try:
|
|
1238
|
-
api.pointcloud.add_related_images(rimg_infos, camera_names)
|
|
1335
|
+
uploaded_rimgs = api.pointcloud.add_related_images(rimg_infos, camera_names)
|
|
1336
|
+
# build mapping hash->id
|
|
1337
|
+
pcl_to_hash_to_id = {}
|
|
1338
|
+
for info, uploaded in zip(rimg_infos, uploaded_rimgs):
|
|
1339
|
+
img_hash = info.get(ApiField.HASH)
|
|
1340
|
+
img_id = (
|
|
1341
|
+
uploaded.get(ApiField.ID)
|
|
1342
|
+
if isinstance(uploaded, dict)
|
|
1343
|
+
else getattr(uploaded, "id", None)
|
|
1344
|
+
)
|
|
1345
|
+
if img_hash is not None and img_id is not None:
|
|
1346
|
+
pcl_to_hash_to_id[img_hash] = img_id
|
|
1239
1347
|
except Exception as e:
|
|
1240
1348
|
logger.info(
|
|
1241
1349
|
"INFO FOR DEBUGGING",
|
|
@@ -1249,6 +1357,39 @@ def upload_pointcloud_project(
|
|
|
1249
1357
|
},
|
|
1250
1358
|
)
|
|
1251
1359
|
raise e
|
|
1360
|
+
|
|
1361
|
+
# upload figures
|
|
1362
|
+
if len(rimg_figures) > 0:
|
|
1363
|
+
hash_to_ids = pcl_to_hash_to_id
|
|
1364
|
+
figures_payload = []
|
|
1365
|
+
for img_hash, figs_json in rimg_figures.items():
|
|
1366
|
+
if img_hash not in hash_to_ids:
|
|
1367
|
+
continue
|
|
1368
|
+
img_id = hash_to_ids[img_hash]
|
|
1369
|
+
for fig in figs_json:
|
|
1370
|
+
try:
|
|
1371
|
+
fig[ApiField.ENTITY_ID] = img_id
|
|
1372
|
+
fig[ApiField.DATASET_ID] = dataset.id
|
|
1373
|
+
fig[ApiField.PROJECT_ID] = project.id
|
|
1374
|
+
fig[ApiField.OBJECT_ID] = key_id_map.get_object_id(
|
|
1375
|
+
UUID(fig[OBJECT_KEY])
|
|
1376
|
+
)
|
|
1377
|
+
except Exception as e:
|
|
1378
|
+
logger.debug(
|
|
1379
|
+
f"Failed to process figure json for img_hash={img_hash}: {repr(e)}"
|
|
1380
|
+
)
|
|
1381
|
+
continue
|
|
1382
|
+
|
|
1383
|
+
figures_payload.extend(figs_json)
|
|
1384
|
+
|
|
1385
|
+
if len(figures_payload) > 0:
|
|
1386
|
+
try:
|
|
1387
|
+
api.image.figure.create_bulk(
|
|
1388
|
+
figures_json=figures_payload, dataset_id=dataset.id
|
|
1389
|
+
)
|
|
1390
|
+
except Exception as e:
|
|
1391
|
+
logger.debug(f"Failed to upload figures for related images: {repr(e)}")
|
|
1392
|
+
|
|
1252
1393
|
if ds_progress:
|
|
1253
1394
|
ds_progress(1)
|
|
1254
1395
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
supervisely/README.md,sha256=XM-DiMC6To3I9RjQZ0c61905EFRR_jnCUx2q3uNR-X8,3331
|
|
2
|
-
supervisely/__init__.py,sha256=
|
|
2
|
+
supervisely/__init__.py,sha256=tliCAEdCVwLeYtNSmvSGKm1JOK1aXsP0ckJ3042J-0U,10935
|
|
3
3
|
supervisely/_utils.py,sha256=Wrnck4645QXRZdmMpqIRQ_t6QynEAkYaFfcialxQBIE,19157
|
|
4
4
|
supervisely/function_wrapper.py,sha256=R5YajTQ0GnRp2vtjwfC9hINkzQc0JiyGsu8TER373xY,1912
|
|
5
5
|
supervisely/sly_logger.py,sha256=z92Vu5hmC0GgTIJO1n6kPDayRW9__8ix8hL6poDZj-Y,6274
|
|
@@ -30,7 +30,7 @@ supervisely/api/entities_collection_api.py,sha256=6nbh5KxBzqGwtjV9tgzMFHBKVla2x-
|
|
|
30
30
|
supervisely/api/file_api.py,sha256=gNXNsikocSYRojoZrVmXIqXycqXm0e320piAwaLN6JI,92978
|
|
31
31
|
supervisely/api/github_api.py,sha256=NIexNjEer9H5rf5sw2LEZd7C1WR-tK4t6IZzsgeAAwQ,623
|
|
32
32
|
supervisely/api/image_annotation_tool_api.py,sha256=YcUo78jRDBJYvIjrd-Y6FJAasLta54nnxhyaGyanovA,5237
|
|
33
|
-
supervisely/api/image_api.py,sha256=
|
|
33
|
+
supervisely/api/image_api.py,sha256=mjKuX6jG5TK_V8EQyqcD6eSBAK1oJbVJZCDtflO00mg,227764
|
|
34
34
|
supervisely/api/import_storage_api.py,sha256=BDCgmR0Hv6OoiRHLCVPKt3iDxSVlQp1WrnKhAK_Zl84,460
|
|
35
35
|
supervisely/api/issues_api.py,sha256=BqDJXmNoTzwc3xe6_-mA7FDFC5QQ-ahGbXk_HmpkSeQ,17925
|
|
36
36
|
supervisely/api/labeling_job_api.py,sha256=G2_BV_WtA2lAhfw_nAQmWmv1P-pwimD0ba9GVKoGjiA,55537
|
|
@@ -53,13 +53,13 @@ supervisely/api/entity_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
|
53
53
|
supervisely/api/entity_annotation/entity_annotation_api.py,sha256=K79KdDyepQv4FiNQHBj9V4-zLIemxK9WG1ig1bfBKb8,3083
|
|
54
54
|
supervisely/api/entity_annotation/figure_api.py,sha256=rmsE3L_JfqN94sLN637pQ0syiBAXPd8RyAwhl41j1xs,35318
|
|
55
55
|
supervisely/api/entity_annotation/object_api.py,sha256=gbcNvN_KY6G80Me8fHKQgryc2Co7VU_kfFd1GYILZ4E,8875
|
|
56
|
-
supervisely/api/entity_annotation/tag_api.py,sha256=
|
|
56
|
+
supervisely/api/entity_annotation/tag_api.py,sha256=IapvSZmakjdOn0yvqP2tQRY8gkZg0bcvIZBwWRcafrg,18996
|
|
57
57
|
supervisely/api/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
58
|
supervisely/api/nn/deploy_api.py,sha256=fA5yk3-Q66BL821iu68HpsGWWO2qHXCcWTmrXoHE4gE,37008
|
|
59
59
|
supervisely/api/nn/neural_network_api.py,sha256=VYqpHb6xqCeEUofTNfOGUhvjI_5Di3T26qwVp5Z-0hE,10643
|
|
60
60
|
supervisely/api/pointcloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
supervisely/api/pointcloud/pointcloud_annotation_api.py,sha256=xIXqCu0rKYsGt5ezh2EFT2utwsVrr2Xo-MOWUCnbvXc,11259
|
|
62
|
-
supervisely/api/pointcloud/pointcloud_api.py,sha256=
|
|
62
|
+
supervisely/api/pointcloud/pointcloud_api.py,sha256=mPnVXWnxPxrb2P5giFLuabU969vV0xpeP6biETBNvUI,53875
|
|
63
63
|
supervisely/api/pointcloud/pointcloud_episode_annotation_api.py,sha256=zmDWDkRzUSfHKX65qDVrc44kNyYjfvItSwYmsERJ_8g,7012
|
|
64
64
|
supervisely/api/pointcloud/pointcloud_episode_api.py,sha256=xg1zRKONV9ly0-B72V1dR6OMPFIw35bujazuEdrPGTQ,7922
|
|
65
65
|
supervisely/api/pointcloud/pointcloud_episode_object_api.py,sha256=k2_wV0EVPo9vxSTVe1qOvqVOMSVE6zGDSkfR6TRNsKs,691
|
|
@@ -617,13 +617,13 @@ supervisely/convert/image/pdf/pdf_converter.py,sha256=LKvVng9jPp0cSIjYEjKLOb48wt
|
|
|
617
617
|
supervisely/convert/image/pdf/pdf_helper.py,sha256=IDwLEvsVy8lu-KC1lXvSRkZZ9BCC6ylebnNEtLQU5L4,1288
|
|
618
618
|
supervisely/convert/image/sly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
619
619
|
supervisely/convert/image/sly/fast_sly_image_converter.py,sha256=wtiM-Dl4xivT60-79pj8XMdHQc2kPMi7DqGcEngiWRg,5669
|
|
620
|
-
supervisely/convert/image/sly/sly_image_converter.py,sha256=
|
|
620
|
+
supervisely/convert/image/sly/sly_image_converter.py,sha256=9nFDvyl19c-rY8_KRp-PpzAP6SYP7Z8Tz9KVJ8EXyYE,14594
|
|
621
621
|
supervisely/convert/image/sly/sly_image_helper.py,sha256=5Ri8fKb5dzh5b3v8AJ5u8xVFOQfAtoWqZ7HktPsCjTI,7373
|
|
622
622
|
supervisely/convert/image/yolo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
623
623
|
supervisely/convert/image/yolo/yolo_converter.py,sha256=Wn5dR05y4SEPONcaxWr9ofnbvbf-SbRZN0fkksk5Dps,11391
|
|
624
624
|
supervisely/convert/image/yolo/yolo_helper.py,sha256=5b0ShsVlqikA071VT8AiRW_079_WD6pdB5Bx3OU12Bw,25989
|
|
625
625
|
supervisely/convert/pointcloud/__init__.py,sha256=WPeIpPoTWDIKAa0lF6t2SMUhFNZ0l-vKujf6yD6w7SA,589
|
|
626
|
-
supervisely/convert/pointcloud/pointcloud_converter.py,sha256=
|
|
626
|
+
supervisely/convert/pointcloud/pointcloud_converter.py,sha256=CeqPn62viKS35MFlQBTPQuRqH_8P9JGYjz-rY-eXtbI,11990
|
|
627
627
|
supervisely/convert/pointcloud/bag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
628
628
|
supervisely/convert/pointcloud/bag/bag_converter.py,sha256=WWd6A2hS7H4MRgtLdJ-yYgmNU-Wk2eycl6LTTJM2GKQ,11391
|
|
629
629
|
supervisely/convert/pointcloud/bag/bag_helper.py,sha256=2TFe49isZTxMhya-PApqLPxrvGnvRFMBc_--BwyCpWU,4284
|
|
@@ -642,10 +642,10 @@ supervisely/convert/pointcloud/ply/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
|
642
642
|
supervisely/convert/pointcloud/ply/ply_converter.py,sha256=2ZCYkhJQzUev-sWGsBwCPtj1TGjdcx8o-Q--RAHavp8,2698
|
|
643
643
|
supervisely/convert/pointcloud/ply/ply_helper.py,sha256=YfLiV9m6a4NNEMs0J32dmMTLffMLX4-JPTThMHOEK4w,268
|
|
644
644
|
supervisely/convert/pointcloud/sly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
645
|
-
supervisely/convert/pointcloud/sly/sly_pointcloud_converter.py,sha256=
|
|
645
|
+
supervisely/convert/pointcloud/sly/sly_pointcloud_converter.py,sha256=lS1VTN1ICO8zPcx-435OUiH4fgb8LKiybI5fBnxXRDU,5323
|
|
646
646
|
supervisely/convert/pointcloud/sly/sly_pointcloud_helper.py,sha256=kOluL97FfCFfIvnUE_FeN8iQLMlwdiMR5gayorOGDXw,3968
|
|
647
647
|
supervisely/convert/pointcloud_episodes/__init__.py,sha256=LePLQFEjXwhXap2zOY9SVTbW_NMbxKYZKBjBdRLimKE,557
|
|
648
|
-
supervisely/convert/pointcloud_episodes/pointcloud_episodes_converter.py,sha256=
|
|
648
|
+
supervisely/convert/pointcloud_episodes/pointcloud_episodes_converter.py,sha256=Q3FUZ_t5GkW7u-FNBqwdWvHb1txlmOx-5wYTKTAj5WM,14427
|
|
649
649
|
supervisely/convert/pointcloud_episodes/bag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
650
650
|
supervisely/convert/pointcloud_episodes/bag/bag_converter.py,sha256=jzWKXoFUWu11d5WlPfT1hphCubYpq_lhQZmhh07xZdQ,1659
|
|
651
651
|
supervisely/convert/pointcloud_episodes/kitti_360/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -657,7 +657,7 @@ supervisely/convert/pointcloud_episodes/nuscenes_conv/__init__.py,sha256=47DEQpj
|
|
|
657
657
|
supervisely/convert/pointcloud_episodes/nuscenes_conv/nuscenes_converter.py,sha256=O8QIwqwb0DUuYmS8oq6kGv3uTlzS3GyGvAxfL1bYW-s,12764
|
|
658
658
|
supervisely/convert/pointcloud_episodes/nuscenes_conv/nuscenes_helper.py,sha256=cJTwhFn1JgblbPjrTrZu30y6FxyjGF-12sMFfvN1xzM,8969
|
|
659
659
|
supervisely/convert/pointcloud_episodes/sly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
660
|
-
supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_converter.py,sha256=
|
|
660
|
+
supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_converter.py,sha256=N6daDLj06urxpe-WU40Y_ATOLbtlmc6OHIZ04QpH0lM,6412
|
|
661
661
|
supervisely/convert/pointcloud_episodes/sly/sly_pointcloud_episodes_helper.py,sha256=h4WvNH6cEHtjxxhCnU7Hs2vkyJMye0qwabqXNYVTywE,3570
|
|
662
662
|
supervisely/convert/video/__init__.py,sha256=8T99u_2rurKksx24aNQZf8b_TPFEiGViSDPzCqjDBfU,157
|
|
663
663
|
supervisely/convert/video/video_converter.py,sha256=f-b6FexBjXw9xWv5w8lxlNxCh4FvacNolX-WQDibWFs,11338
|
|
@@ -1038,8 +1038,8 @@ supervisely/pointcloud_episodes/pointcloud_episodes.py,sha256=trjCTqJEfHMnsk_HmY
|
|
|
1038
1038
|
supervisely/project/__init__.py,sha256=hlzdj9Pgy53Q3qdP8LMtGTChvZHQuuShdtui2eRUQeE,2601
|
|
1039
1039
|
supervisely/project/data_version.py,sha256=P5Lui6i64pYeJWmAdGJDv8GRXxjfpSSZ8zT_MxIrynE,19553
|
|
1040
1040
|
supervisely/project/download.py,sha256=yCFpRum_q8fbY_z2mcRAhYAcYFcDc215ldioO3Gzg3Q,28680
|
|
1041
|
-
supervisely/project/pointcloud_episode_project.py,sha256=
|
|
1042
|
-
supervisely/project/pointcloud_project.py,sha256=
|
|
1041
|
+
supervisely/project/pointcloud_episode_project.py,sha256=ahwL79Ojf5gLdvAph5SLKXr66jmVWzgiOXLsk2P8eVQ,48433
|
|
1042
|
+
supervisely/project/pointcloud_project.py,sha256=NcrsMf673cITLoErJhcdQN85w3k9TBqolEbWR4qjPZQ,56872
|
|
1043
1043
|
supervisely/project/project.py,sha256=bK_TWDLHmTSoxFEUqzSk-FJzddpb0BqsQfQzzwaZu-Y,240401
|
|
1044
1044
|
supervisely/project/project_meta.py,sha256=UTQPstRmRJvbtCcQ1noCtzcw3Sd4llwRMHes-Sz-JQg,51429
|
|
1045
1045
|
supervisely/project/project_settings.py,sha256=NLThzU_DCynOK6hkHhVdFyezwprn9UqlnrLDe_3qhkY,9347
|
|
@@ -1103,9 +1103,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
1103
1103
|
supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
|
|
1104
1104
|
supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
|
|
1105
1105
|
supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
|
|
1106
|
-
supervisely-6.73.
|
|
1107
|
-
supervisely-6.73.
|
|
1108
|
-
supervisely-6.73.
|
|
1109
|
-
supervisely-6.73.
|
|
1110
|
-
supervisely-6.73.
|
|
1111
|
-
supervisely-6.73.
|
|
1106
|
+
supervisely-6.73.379.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1107
|
+
supervisely-6.73.379.dist-info/METADATA,sha256=wF5oRIPeyHyS_2ml8LGidTODKTYoLNJg8HRsvEvTltw,35154
|
|
1108
|
+
supervisely-6.73.379.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
1109
|
+
supervisely-6.73.379.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
|
|
1110
|
+
supervisely-6.73.379.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
|
|
1111
|
+
supervisely-6.73.379.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|