@@ -343,53 +343,6 @@ def render_pointcloud(
343343 ),
344344 )
345345
346- def render_lidarseg (
347- self ,
348- * ,
349- max_time_seconds : float = np .inf ,
350- ignore_distortion : bool = True ,
351- save_dir : str | None = None ,
352- ) -> None :
353- """Render lidar segmentation.
354-
355- Args:
356- max_time_seconds (float, optional): Max time length to be rendered [s].
357- ignore_distortion (bool, optional): Whether to ignore distortion parameters.
358- save_dir (str | None, optional): Directory path to save the recording.
359- Viewer will be spawned if it is None, otherwise not.
360- """
361- if self ._sample_data_to_lidarseg_filename is None :
362- return
363-
364- app_id = f"lidarseg@{ self ._t4 .dataset_id } "
365- viewer = self ._init_viewer (app_id , render_ann = True , save_dir = save_dir )
366-
367- self ._try_render_map (viewer )
368-
369- # search first lidar sample data token
370- first_lidar_token : str | None = None
371- for sensor in self ._t4 .sensor :
372- if sensor .modality != SensorModality .LIDAR :
373- continue
374- first_lidar_token = sensor .first_sd_token
375-
376- if first_lidar_token is None :
377- raise ValueError ("There is no 3D pointcloud data." )
378-
379- first_lidar_sample_data : Sample = self ._t4 .get ("sample_data" , first_lidar_token )
380- max_timestamp_us = first_lidar_sample_data .timestamp + seconds2microseconds (
381- max_time_seconds
382- )
383-
384- concurrent .futures .wait (
385- self ._render_lidar_and_ego (
386- viewer = viewer ,
387- first_lidar_tokens = [first_lidar_token ],
388- max_timestamp_us = max_timestamp_us ,
389- color_mode = PointCloudColorMode .SEGMENTATION ,
390- )
391- )
392-
393346 def _try_render_map (self , viewer : RerunViewer ) -> None :
394347 lanelet_path = osp .join (self ._t4 .map_dir , "lanelet2_map.osm" )
395348 if not osp .exists (lanelet_path ):
0 commit comments