13
13
from dataclasses import dataclass
14
14
from typing import Any , Dict , List , NewType , Optional , Tuple , Union # pylint: disable=unused-import
15
15
16
- from dataclasses_json import dataclass_json
16
+ from dataclasses_json import DataClassJsonMixin
17
17
18
18
from annofabapi .models import (
19
19
AdditionalDataDefinitionType ,
29
29
AdditionalDataValue = Dict [str , Any ]
30
30
31
31
32
- @dataclass_json
33
32
@dataclass
34
- class Point :
33
+ class Point ( DataClassJsonMixin ) :
35
34
"""
36
35
座標
37
36
"""
@@ -43,18 +42,16 @@ class Point:
43
42
""""""
44
43
45
44
46
- @dataclass_json
47
45
@dataclass
48
- class FullAnnotationDataClassification :
46
+ class FullAnnotationDataClassification ( DataClassJsonMixin ) :
49
47
""""""
50
48
51
49
type : str
52
50
"""Classification"""
53
51
54
52
55
- @dataclass_json
56
53
@dataclass
57
- class FullAnnotationDataSegmentation :
54
+ class FullAnnotationDataSegmentation ( DataClassJsonMixin ) :
58
55
"""
59
56
塗っていないところは rgba(0,0,0,0)、塗ったところは rgba(255,255,255,1) の PNGデータをBase64エンコードしたもの。
60
57
"""
@@ -66,9 +63,8 @@ class FullAnnotationDataSegmentation:
66
63
"""Segmentation"""
67
64
68
65
69
- @dataclass_json
70
66
@dataclass
71
- class FullAnnotationDataSegmentationV2 :
67
+ class FullAnnotationDataSegmentationV2 ( DataClassJsonMixin ) :
72
68
""""""
73
69
74
70
data_uri : str
@@ -78,9 +74,8 @@ class FullAnnotationDataSegmentationV2:
78
74
"""SegmentationV2"""
79
75
80
76
81
- @dataclass_json
82
77
@dataclass
83
- class FullAnnotationDataBoundingBox :
78
+ class FullAnnotationDataBoundingBox ( DataClassJsonMixin ) :
84
79
"""
85
80
annotation_type が bounding_boxの場合に、[左上頂点座標, 右下頂点座標]を {\" x\" :int, \" y\" :int} の形式で記述したもの。
86
81
"""
@@ -95,9 +90,8 @@ class FullAnnotationDataBoundingBox:
95
90
"""BoundingBox"""
96
91
97
92
98
- @dataclass_json
99
93
@dataclass
100
- class FullAnnotationDataPoints :
94
+ class FullAnnotationDataPoints ( DataClassJsonMixin ) :
101
95
"""
102
96
頂点座標 {\" x\" :int, \" y\" :int} の配列。 * annotation_type が polygon/polyline の場合: ポリゴン/ポリラインを構成する頂点の配列。
103
97
"""
@@ -109,9 +103,8 @@ class FullAnnotationDataPoints:
109
103
"""Points"""
110
104
111
105
112
- @dataclass_json
113
106
@dataclass
114
- class FullAnnotationDataSinglePoint :
107
+ class FullAnnotationDataSinglePoint ( DataClassJsonMixin ) :
115
108
"""
116
109
annotation_type が pointの場合。
117
110
"""
@@ -123,9 +116,8 @@ class FullAnnotationDataSinglePoint:
123
116
"""SinglePoint。"""
124
117
125
118
126
- @dataclass_json
127
119
@dataclass
128
- class FullAnnotationDataRange :
120
+ class FullAnnotationDataRange ( DataClassJsonMixin ) :
129
121
"""
130
122
annotation_type が rangeの場合に、[開始時間, 終了時間]を {\" begin\" :number, \" end\" :number} の形式で記述したもの。開始時間・終了時間の単位は秒で、精度はミリ秒まで。
131
123
"""
@@ -140,9 +132,8 @@ class FullAnnotationDataRange:
140
132
"""Range"""
141
133
142
134
143
- @dataclass_json
144
135
@dataclass
145
- class AdditionalData :
136
+ class AdditionalData ( DataClassJsonMixin ) :
146
137
""""""
147
138
148
139
additional_data_definition_id : str
@@ -161,9 +152,8 @@ class AdditionalData:
161
152
""""""
162
153
163
154
164
- @dataclass_json
165
155
@dataclass
166
- class FullAnnotationAdditionalData :
156
+ class FullAnnotationAdditionalData ( DataClassJsonMixin ) :
167
157
""""""
168
158
169
159
additional_data_definition_id : Optional [str ]
@@ -179,9 +169,8 @@ class FullAnnotationAdditionalData:
179
169
""""""
180
170
181
171
182
- @dataclass_json
183
172
@dataclass
184
- class FullAnnotationDetail :
173
+ class FullAnnotationDetail ( DataClassJsonMixin ) :
185
174
""""""
186
175
187
176
annotation_id : Optional [str ]
@@ -209,9 +198,8 @@ class FullAnnotationDetail:
209
198
""""""
210
199
211
200
212
- @dataclass_json
213
201
@dataclass
214
- class FullAnnotation :
202
+ class FullAnnotation ( DataClassJsonMixin ) :
215
203
""""""
216
204
217
205
project_id : Optional [str ]
@@ -245,9 +233,8 @@ class FullAnnotation:
245
233
"""アノテーションフォーマットのバージョンです。 アノテーションフォーマットとは、プロジェクト個別のアノテーション仕様ではなく、AnnoFabのアノテーション構造のことです。 したがって、アノテーション仕様を更新しても、このバージョンは変化しません。 バージョンの読み方と更新ルールは、業界慣習の[Semantic Versioning](https://semver.org/)にもとづきます。 JSONに出力されるアノテーションフォーマットのバージョンは、アノテーションZIPが作成される時点のものが使われます。 すなわち、`1.0.0`の時点のタスクで作成したアノテーションであっても、フォーマットが `1.0.1` に上がった次のZIP作成時では `1.0.1` となります。 バージョンを固定してZIPを残しておきたい場合は、プロジェクトが完了した時点でZIPをダウンロードして保管しておくか、またはプロジェクトを「停止中」にします。 """
246
234
247
235
248
- @dataclass_json
249
236
@dataclass
250
- class SimpleAnnotationDetail :
237
+ class SimpleAnnotationDetail ( DataClassJsonMixin ) :
251
238
""""""
252
239
253
240
label : str
@@ -263,9 +250,8 @@ class SimpleAnnotationDetail:
263
250
"""キーに属性の名前、値に各属性の値が入った辞書構造です。 """
264
251
265
252
266
- @dataclass_json
267
253
@dataclass
268
- class SimpleAnnotation :
254
+ class SimpleAnnotation ( DataClassJsonMixin ) :
269
255
""""""
270
256
271
257
annotation_format_version : str
@@ -299,9 +285,8 @@ class SimpleAnnotation:
299
285
"""更新日時。アノテーションが一つもない場合(教師付作業が未着手のときなど)は、未指定。"""
300
286
301
287
302
- @dataclass_json
303
288
@dataclass
304
- class SingleAnnotationDetail :
289
+ class SingleAnnotationDetail ( DataClassJsonMixin ) :
305
290
""""""
306
291
307
292
annotation_id : str
@@ -335,9 +320,8 @@ class SingleAnnotationDetail:
335
320
""""""
336
321
337
322
338
- @dataclass_json
339
323
@dataclass
340
- class SingleAnnotation :
324
+ class SingleAnnotation ( DataClassJsonMixin ) :
341
325
""""""
342
326
343
327
project_id : str
@@ -356,9 +340,8 @@ class SingleAnnotation:
356
340
""""""
357
341
358
342
359
- @dataclass_json
360
343
@dataclass
361
- class AnnotationDetail :
344
+ class AnnotationDetail ( DataClassJsonMixin ) :
362
345
""""""
363
346
364
347
annotation_id : str
@@ -398,9 +381,8 @@ class AnnotationDetail:
398
381
""""""
399
382
400
383
401
- @dataclass_json
402
384
@dataclass
403
- class Annotation :
385
+ class Annotation ( DataClassJsonMixin ) :
404
386
""""""
405
387
406
388
project_id : str
0 commit comments