@@ -100,23 +100,28 @@ def __post_init__(self):
100
100
101
101
@classmethod
102
102
def from_json (cls , payload : dict ):
103
+ camera_params = (
104
+ CameraParams .from_json (payload [CAMERA_PARAMS_KEY ])
105
+ if payload .get (CAMERA_PARAMS_KEY , None )
106
+ else None
107
+ )
103
108
return cls (
104
- url = payload . get ( URL_KEY , "" ) ,
105
- type = payload . get ( TYPE_KEY , "" ) ,
109
+ url = payload [ URL_KEY ] ,
110
+ type = payload [ TYPE_KEY ] ,
106
111
reference_id = payload .get (REFERENCE_ID_KEY , None ),
107
112
metadata = payload .get (METADATA_KEY , None ),
108
- camera_params = CameraParams .from_json (
109
- payload .get (CAMERA_PARAMS_KEY , {})
110
- ),
113
+ camera_params = camera_params ,
111
114
)
112
115
113
116
def to_payload (self ) -> dict :
114
- payload = {
117
+ payload : Dict [ str , Any ] = {
115
118
URL_KEY : self .url ,
116
119
TYPE_KEY : self .type ,
117
- REFERENCE_ID_KEY : self .reference_id ,
118
- METADATA_KEY : self .metadata ,
119
120
}
121
+ if self .reference_id :
122
+ payload [REFERENCE_ID_KEY ] = self .reference_id
123
+ if self .metadata :
124
+ payload [METADATA_KEY ] = self .metadata
120
125
if self .camera_params :
121
126
payload [CAMERA_PARAMS_KEY ] = self .camera_params .to_payload ()
122
127
return payload
@@ -213,11 +218,13 @@ def to_payload(self) -> dict:
213
218
)
214
219
]
215
220
frames_payload = [frame .to_payload () for frame in ordered_frames ]
216
- return {
221
+ payload : Dict [ str , Any ] = {
217
222
REFERENCE_ID_KEY : self .reference_id ,
218
223
FRAMES_KEY : frames_payload ,
219
- METADATA_KEY : self .metadata ,
220
224
}
225
+ if self .metadata :
226
+ payload [METADATA_KEY ] = self .metadata
227
+ return payload
221
228
222
229
223
230
@dataclass
@@ -243,8 +250,8 @@ def validate(self):
243
250
for frame in self .frames_dict .values ():
244
251
num_pointclouds = sum (
245
252
[
246
- int (item .type == DatasetItemType .POINTCLOUD )
247
- for item in frame .values ()
253
+ int (item .type == DatasetItemType .POINTCLOUD . value )
254
+ for item in frame .items . values ()
248
255
]
249
256
)
250
257
assert (
0 commit comments