File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change
1
+ from dataclasses import dataclass
2
+ from typing import Optional , Dict , List
3
+ from enum import Enum
4
+
5
+
6
+ class DatasetItemType (Enum ):
7
+ IMAGE = "image"
8
+ POINTCLOUD = "pointcloud"
9
+ VIDEO = "video"
10
+
11
+
12
+ @dataclass
13
+ class SceneDatasetItem :
14
+ url : str
15
+ type : DatasetItemType
16
+ reference_id : Optional [str ] = None
17
+ metadata : Optional [dict ] = None
18
+
19
+
20
+ @dataclass
21
+ class Frame :
22
+ items : Dict [str , SceneDatasetItem ]
23
+
24
+ def __post_init__ (self ):
25
+ for key , value in self .items .items ():
26
+ assert isinstance (key , str ), "All keys must be names of sensors"
27
+ assert isinstance (
28
+ value , SceneDatasetItem
29
+ ), "All values must be SceneDatasetItems"
30
+
31
+
32
+ @dataclass
33
+ class Scene :
34
+ frames : List [Frame ]
35
+ reference_id : str
36
+ metadata : Optional [dict ] = None
37
+
38
+
39
+ @dataclass
40
+ class LidarScene (Scene ):
41
+ def __post_init__ (self ):
42
+ # do validation here for lidar scene
43
+ pass
You can’t perform that action at this time.
0 commit comments