def main(): color_files, depth_files, traj, intrinsics = get_realsense_data() axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2) axis_frame.translate([0, 0.8, -0.7]) grid_ls = construct_grid(size=2, n=20, plane_offset=-0.8, translate=[0, 1.0, 0.0]) for idx in range(len(color_files)): if idx < 2: continue pcd, rgbd, extrinsics = get_frame_data(idx, color_files, depth_files, traj, intrinsics, stride=2) center = pcd.get_center() if o3d_major_version > 9 else True pcd = pcd.rotate(R_Standard_d400[:3, :3], center=center) logging.info("File %r - Point Cloud; Size: %r", idx, np.asarray(pcd.points).shape[0]) o3d.visualization.draw_geometries([pcd, grid_ls, axis_frame]) results = run_test(pcd, rgbd, intrinsics, extrinsics, callback=callback, stride=2)
def callback(alg_name, execution_time, mesh=None): axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2) axis_frame.translate([0, 0.8, -0.7]) grid_ls = construct_grid(size=2, n=20, plane_offset=-0.8, translate=[0, 1.0, 0.0]) logging.info("%s took (ms): %.2f", alg_name, execution_time) if mesh: if isinstance(mesh, list): o3d.visualization.draw_geometries( [*mesh], width=800, height=500) else: o3d.visualization.draw_geometries([mesh], width=800, height=500)
def main(): axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2) axis_frame.translate([0, 0.8, -1.0]) grid_ls = construct_grid(size=2, n=20, plane_offset=-1.0, translate=[0, 0.0, 0.0]) mesh = o3d.io.read_triangle_mesh('fixtures/meshes/Table_edit.ply') mesh.compute_vertex_normals() run_test(mesh, callback=callback, stride=2)
def main(): axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2) axis_frame.translate([0, 0.8, -1.0]) grid_ls = construct_grid(size=2, n=20, plane_offset=-1.0, translate=[0, 0.0, 0.0]) for i, mesh in enumerate(get_mesh_data_iterator()): if i < 2: continue # o3d.io.write_triangle_mesh('test.ply', mesh) run_test(mesh, callback=callback, stride=2)
def main(): axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2) axis_frame.translate([0, 0.8, -1.0]) grid_ls = construct_grid(size=2, n=20, plane_offset=-1.0, translate=[0, 0.0, 0.0]) polylidar_kwargs_basement = dict(alpha=0.0, lmax=0.10, min_triangles=80, z_thresh=0.08, norm_thresh=0.95, norm_thresh_min=0.95, min_hole_vertices=6) config_pp_basement = dict(filter=dict(hole_area=dict(min=0.05, max=100.0), hole_vertices=dict(min=6), plane_area=dict(min=0.25)), positive_buffer=0.0, negative_buffer=0.025, simplify=0.01) polylidar_kwargs_mainfloor = dict(alpha=0.0, lmax=0.10, min_triangles=1000, z_thresh=0.08, norm_thresh=0.95, norm_thresh_min=0.95, min_hole_vertices=6) config_pp_main_floor = dict(filter=dict(hole_area=dict(min=0.1, max=100.0), hole_vertices=dict(min=6), plane_area=dict(min=0.25)), positive_buffer=0.02, negative_buffer=0.05, simplify=0.02) polylidar_kwargs = [ polylidar_kwargs_mainfloor, None, polylidar_kwargs_basement ] config_pp = [config_pp_main_floor, None, config_pp_basement] for i, mesh in enumerate(get_mesh_data_iterator()): if i == 1: continue run_test(mesh, callback=callback, polylidar_kwargs=polylidar_kwargs[i], config_pp=config_pp[i])