supervisely 6.73.393__py3-none-any.whl → 6.73.395__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.
@@ -329,7 +329,7 @@ docker image for the corresponding model's framework, and run the `docker run` c
329
329
  2. Pull the Docker image
330
330
 
331
331
  ```bash
332
- docker pull {{ code.docker.image }}
332
+ docker pull {{ code.docker.deploy }}
333
333
  ```
334
334
 
335
335
  3. Run the Docker container
@@ -339,7 +339,7 @@ docker image for the corresponding model's framework, and run the `docker run` c
339
339
  --runtime=nvidia \
340
340
  -v "./{{ experiment.paths.experiment_dir.path }}:/model" \ # Mount the experiment directory to the container
341
341
  -p 8000:8000 \
342
- {{ code.docker.image }} \
342
+ {{ code.docker.deploy }} \
343
343
  deploy \
344
344
  --model "/model/checkpoints/{{ experiment.training.checkpoints.pytorch.name }}" \
345
345
  --device "cuda:0"
@@ -371,7 +371,7 @@ docker run \
371
371
  --runtime=nvidia \
372
372
  -v "./{{ experiment.paths.experiment_dir.path }}:/model" \
373
373
  -p 8000:8000 \
374
- {{ code.docker.image }} \
374
+ {{ code.docker.deploy }} \
375
375
  predict \
376
376
  "./image.jpg" \ # Put your image/video/directory here
377
377
  --model "/model/checkpoints/{{ experiment.training.checkpoints.pytorch.name }}" \
@@ -416,7 +416,7 @@ This approach helps you to quickly set up the environment and run inference with
416
416
  )
417
417
 
418
418
  # Predict
