Skip to content

Commit 1dd61d4

Browse files
committed
Add InstanceTag model.
1 parent 591194d commit 1dd61d4

File tree

6 files changed

+20
-16
lines changed

6 files changed

+20
-16
lines changed

pytest.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
minversion = 3.0
33
log_cli=true
44
python_files = test_*.py
5-
;addopts = -n auto --dist=loadscope
5+
addopts = -n auto --dist=loadscope

src/superannotate_schemas/schemas/base.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from superannotate_schemas.schemas.enums import BaseImageRoleEnum
2727
from superannotate_schemas.schemas.enums import VectorAnnotationTypeEnum
2828
from superannotate_schemas.schemas.enums import AnnotationStatusEnum
29+
from superannotate_schemas.schemas.enums import TagTypeEnum
2930
from superannotate_schemas.schemas.constances import DATE_REGEX
3031
from superannotate_schemas.schemas.constances import DATE_TIME_FORMAT_ERROR_MESSAGE
3132
from superannotate_schemas.schemas.constances import POINT_LABEL_VALUE_FORMAT_ERROR_MESSAGE
@@ -72,12 +73,6 @@ class Tag(BaseModel):
7273
__root__: NotEmptyStr
7374

7475

75-
class AttributeGroup(BaseModel):
76-
name: NotEmptyStr
77-
is_multiselect: Optional[bool] = Field(False)
78-
attributes: List[BaseAttribute]
79-
80-
8176
class BboxPoints(BaseModel):
8277
x1: StrictNumber
8378
x2: StrictNumber
@@ -126,6 +121,12 @@ class BaseInstance(TrackableModel, TimedBaseModel):
126121
class_name: Optional[NotEmptyStr] = Field(None, alias="className")
127122

128123

124+
class InstanceTag(BaseInstance):
125+
type: TagTypeEnum
126+
probability: Optional[StrictInt] = Field(100)
127+
attributes: Optional[List[BaseAttribute]] = Field(list())
128+
129+
129130
class BaseMetadata(BaseModel):
130131
name: NotEmptyStr
131132
url: Optional[StrictStr]
@@ -220,13 +221,6 @@ class BaseVectorInstance(BaseImageAnnotationInstance):
220221
tracking_id: Optional[str] = Field(alias="trackingId")
221222
group_id: Optional[int] = Field(alias="groupId")
222223

223-
#
224-
# class Metadata(BaseMetadata):
225-
# name: NotEmptyStr
226-
# status: Optional[AnnotationStatusEnum]
227-
# pinned: Optional[StrictBool]
228-
# is_predicted: Optional[StrictBool] = Field(None, alias="isPredicted")
229-
230224

231225
class PixelColor(BaseModel):
232226
__root__: ColorType

src/superannotate_schemas/schemas/enums.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class VectorAnnotationTypeEnum(str, Enum):
1010
POLYGON = "polygon"
1111
POINT = "point"
1212
RBBOX = "rbbox"
13+
TAG = "tag"
1314

1415

1516
class CreationTypeEnum(str, Enum):
@@ -38,3 +39,8 @@ class BaseImageRoleEnum(str, Enum):
3839
ADMIN = "Admin"
3940
ANNOTATOR = "Annotator"
4041
QA = "QA"
42+
43+
44+
class TagTypeEnum(str, Enum):
45+
TAG = "tag"
46+
OBJECT = "object"

src/superannotate_schemas/schemas/external/vector.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from superannotate_schemas.schemas.base import NotEmptyStr
2222
from superannotate_schemas.schemas.base import StrictNumber
2323
from superannotate_schemas.schemas.base import Tag
24+
from superannotate_schemas.schemas.base import InstanceTag
2425
from superannotate_schemas.schemas.enums import VectorAnnotationTypeEnum
2526

2627

@@ -115,12 +116,13 @@ class Cuboid(VectorInstance):
115116
VectorAnnotationTypeEnum.POLYLINE: PolyLine,
116117
VectorAnnotationTypeEnum.ELLIPSE: Ellipse,
117118
VectorAnnotationTypeEnum.RBBOX: RotatedBox,
119+
VectorAnnotationTypeEnum.TAG: InstanceTag,
118120
}
119121

120122

121123
class AnnotationInstance(BaseModel):
122124
__root__: Union[
123-
Template, Cuboid, Point, PolyLine, Polygon, Bbox, Ellipse, RotatedBox
125+
Template, Cuboid, Point, PolyLine, Polygon, Bbox, Ellipse, RotatedBox, InstanceTag
124126
]
125127

126128
@classmethod

src/superannotate_schemas/schemas/internal/vector.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ class Cuboid(VectorInstance):
112112
VectorAnnotationTypeEnum.RBBOX: RotatedBox,
113113
}
114114

115+
115116
class AnnotationInstance(BaseModel):
116117
__root__: Union[
117118
Template, Cuboid, Point, PolyLine, Polygon, Bbox, Ellipse, RotatedBox

tests/test_cli.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,5 @@ def test_(self):
8282
# pass
8383
# print(time.time() - s)
8484
import datetime
85-
print((datetime.datetime.now(datetime.timezone.utc)).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + 'Z')
85+
print((datetime.datetime.now(datetime.timezone.utc)).strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + 'Z')
86+

0 commit comments

Comments
 (0)