in a2d2/src/rosbag_producer.py [0:0]
def __record_pcl_from_fs(self, manifest=None, ros_topic=None, sensor=None, frame_id=None):
pcl_reader = dict()
pcl_ts = dict()
npz = dict()
lidar_view = self.request.get("lidar_view", "camera")
vehicle_transform_matrix = self.__sensor_to_vehicle_matrix(sensor=sensor) if lidar_view == "vehicle" else None
while True:
files = None
while not files and manifest.is_open():
files = manifest.fetch()
if not files:
break
count = read_pcl_from_fs(data_store=self.data_store, files=files,
pcl_reader=pcl_reader, pcl_ts=pcl_ts, npz=npz)
for i in range(0, count):
pcl_reader[i].join()
points, reflectance = RosUtil.parse_pcl_npz(npz=npz[i], lidar_view=lidar_view,
vehicle_transform_matrix=vehicle_transform_matrix)
if not np.isnan(points).any():
self.__record_pcl_msg(ros_topic=ros_topic, points=points, reflectance=reflectance,
pcl_ts=pcl_ts[i], frame_id=frame_id)
if self.request['preview']:
break
self.topic_active[ros_topic] = False