supervisely 6.73.449__py3-none-any.whl → 6.73.450__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.
@@ -15,6 +15,7 @@ from supervisely.geometry.multichannel_bitmap import MultichannelBitmap
15
15
  from supervisely.geometry.closed_surface_mesh import ClosedSurfaceMesh
16
16
  from supervisely.geometry.alpha_mask import AlphaMask
17
17
  from supervisely.geometry.cuboid_2d import Cuboid2d
18
+ from supervisely.geometry.polyline_3d import Polyline3D
18
19
 
19
20
 
20
21
  _INPUT_GEOMETRIES = [
@@ -34,6 +35,7 @@ _INPUT_GEOMETRIES = [
34
35
  ClosedSurfaceMesh,
35
36
  AlphaMask,
36
37
  Cuboid2d,
38
+ Polyline3D,
37
39
  ]
38
40
  _JSON_SHAPE_TO_GEOMETRY_TYPE = {
39
41
  geometry.geometry_name(): geometry for geometry in _INPUT_GEOMETRIES
@@ -0,0 +1,110 @@
1
+ from supervisely.geometry.geometry import Geometry
2
+ from supervisely.geometry.constants import LABELER_LOGIN, UPDATED_AT, CREATED_AT, ID, CLASS_ID
3
+ from supervisely.geometry.cuboid_3d import Vector3d
4
+ from typing import List, Union
5
+
6
+
7
+ class Polyline3D(Geometry):
8
+ """
9
+ Polyline3D geometry
10
+
11
+ :param points: List of 3D point coordinates which define the polyline in 3D space.
12
+ :type points: List[List[int, int, int]]
13
+ :param sly_id: Polyline ID in Supervisely server.
14
+ :type sly_id: int, optional
15
+ :param class_id: ID of :class:`ObjClass<supervisely.annotation.obj_class.ObjClass>` to which Polyline belongs.
16
+ :type class_id: int, optional
17
+ :param labeler_login: Login of the user who created Polyline.
18
+ :type labeler_login: str, optional
19
+ :param updated_at: Date and Time when Polyline was modified last. Date Format: Year:Month:Day:Hour:Minute:Seconds. Example: '2021-01-22T19:37:50.158Z'.
20
+ :type updated_at: str, optional
21
+ :param created_at: Date and Time when Polyline was created. Date Format is the same as in "updated_at" parameter.
22
+ :type created_at: str, optional
23
+
24
+ :Usage example:
25
+
26
+ .. code-block:: python
27
+
28
+ import supervisely as sly
29
+
30
+ points = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
31
+ figure = sly.Polyline(points)
32
+ """
33
+
34
+ @staticmethod
35
+ def geometry_name():
36
+ return "polyline_3d"
37
+
38
+ def __init__(
39
+ self,
40
+ points: Union[List[float], List[Vector3d]],
41
+ sly_id=None,
42
+ class_id=None,
43
+ labeler_login=None,
44
+ updated_at=None,
45
+ created_at=None,
46
+ ):
47
+ if not isinstance(points[0], Vector3d):
48
+ points = [Vector3d(point[0], point[1], point[2]) for point in points]
49
+ super().__init__(
50
+ sly_id=sly_id,
51
+ class_id=class_id,
52
+ labeler_login=labeler_login,
53
+ updated_at=updated_at,
54
+ created_at=created_at,
55
+ )
56
+
57
+ self._points = points
58
+
59
+ @property
60
+ def points(self):
61
+ return self._points
62
+
63
+ def to_json(self):
64
+ points = [[point.x, point.y, point.z] for point in self._points]
65
+ res = {"points": points}
66
+ self._add_creation_info(res)
67
+ return res
68
+
69
+ @classmethod
70
+ def from_json(cls, data):
71
+ """
72
+ Convert a json dict to Polyline3D.
73
+
74
+ :param data: Polyline3D in json format as a dict.
75
+ :type data: dict
76
+ :return: Polyline3D object
77
+ :rtype: :class:`Polyline3D<Polyline3D>`
78
+ :Usage example:
79
+
80
+ .. code-block:: python
81
+
82
+ import supervisely as sly
83
+
84
+ figure_json = {
85
+ "points": {
86
+ [
87
+ [1, 2, 3],
88
+ [4, 5, 6],
89
+ [7, 8, 9]
90
+ ],
91
+ }
92
+ }
93
+ figure = sly.Polyline3D.from_json(figure_json)
94
+ """
95
+ if not data.get("points"):
96
+ raise ValueError("Data dict must contain 'points' field!")
97
+ points = data["points"]
98
+ labeler_login = data.get(LABELER_LOGIN, None)
99
+ updated_at = data.get(UPDATED_AT, None)
100
+ created_at = data.get(CREATED_AT, None)
101
+ sly_id = data.get(ID, None)
102
+ class_id = data.get(CLASS_ID, None)
103
+ return cls(
104
+ points,
105
+ sly_id=sly_id,
106
+ class_id=class_id,
107
+ labeler_login=labeler_login,
108
+ updated_at=updated_at,
109
+ created_at=created_at,
110
+ )
@@ -3,6 +3,7 @@ from typing import List, Optional
3
3
  import numpy as np
4
4
 
5
5
  from supervisely.geometry.cuboid_3d import Cuboid3d
6
+ from supervisely.geometry.polyline_3d import Polyline3D
6
7
 
7
8
 
8
9
  class Prediction:
@@ -81,3 +82,9 @@ class PredictionCuboid3d(Prediction):
81
82
  super(PredictionCuboid3d, self).__init__(class_name=class_name)
82
83
  self.cuboid_3d = cuboid_3d
83
84
  self.score = score
85
+
86
+
87
+ class PredictionPolyline3D(Prediction):
88
+ def __init__(self, class_name: str, polyline_3d: Polyline3D):
89
+ super(PredictionPolyline3D, self).__init__(class_name=class_name)
90
+ self.polyline_3d = polyline_3d
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: supervisely
3
- Version: 6.73.449
3
+ Version: 6.73.450
4
4
  Summary: Supervisely Python SDK.
5
5
  Home-page: https://github.com/supervisely/supervisely
6
6
  Author: Supervisely
@@ -8,7 +8,7 @@ supervisely/versions.json,sha256=J7V7XPpDno0fvmNaAXXcxNksXqpRFaYRrG4POC0UDKQ,608
8
8
  supervisely/annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  supervisely/annotation/annotation.py,sha256=th4gsIU-LNGcMRohHrtupmjxDwdzx1g4_0xIAa6NyJU,114717
10
10
  supervisely/annotation/annotation_transforms.py,sha256=TlVy_gUbM-XH6GbLpZPrAi6pMIGTr7Ow02iSKOSTa-I,9582
11
- supervisely/annotation/json_geometries_map.py,sha256=nL6AmMhFy02fw9ryBm75plKyOkDh61QdOToSuLAcz_Q,1659
11
+ supervisely/annotation/json_geometries_map.py,sha256=2MaOklrooKc6QUGXEEEhatPsNxRodp2cPsaiYENlv98,1731
12
12
  supervisely/annotation/label.py,sha256=sOK6lGDa-uSNCb7o4F9BJwnPia-Qp36OmFOU8oHyHPA,40601
13
13
  supervisely/annotation/obj_class.py,sha256=W7-958-E9TfsL7eKAI3bbOvfAVxd3Unq-7F3lc2Gxjg,16672
14
14
  supervisely/annotation/obj_class_collection.py,sha256=lsBJ8mElvwMHky2vsj4GfZ9_Uq186eS-o4ldoNeUJnw,12416
@@ -721,6 +721,7 @@ supervisely/geometry/point_location.py,sha256=ufGPj5BShL3QbE1eAMlnKpSSnb1S23Gfsk
721
721
  supervisely/geometry/pointcloud.py,sha256=cc4P_UNLGx5dWah3caRJytW7_mAi8UnYsJOa20mUy8s,1472
722
722
  supervisely/geometry/polygon.py,sha256=lqXS8xkBay8UhkVsB7eG_gRhwP1lBqyPaEri85ZMK8c,11597
723
723
  supervisely/geometry/polyline.py,sha256=r6KKJhJT8Au9Ds94Oa7saKdz2IPaEtR4SuVJBc4-uiA,8191
724
+ supervisely/geometry/polyline_3d.py,sha256=3uG-SszDH2iZPo2ES9ibMxvAjO2gEmr2PZIqN53Q2Hs,3458
724
725
  supervisely/geometry/rectangle.py,sha256=hWYNcVLzFTFf0WiDNhNFi9ktrgLPYxcow3QKltaQOiI,33875
725
726
  supervisely/geometry/sliding_windows.py,sha256=VWtE3DS9AaIlS0ch0PY6wwtWU89J82icDRZ-F0LFrjM,1700
726
727
  supervisely/geometry/sliding_windows_fuzzy.py,sha256=InvJlH6MEW55DM1IdoMHP2MLFLieTDZfHrZZEINLQOc,3626
@@ -759,7 +760,7 @@ supervisely/metric/precision_recall_metric.py,sha256=4AQCkcB84mpYQS94yJ-wkG1LBuX
759
760
  supervisely/metric/projects_applier.py,sha256=ORtgLQHYtNi4KYsSGaGPPWiZPexTJF9IWqX_RuLRxPk,3415
760
761
  supervisely/nn/__init__.py,sha256=ZGCDjx_cGIW8CxIWNCzVDRVfAzt7QzlkcvKvLBE8wMc,669
761
762
  supervisely/nn/experiments.py,sha256=1m5qq7LbHEVzI6nS4dFZg1zwJvjmhIvUoQ3iFhD8GBc,10387
762
- supervisely/nn/prediction_dto.py,sha256=oi146DJpUUBDbR-b-vYkL5WAhCZQYOGomqBDEQGbPdY,2700
763
+ supervisely/nn/prediction_dto.py,sha256=Z0WDcSnz5tEVTZ-eyDvD1CpIXlM7OYSZhK2A1TVZTEY,2977
763
764
  supervisely/nn/task_type.py,sha256=UJvSJ4L3I08j_e6sU6Ptu7kS5p1H09rfhfoDUSZ2iys,522
764
765
  supervisely/nn/utils.py,sha256=WoEidpLo5__R6eXsvEFH7VRxb4MtXCr9H-kchg25FDY,2965
765
766
  supervisely/nn/artifacts/__init__.py,sha256=DOkRrpvwQoTMH1GaAGHxwgYWshORAhxpeyvzmXt_F50,588
@@ -1127,9 +1128,9 @@ supervisely/worker_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
1127
1128
  supervisely/worker_proto/worker_api_pb2.py,sha256=VQfi5JRBHs2pFCK1snec3JECgGnua3Xjqw_-b3aFxuM,59142
1128
1129
  supervisely/worker_proto/worker_api_pb2_grpc.py,sha256=3BwQXOaP9qpdi0Dt9EKG--Lm8KGN0C5AgmUfRv77_Jk,28940
1129
1130
  supervisely_lib/__init__.py,sha256=yRwzEQmVwSd6lUQoAUdBngKEOlnoQ6hA9ZcoZGJRNC4,331
1130
- supervisely-6.73.449.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1131
- supervisely-6.73.449.dist-info/METADATA,sha256=d65TCju-7Q_u75UWtDWAgTcIRszBoX5r8KPONLcp0Bo,35480
1132
- supervisely-6.73.449.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1133
- supervisely-6.73.449.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1134
- supervisely-6.73.449.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1135
- supervisely-6.73.449.dist-info/RECORD,,
1131
+ supervisely-6.73.450.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1132
+ supervisely-6.73.450.dist-info/METADATA,sha256=zWQ1yBvKetrO79_43cLFyW2uZrlzRt56bNFIsRUsPes,35480
1133
+ supervisely-6.73.450.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
1134
+ supervisely-6.73.450.dist-info/entry_points.txt,sha256=U96-5Hxrp2ApRjnCoUiUhWMqijqh8zLR03sEhWtAcms,102
1135
+ supervisely-6.73.450.dist-info/top_level.txt,sha256=kcFVwb7SXtfqZifrZaSE3owHExX4gcNYe7Q2uoby084,28
1136
+ supervisely-6.73.450.dist-info/RECORD,,