419
- predictions = model.predict(
419
+ predictions = model(
420
420
  # 'input' can accept various formats: image paths, np.arrays, Supervisely IDs and others.
421
421
  input=["path/to/image1.jpg", "path/to/image2.jpg"],
422
422
  conf=0.5, # confidence threshold
@@ -138,7 +138,7 @@ class ExperimentGenerator(BaseGenerator):
138
138
  pytorch_demo, onnx_demo, trt_demo = self._get_demo_scripts()
139
139
 
140
140
  return {
141
- "docker": {"image": docker_image},
141
+ "docker": {"image": docker_image, "deploy": f"{docker_image}-deploy"},
142
142
  "local_prediction": {
143
143
  "repo": repo_info,
144
144
  "serving_module": (
@@ -52,6 +52,8 @@ class VolumeFigure(VideoFigure):
52
52
  :type updated_at: str, optional
53
53
  :param created_at: Date and Time when VolumeFigure was created. Date Format is the same as in "updated_at" parameter.
54
54
  :type created_at: str, optional
55
+ :param custom_data: Custom data associated with the VolumeFigure.
56
+ :type custom_data: dict, optional
55
57
  :Usage example:
56
58
 
57
59
  .. code-block:: python
@@ -98,6 +100,7 @@ class VolumeFigure(VideoFigure):
98
100
  labeler_login: Optional[str] = None,
99
101
  updated_at: Optional[str] = None,
100
102
  created_at: Optional[str] = None,
103
+ custom_data: Optional[dict] = None,
101
104
  **kwargs,
102
105
  ):
103
106
  # only Mask3D can be created without 'plane_name' and 'slice_index'
@@ -128,6 +131,7 @@ class VolumeFigure(VideoFigure):
128
131
  Plane.validate_name(plane_name)
129
132
  self._plane_name = plane_name
130
133
  self._slice_index = slice_index
134
+ self._custom_data = custom_data or {}
131
135
 
132
136
  @property
133
137
  def volume_object(self) -> VolumeObject:
@@ -282,6 +286,34 @@ class VolumeFigure(VideoFigure):
282
286
 
283
287
  return Plane.get_normal(self.plane_name)
284
288
 
289
+ @property
290
+ def custom_data(self) -> Optional[dict]:
291
+ """
292
+ Get custom data associated with the VolumeFigure.
293
+
294
+ :return: Custom data associated with the VolumeFigure.
295
+ :rtype: dict
296
+ :Usage example:
297
+
298
+ .. code-block:: python
299
+
300
+ import supervisely as sly
301
+
302
+ obj_class_heart = sly.ObjClass('heart', sly.Rectangle)
303
+ volume_obj_heart = sly.VolumeObject(obj_class_heart)
304
+ volume_figure_heart = sly.VolumeFigure(
305
+ volume_obj_heart,
306
+ geometry=sly.Rectangle(0, 0, 100, 100),
307
+ plane_name="axial",
308
+ slice_index=7,
309
+ custom_data={"key": "value"}
310
+ )
311
+
312
+ print(volume_figure_heart.custom_data)
313
+ # Output: {'key': 'value'}
314
+ """
315
+ return self._custom_data
316
+
285
317
  def _validate_geometry_type(self):
286
318
  if (
287
319
  self.parent_object.obj_class.geometry_type != AnyGeometry
@@ -344,6 +376,7 @@ class VolumeFigure(VideoFigure):
344
376
  labeler_login=None,
345
377
  updated_at=None,
346
378
  created_at=None,
379
+ custom_data=None,
347
380
  ):
348
381
  """
349
382
  Makes a copy of VolumeFigure with new fields, if fields are given, otherwise it will use fields of the original VolumeFigure.
@@ -366,6 +399,8 @@ class VolumeFigure(VideoFigure):
366
399
  :type updated_at: str, optional
367
400
  :param created_at: Date and Time when VolumeFigure was created. Date Format is the same as in "updated_at" parameter.
368
401
  :type created_at: str, optional
402
+ :param custom_data: Custom data associated with the VolumeFigure.
403
+ :type custom_data: dict, optional
369
404
  :return: VolumeFigure object
370
405
  :rtype: :class:`VolumeFigure`
371
406
 
@@ -422,6 +457,7 @@ class VolumeFigure(VideoFigure):
422
457
  labeler_login=take_with_default(labeler_login, self.labeler_login),
423
458
  updated_at=take_with_default(updated_at, self.updated_at),
424
459
  created_at=take_with_default(created_at, self.created_at),
460
+ custom_data=take_with_default(custom_data, self.custom_data),
425
461
  )
426
462
 
427
463
  def get_meta(self):
@@ -542,6 +578,7 @@ class VolumeFigure(VideoFigure):
542
578
  labeler_login = data.get(LABELER_LOGIN, None)
543
579
  updated_at = data.get(UPDATED_AT, None)
544
580
  created_at = data.get(CREATED_AT, None)
581
+ custom_data = data.get(ApiField.CUSTOM_DATA, None)
545
582
 
546
583
  return cls(
547
584
  volume_object=volume_object,
@@ -553,6 +590,7 @@ class VolumeFigure(VideoFigure):
553
590
  labeler_login=labeler_login,
554
591
  updated_at=updated_at,
555
592
  created_at=created_at,
593
+ custom_data=custom_data,
556
594
  )
557
595
 
558
596
  def to_json(self, key_id_map=None, save_meta=True):
@@ -596,11 +634,13 @@ class VolumeFigure(VideoFigure):
596
634
  # "planeName": "axial",
597
635
  # "sliceIndex": 7
598
636
  # },
599
- # "objectKey": "bf63ffe342e949899d3ddcb6b0f73f54"
637
+ # "objectKey": "bf63ffe342e949899d3ddcb6b0f73f54",
638
+ # "custom_data": {}
600
639
  # }
601
640
  """
602
641
 
603
642
  json_data = super().to_json(key_id_map, save_meta)
643
+ json_data[ApiField.CUSTOM_DATA] = self.custom_data
604
644
  if type(self._geometry) == ClosedSurfaceMesh:
605
645
  json_data.pop(ApiField.GEOMETRY)
606
646
  json_data.pop(ApiField.META)
@@ -616,6 +656,7 @@ class VolumeFigure(VideoFigure):
616
656
  labeler_login: Optional[str] = None,
617
657
  updated_at: Optional[str] = None,
618
658
  created_at: Optional[str] = None,
659
+ custom_data: Optional[dict] = None,
619
660
  ) -> VolumeFigure:
620
661
  """
621
662
  Create a VolumeFigure from Mask 3D geometry.
@@ -634,6 +675,8 @@ class VolumeFigure(VideoFigure):
634
675
  :type updated_at: str, optional
635
676
  :param created_at: The date and time when the VolumeFigure was created (ISO 8601 format, e.g., '2021-01-22T19:37:50.158Z').
636
677
  :type created_at: str, optional
678
+ :param custom_data: Custom data associated with the VolumeFigure.
679
+ :type custom_data: dict, optional
637
680
  :return: A VolumeFigure object created from Mask3D geometry.
638
681
  :rtype: VolumeFigure
639
682
  """
@@ -656,6 +699,7 @@ class VolumeFigure(VideoFigure):
656
699
  labeler_login=labeler_login,
657
700
  updated_at=updated_at,
658
701
  created_at=created_at,
702
+ custom_data=custom_data,
659
703
  )
660
704
 
661
705
  def _set_3d_geometry(self, new_geometry: Mask3D) -> None:
@@ -1,14 +1,14 @@
1
1
  # coding: utf-8
2
2
 
3
3
  import uuid
4
-
5
4
  from typing import Optional, Union
5
+
6
6
  from numpy import ndarray
7
7
 
8
+ from supervisely.geometry.mask_3d import Mask3D
8
9
  from supervisely.video_annotation.video_object import VideoObject
9
10
  from supervisely.volume_annotation import volume_figure
10
11
  from supervisely.volume_annotation.volume_tag_collection import VolumeTagCollection
11
- from supervisely.geometry.mask_3d import Mask3D
12
12
 
13
13
 
14
14
  class VolumeObject(VideoObject):
@@ -31,6 +31,8 @@ class VolumeObject(VideoObject):
31
31
  :type created_at: str, optional
32
32
  :param mask_3d: Path for local geometry file, array with geometry data or Mask3D geometry object
33
33
  :type mask_3d: Union[str, ndarray, Mask3D], optional
34
+ :param custom_data: Custom data associated with the VolumeObject.
35
+ :type custom_data: dict, optional
34
36
  :Usage example:
35
37
 
36
38
  .. code-block:: python
@@ -58,6 +60,7 @@ class VolumeObject(VideoObject):
58
60
  updated_at: Optional[str] = None,
59
61
  created_at: Optional[str] = None,
60
62
  mask_3d: Optional[Union[Mask3D, ndarray, str]] = None,
63
+ custom_data: Optional[dict] = None,
61
64
  ):
62
65
  super().__init__(
63
66
  obj_class=obj_class,
@@ -68,19 +71,33 @@ class VolumeObject(VideoObject):
68
71
  updated_at=updated_at,
69
72
  created_at=created_at,
70
73
  )
71
-
72
74
  if mask_3d is not None:
73
75
  if isinstance(mask_3d, str):
74
76
  self.figure = volume_figure.VolumeFigure(
75
- self, Mask3D.create_from_file(mask_3d), labeler_login, updated_at, created_at
77
+ self,
78
+ geometry=Mask3D.create_from_file(mask_3d),
79
+ labeler_login=labeler_login,
80
+ updated_at=updated_at,
81
+ created_at=created_at,
82
+ custom_data=custom_data,
76
83
  )
77
84
  elif isinstance(mask_3d, ndarray):
78
85
  self.figure = volume_figure.VolumeFigure(
79
- self, Mask3D(mask_3d), labeler_login, updated_at, created_at
86
+ self,
87
+ geometry=Mask3D(mask_3d),
88
+ labeler_login=labeler_login,
89
+ updated_at=updated_at,
90
+ created_at=created_at,
91
+ custom_data=custom_data,
80
92
  )
81
93
  elif isinstance(mask_3d, Mask3D):
82
94
  self.figure = volume_figure.VolumeFigure(
83
- self, mask_3d, labeler_login, updated_at, created_at
95
+ self,
96
+ geometry=mask_3d,
97
+ labeler_login=labeler_login,
98
+ updated_at=updated_at,
99
+ created_at=created_at,
100
+ custom_data=custom_data,
84
101
  )
85
102
  else:
86
103
  raise TypeError("mask_3d type must be one of [Mask3D, ndarray, str]")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: supervisely
3
- Version: 6.73.393
3
+ Version: 6.73.395
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -35,7 +35,7 @@ supervisely/api/import_storage_api.py,sha256=BDCgmR0Hv6OoiRHLCVPKt3iDxSVlQp1WrnK
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
37
37
  supervisely/api/labeling_queue_api.py,sha256=ilNjAL1d9NSa9yabQn6E-W26YdtooT3ZGXIFZtGnAvY,30158
38
- supervisely/api/module_api.py,sha256=u-xm7DEkmIGJjhJKehCAs3w0GiC3xxNeLvQ_hTyGAF4,45363
38
+ supervisely/api/module_api.py,sha256=LKRciU6kKiBTUxb_3iYd5yfUBrhm9Sl0epDd8YBTnPc,45413
39
39
  supervisely/api/object_class_api.py,sha256=7-npNFMYjWNtSXYZg6syc6bX56_oCzDU2kFRPGQWCwA,10399
40
40
  supervisely/api/plugin_api.py,sha256=SFm0IlTTOjuHBLUMgG4d4k6U3cWJocE-SVb-f08fwMQ,5286
41
41
  supervisely/api/project_api.py,sha256=WNTMqAa0ZedYesfiZEkZtaFr5huxIpJ8TFYygTnlAWQ,80309
@@ -50,8 +50,8 @@ supervisely/api/user_api.py,sha256=m29GP9tvem8P2fJZgg7DAZ9yhFdBX26ZBcWxCKdnhn4,2
50
50
  supervisely/api/video_annotation_tool_api.py,sha256=3A9-U8WJzrTShP_n9T8U01M9FzGYdeS51CCBTzUnooo,6686
51
51
  supervisely/api/workspace_api.py,sha256=24O9uR5eIA2JdD0eQLi9LGaaHISdb2gUqnxJtx7bTew,9222
52
52
  supervisely/api/entity_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- supervisely/api/entity_annotation/entity_annotation_api.py,sha256=K79KdDyepQv4FiNQHBj9V4-zLIemxK9WG1ig1bfBKb8,3083
54
- supervisely/api/entity_annotation/figure_api.py,sha256=rmsE3L_JfqN94sLN637pQ0syiBAXPd8RyAwhl41j1xs,35318
53
+ supervisely/api/entity_annotation/entity_annotation_api.py,sha256=R7irdsYmUecsibuUFbcPRiS6tV3GnCHi9NfWeuoN7_0,3085
54
+ supervisely/api/entity_annotation/figure_api.py,sha256=KjTpHd7Tl--sG56bC16Ih0cZ7h94lAYpyviOmwOKdCU,35759
55
55
  supervisely/api/entity_annotation/object_api.py,sha256=gbcNvN_KY6G80Me8fHKQgryc2Co7VU_kfFd1GYILZ4E,8875
56
56
  supervisely/api/entity_annotation/tag_api.py,sha256=IapvSZmakjdOn0yvqP2tQRY8gkZg0bcvIZBwWRcafrg,18996
57
57
  supervisely/api/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -75,9 +75,9 @@ supervisely/api/video/video_frame_api.py,sha256=4GwSI4xdCNYEUvTqzKc-Ewd44fw5zqkF
75
75
  supervisely/api/video/video_object_api.py,sha256=IC0NP8EoIT_d3xxDRgz2cA3ixSiuJ5ymy64eS-RfmDM,2227
76
76
  supervisely/api/video/video_tag_api.py,sha256=wPe1HeJyg9kV1z2UJq6BEte5sKBoPJ2UGAHpGivis9c,14911
77
77
  supervisely/api/volume/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- supervisely/api/volume/volume_annotation_api.py,sha256=NOHpLeqHLCeRs1KlXWoG91vtIXdUVTO69wh1ws0VmOQ,22246
78
+ supervisely/api/volume/volume_annotation_api.py,sha256=_v9IcWYYIajlCIUjVXNc30iWqgfh8i5RRL1kL1hliVE,22376
79
79
  supervisely/api/volume/volume_api.py,sha256=rz_yaBbbTkVeAHmF449zPI8Va_YpDHfHYjXgjGAjMJg,55390
80
- supervisely/api/volume/volume_figure_api.py,sha256=upjIdiiQgOJ6och0KUg0rQo-q-PIipL5RX2V3fOBPvI,25437
80
+ supervisely/api/volume/volume_figure_api.py,sha256=Fs7j3h76kw7EI-o3vJHjpvL4Vxn3Fu-DzhArgK_qrPk,26523
81
81
  supervisely/api/volume/volume_object_api.py,sha256=F7pLV2MTlBlyN6fEKdxBSUatIMGWSuu8bWj3Hvcageo,2139
82
82
  supervisely/api/volume/volume_tag_api.py,sha256=yNGgXz44QBSW2VGlNDOVLqLXnH8Q2fFrxDFb_girYXA,3639
83
83
  supervisely/app/__init__.py,sha256=4yW79U_xvo7vjg6-vRhjtt0bO8MxMSx2PD8dMamS9Q8,633
@@ -575,7 +575,7 @@ supervisely/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
575
575
  supervisely/collection/key_indexed_collection.py,sha256=x2UVlkprspWhhae9oLUzjTWBoIouiWY9UQSS_MozfH0,37643
576
576
  supervisely/collection/str_enum.py,sha256=Zp29yFGvnxC6oJRYNNlXhO2lTSdsriU1wiGHj6ahEJE,1250
577
577
  supervisely/convert/__init__.py,sha256=ropgB1eebG2bfLoJyf2jp8Vv9UkFujaW3jVX-71ho1g,1353
578
- supervisely/convert/base_converter.py,sha256=O2SP4I_Hd0aSn8kbOUocy8orkc_-iD-TQ-z4ieUqabA,18579
578
+ supervisely/convert/base_converter.py,sha256=bc-QlT7kliHxrhM0bdHzgNVSfzDGgecrmaZH_nFZsL0,18597
579
579
  supervisely/convert/converter.py,sha256=022I1UieyaPDVb8lOcKW20jSt1_1TcbIWhghSmieHAE,10885
580
580
  supervisely/convert/image/__init__.py,sha256=JEuyaBiiyiYmEUYqdn8Mog5FVXpz0H1zFubKkOOm73I,1395
581
581
  supervisely/convert/image/image_converter.py,sha256=8vak8ZoKTN1ye2ZmCTvCZ605-Rw1AFLIEo7bJMfnR68,10426
@@ -674,11 +674,11 @@ supervisely/convert/volume/dicom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
674
674
  supervisely/convert/volume/dicom/dicom_converter.py,sha256=Hw4RxU_qvllk6M26udZE6G-m1RWR8-VVPcEPwFlqrVg,3354
675
675
  supervisely/convert/volume/dicom/dicom_helper.py,sha256=OrKlyt1hA5BOXKhE1LF1WxBIv3b6t96xRras4OSAuNM,2891
676
676
  supervisely/convert/volume/nii/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
677
- supervisely/convert/volume/nii/nii_planes_volume_converter.py,sha256=-3afZ61BqfMVqTWNa19INn7OR7DqiIx_HhfVi1oHTcE,14751
678
- supervisely/convert/volume/nii/nii_volume_converter.py,sha256=hcWl3v5pp0pSRbS-fdytCkXZ4tcJEap7dg24-aVv9bU,8619
679
- supervisely/convert/volume/nii/nii_volume_helper.py,sha256=CxUuJGYRVs9Uhhdnzzi7ioaV6gnReorIANGTvfab53o,14198
677
+ supervisely/convert/volume/nii/nii_planes_volume_converter.py,sha256=QTdmtqLrRBFSa0IZKhAnFkLl1J3nayzQQDwpglvEN64,16915
678
+ supervisely/convert/volume/nii/nii_volume_converter.py,sha256=QTFg0FW0raSVqgAfY56S7r6tHUYyNOnd4Y9Bdw-e6bc,8623
679
+ supervisely/convert/volume/nii/nii_volume_helper.py,sha256=nkfTG2NGmnf4AfrZ0lULSHaUBx1G24NJUO_5FNejolE,16032
680
680
  supervisely/convert/volume/sly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
681
- supervisely/convert/volume/sly/sly_volume_converter.py,sha256=XmSuxnRqxchG87b244f3h0UHvOt6IkajMquL1drWlCM,5595
681
+ supervisely/convert/volume/sly/sly_volume_converter.py,sha256=TI1i_aVYFFoqLHqVzCXnFeR6xobhGcgN_xWFZcpRqbE,6730
682
682
  supervisely/convert/volume/sly/sly_volume_helper.py,sha256=gUY0GW3zDMlO2y-zQQG36uoXMrKkKz4-ErM1CDxFCxE,5620
683
683
  supervisely/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
684
684
  supervisely/decorators/inference.py,sha256=p0fBSg3ek2tt29h7OxQwhtvLcBhKe9kSgA8G5zZHXjE,13777
@@ -893,7 +893,7 @@ supervisely/nn/benchmark/visualization/widgets/table/__init__.py,sha256=47DEQpj8
893
893
  supervisely/nn/benchmark/visualization/widgets/table/table.py,sha256=atmDnF1Af6qLQBUjLhK18RMDKAYlxnsuVHMSEa5a-e8,4319
894
894
  supervisely/nn/inference/__init__.py,sha256=QFukX2ip-U7263aEPCF_UCFwj6EujbMnsgrXp5Bbt8I,1623
895
895
  supervisely/nn/inference/cache.py,sha256=yqVPIWzhIDRHwrCIpdm-gPxUM2rH8BD98omF659RElw,34938
896
- supervisely/nn/inference/inference.py,sha256=angMpnfUyPa5OQxkUn9GIliavxygyz1BytNUIks3T8M,183369
896
+ supervisely/nn/inference/inference.py,sha256=L14M8qGofz6EGrgJvGMcz0h3vsu-AnHPeL_iUO8Kf3Y,195721
897
897
  supervisely/nn/inference/inference_request.py,sha256=y6yw0vbaRRcEBS27nq3y0sL6Gmq2qLA_Bm0GrnJGegE,14267
898
898
  supervisely/nn/inference/session.py,sha256=dIg2F-OBl68pUzcmtmcI0YQIp1WWNnrJTVMjwFN91Q4,35824
899
899
  supervisely/nn/inference/uploader.py,sha256=21a9coOimCHhEqAbV-llZWcp12847DEMoQp3N16bpK0,5425
@@ -999,7 +999,7 @@ supervisely/nn/tracking/__init__.py,sha256=Ld1ed7ZZQZPkhX-5Xr-UbHZx5zLCm2-tInHnP
999
999
  supervisely/nn/tracking/boxmot.py,sha256=H9cQjYGL9nX_TLrfKDChhljTIiE9lffcgbwWCf_4PJU,4277
1000
1000
  supervisely/nn/tracking/tracking.py,sha256=WNrNm02B1pspA3d_AmzSJ-54RZTqWV2NZiC7FHe88bo,857
1001
1001
  supervisely/nn/training/__init__.py,sha256=gY4PCykJ-42MWKsqb9kl-skemKa8yB6t_fb5kzqR66U,111
1002
- supervisely/nn/training/train_app.py,sha256=0tE1noQGvfV7oWFPadL1D87wjuHEWnBtOax4Z7p5RUI,123660
1002
+ supervisely/nn/training/train_app.py,sha256=mPSCxcAvw5k_YzyaztvOmUr26ni6J624LIIb_Zxa-9g,123596
1003
1003
  supervisely/nn/training/gui/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
1004
1004
  supervisely/nn/training/gui/classes_selector.py,sha256=tqmVwUfC2u5K53mZmvDvNOhu9Mw5mddjpB2kxRXXUO8,12453
1005
1005
  supervisely/nn/training/gui/gui.py,sha256=YKhcTZrzhRDToY79L3QbgiWfx9P8GUcKkiBXw_GDgeQ,49215
@@ -1047,7 +1047,7 @@ supervisely/project/project_type.py,sha256=7mQ7zg6r7Bm2oFn5aR8n_PeLqMmOaPZd6ph7Z
1047
1047
  supervisely/project/readme_template.md,sha256=SFAfNF_uxSBJJ45A8qZ0MRuHnwSE4Gu_Z7UJqPMgRzg,9254
1048
1048
  supervisely/project/upload.py,sha256=ys95MXFh-rtq-EAsNsiRi3wgbFUCEsY2un3_bd5hJkE,3753
1049
1049
  supervisely/project/video_project.py,sha256=7i8__1zoU2Uryicjfa2_7p3JLnSPTv14ctLJPQGgnPY,66315
1050
- supervisely/project/volume_project.py,sha256=ZSq5lSGk9ujMaMjtghNK-zVf_25f2JA40-xemzIZwe0,23182
1050
+ supervisely/project/volume_project.py,sha256=BhFDE6GTxbhuJ-y4Bum-70bjRJ0FiIowkMru7PZ-0mk,23548
1051
1051
  supervisely/pyscripts_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1052
1052
  supervisely/pyscripts_utils/utils.py,sha256=scEwHJvHRQa8NHIOn2eTwH6-Zc8CGdLoxM-WzH9jcRo,314
1053
1053
  supervisely/report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1065,8 +1065,8 @@ supervisely/template/base_generator.py,sha256=3nesbfRpueyRYljQSTnkMjeC8ERTOfjI88
1065
1065
  supervisely/template/extensions.py,sha256=kTYxu_LrvFyUN3HByCebGq8ra7zUygcEyw4qTUHq3M4,5255
1066
1066
  supervisely/template/template_renderer.py,sha256=SzGxRdbP59uxqcZT8kZbaHN2epK8Vjfh-0jKBpkdCBY,9709
1067
1067
  supervisely/template/experiment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1068
- supervisely/template/experiment/experiment.html.jinja,sha256=ZzC98kZ3MajurD7vf5nTIR09vvzoZ9geh5WKZRO1cOg,17618
1069
- supervisely/template/experiment/experiment_generator.py,sha256=PNW8lqEOH4YOsA9MdkppbJxNvuzEdtpXx9kvfbNoCbM,37389
1068
+ supervisely/template/experiment/experiment.html.jinja,sha256=vU-mI0Tp_PO5Qy_iiuJFoHUAK4eFqe0QXfpG9hDbf6Y,17613
1069
+ supervisely/template/experiment/experiment_generator.py,sha256=3R_yeoMX5qjskE7GBSUFE_oYJ0RAgLAeHvMRlJ0SYQY,37425
1070
1070
  supervisely/template/experiment/header.html.jinja,sha256=vm0XfXoMBU6nvHPrhX9k4OkkKkmu69OJFGWYvsRTrcs,12801
1071
1071
  supervisely/template/experiment/sidebar.html.jinja,sha256=4IxuJzcU1OT93mXMixE7EAMYfcn_lOVfCjS3VkEieSk,9323
1072
1072
  supervisely/template/experiment/sly-style.css,sha256=cl_wJfM-KOL0DumW5vdyLavF7mc6_hb9kh15qhD7MqM,8344
@@ -1098,8 +1098,8 @@ supervisely/volume_annotation/constants.py,sha256=BdFIh56fy7vzLIjt0gH8xP01EIU-qg
1098
1098
  supervisely/volume_annotation/plane.py,sha256=wyezAcc8tLp38O44CwWY0wjdQxf3VjRdFLWooCrk-Nw,16301
1099
1099
  supervisely/volume_annotation/slice.py,sha256=9m3jtUYz4PYKV3rgbeh2ofDebkyg4TomNbkC6BwZ0lA,4635
1100
1100
  supervisely/volume_annotation/volume_annotation.py,sha256=pGu6n8_5JkFpir4HTVRf302gGD2EqJ96Gh4M0_236Qg,32047
1101
- supervisely/volume_annotation/volume_figure.py,sha256=3iFyknF8TlLCMBwgg8gJ26wnNTDTRaw8uEJFVkJGh78,25331
1102
- supervisely/volume_annotation/volume_object.py,sha256=rWzOnycoSJ4-CvFgDOP_rPortU4CdcYR26txe5wJHNo,3577
1101
+ supervisely/volume_annotation/volume_figure.py,sha256=xA5AFLDHjW8ZVul9FYk6J0NnCHzLqkZhKeasCRyiPDU,26982
1102
+ supervisely/volume_annotation/volume_object.py,sha256=m2nHZVt_6sWRs62y5x01V_FcCVnmfPeGCyCr8lXqahE,4241
1103
1103
  supervisely/volume_annotation/volume_object_collection.py,sha256=Tc4AovntgoFj5hpTLBv7pCQ3eL0BjorOVpOh2nAE_tA,5706
1104
1104
  supervisely/volume_annotation/volume_tag.py,sha256=MEk1ky7X8zWe2JgV-j8jXt14e8yu2g1kScU26n9lOMk,9494
1105
1105
  supervisely/volume_annotation/volume_tag_collection.py,sha256=b19ALxQc6qNRwlkbGijQIAL0q79ulh7IPZDsOivvO78,5827
@@ -1114,9 +1114,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
1114
1114
  supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
1115
1115
  supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
1116
1116
  supervisely_lib/__init__.py,sha256=7-3QnN8Zf0wj8NCr2oJmqoQWMKKPKTECvjH9pd2S5vY,159
1117
- supervisely-6.73.393.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1118
- supervisely-6.73.393.dist-info/METADATA,sha256=Ne2FExWoWEBKR4Ql9G7zglFJ2stNIVWhG7AIZfP3QGw,35254
1119
- supervisely-6.73.393.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1120
- supervisely-6.73.393.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1121
- supervisely-6.73.393.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1122
- supervisely-6.73.393.dist-info/RECORD,,
1117
+ supervisely-6.73.395.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1118
+ supervisely-6.73.395.dist-info/METADATA,sha256=6w6EUM_qrGdBdYV8MQmted-V5jfXec3D-YrxgxKe7sU,35254
1119
+ supervisely-6.73.395.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1120
+ supervisely-6.73.395.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1121
+ supervisely-6.73.395.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1122
+ supervisely-6.73.395.dist-info/RECORD,,