3
3
ANNOTATIONS_KEY ,
4
4
FRAMES_KEY ,
5
5
IMAGE_KEY ,
6
+ IMAGE_URL_KEY ,
6
7
LENGTH_KEY ,
7
8
METADATA_KEY ,
8
9
NUM_SENSORS_KEY ,
9
10
POINTCLOUD_KEY ,
11
+ POINTCLOUD_URL_KEY ,
10
12
REFERENCE_ID_KEY ,
11
13
SCENES_KEY ,
12
14
TYPE_KEY ,
18
20
CuboidAnnotation ,
19
21
LidarScene ,
20
22
Frame ,
23
+ DatasetItem ,
21
24
)
22
25
23
26
from nucleus .scene import (
@@ -43,7 +46,7 @@ def dataset(CLIENT):
43
46
assert response == {"message" : "Beginning dataset deletion..." }
44
47
45
48
46
- def test_frame_add_item (dataset ):
49
+ def test_frame_add_item ():
47
50
frame = Frame (index = 0 )
48
51
frame .add_item (TEST_DATASET_ITEMS [0 ], "camera" )
49
52
frame .add_item (TEST_LIDAR_ITEMS [0 ], "lidar" )
@@ -69,7 +72,51 @@ def test_frame_add_item(dataset):
69
72
}
70
73
71
74
72
- def test_scene_property_methods (dataset ):
75
+ def test_scene_from_json ():
76
+ payload = TEST_LIDAR_SCENES
77
+ scene_json = payload [SCENES_KEY ][0 ]
78
+ scene = LidarScene .from_json (scene_json )
79
+
80
+ frames = scene_json [FRAMES_KEY ]
81
+ camera_item_1 = frames [0 ]["camera" ]
82
+ camera_item = DatasetItem (
83
+ camera_item_1 [IMAGE_URL_KEY ],
84
+ camera_item_1 [REFERENCE_ID_KEY ],
85
+ metadata = camera_item_1 [METADATA_KEY ],
86
+ )
87
+ lidar_item_1 = frames [0 ]["lidar" ]
88
+ lidar_item_f1 = DatasetItem (
89
+ pointcloud_location = lidar_item_1 [POINTCLOUD_URL_KEY ],
90
+ reference_id = lidar_item_1 [REFERENCE_ID_KEY ],
91
+ metadata = lidar_item_1 [METADATA_KEY ],
92
+ )
93
+ expected_items_1 = {
94
+ "camera" : camera_item ,
95
+ "lidar" : lidar_item_f1 ,
96
+ }
97
+ lidar_item_2 = frames [1 ]["lidar" ]
98
+ lidar_item_f2 = DatasetItem (
99
+ pointcloud_location = lidar_item_2 [POINTCLOUD_URL_KEY ],
100
+ reference_id = lidar_item_2 [REFERENCE_ID_KEY ],
101
+ metadata = lidar_item_2 [METADATA_KEY ],
102
+ )
103
+ expected_items_2 = {
104
+ "lidar" : lidar_item_f2 ,
105
+ }
106
+
107
+ expected_frames = [Frame (expected_items_1 ), Frame (expected_items_2 )]
108
+ expected_scene = LidarScene (
109
+ scene_json [REFERENCE_ID_KEY ], expected_frames , metadata = {}
110
+ )
111
+ assert sorted (
112
+ scene .get_items (), key = lambda item : item .reference_id
113
+ ) == sorted (expected_scene .get_items (), key = lambda item : item .reference_id )
114
+ assert scene .get_frames () == expected_scene .get_frames ()
115
+ assert set (scene .get_sensors ()) == set (expected_scene .get_sensors ())
116
+ assert scene .to_payload () == expected_scene .to_payload ()
117
+
118
+
119
+ def test_scene_property_methods ():
73
120
payload = TEST_LIDAR_SCENES
74
121
scene_json = payload [SCENES_KEY ][0 ]
75
122
scene = LidarScene .from_json (scene_json )
@@ -86,7 +133,7 @@ def test_scene_property_methods(dataset):
86
133
}
87
134
88
135
89
- def test_scene_add_item (dataset ):
136
+ def test_scene_add_item ():
90
137
scene_ref_id = "scene_1"
91
138
scene = LidarScene (scene_ref_id )
92
139
scene .add_item (0 , "camera" , TEST_DATASET_ITEMS [0 ])
@@ -139,7 +186,7 @@ def test_scene_add_item(dataset):
139
186
}
140
187
141
188
142
- def test_scene_add_frame (dataset ):
189
+ def test_scene_add_frame ():
143
190
frame_1 = Frame ()
144
191
frame_1 .add_item (TEST_DATASET_ITEMS [0 ], "camera" )
145
192
frame_1 .add_item (TEST_LIDAR_ITEMS [0 ], "lidar" )
0 commit comments