yyfz233 commited on
Commit
bddfc93
·
1 Parent(s): f74a9a4

Update code for .ply file downloading

Browse files
Files changed (1) hide show
  1. app.py +8 -5
app.py CHANGED
@@ -116,11 +116,13 @@ def predictions_to_glb(
116
 
117
  # Initialize a 3D scene
118
  scene_3d = trimesh.Scene()
 
119
 
120
  # Add point cloud data to the scene
121
  point_cloud_data = trimesh.PointCloud(vertices=vertices_3d, colors=colors_rgb)
122
 
123
  scene_3d.add_geometry(point_cloud_data)
 
124
 
125
  # Prepare 4x4 matrices for camera extrinsics
126
  num_cameras = len(camera_poses)
@@ -140,9 +142,10 @@ def predictions_to_glb(
140
  align_rotation[:3, :3] = Rotation.from_euler("y", 100, degrees=True).as_matrix() # plane rotate
141
  align_rotation[:3, :3] = align_rotation[:3, :3] @ Rotation.from_euler("x", 155, degrees=True).as_matrix() # roll
142
  scene_3d.apply_transform(align_rotation)
 
143
 
144
  print("GLB Scene built")
145
- return scene_3d
146
 
147
  def integrate_camera_into_scene(scene: trimesh.Scene, transform: np.ndarray, face_colors: tuple, scene_scale: float):
148
  """
@@ -454,7 +457,7 @@ def gradio_demo(
454
  )
455
 
456
  # Convert predictions to GLB
457
- glbscene = predictions_to_glb(
458
  predictions,
459
  conf_thres=conf_thres,
460
  filter_by_frames=frame_filter,
@@ -464,7 +467,7 @@ def gradio_demo(
464
 
465
  # we save a .ply file too
466
  plyfile = glbfile.replace('.glb', '.ply')
467
- glbscene.export(file_obj=plyfile)
468
 
469
  # Cleanup
470
  del predictions
@@ -530,7 +533,7 @@ def update_visualization(
530
  )
531
 
532
  if not os.path.exists(glbfile):
533
- glbscene = predictions_to_glb(
534
  predictions,
535
  conf_thres=conf_thres,
536
  filter_by_frames=frame_filter,
@@ -538,7 +541,7 @@ def update_visualization(
538
  )
539
  glbscene.export(file_obj=glbfile)
540
 
541
- glbscene.export(file_obj=glbfile.replace('.glb', '.ply'))
542
 
543
  return glbfile, "Updating Visualization"
544
 
 
116
 
117
  # Initialize a 3D scene
118
  scene_3d = trimesh.Scene()
119
+ scene_3d_no_cam = trimesh.Scene()
120
 
121
  # Add point cloud data to the scene
122
  point_cloud_data = trimesh.PointCloud(vertices=vertices_3d, colors=colors_rgb)
123
 
124
  scene_3d.add_geometry(point_cloud_data)
125
+ scene_3d_no_cam.add_geometry(point_cloud_data)
126
 
127
  # Prepare 4x4 matrices for camera extrinsics
128
  num_cameras = len(camera_poses)
 
142
  align_rotation[:3, :3] = Rotation.from_euler("y", 100, degrees=True).as_matrix() # plane rotate
143
  align_rotation[:3, :3] = align_rotation[:3, :3] @ Rotation.from_euler("x", 155, degrees=True).as_matrix() # roll
144
  scene_3d.apply_transform(align_rotation)
145
+ scene_3d_no_cam.apply_transform(align_rotation)
146
 
147
  print("GLB Scene built")
148
+ return scene_3d, scene_3d_no_cam
149
 
150
  def integrate_camera_into_scene(scene: trimesh.Scene, transform: np.ndarray, face_colors: tuple, scene_scale: float):
151
  """
 
457
  )
458
 
459
  # Convert predictions to GLB
460
+ glbscene, glbscene_no_cam = predictions_to_glb(
461
  predictions,
462
  conf_thres=conf_thres,
463
  filter_by_frames=frame_filter,
 
467
 
468
  # we save a .ply file too
469
  plyfile = glbfile.replace('.glb', '.ply')
470
+ glbscene_no_cam.export(file_obj=plyfile)
471
 
472
  # Cleanup
473
  del predictions
 
533
  )
534
 
535
  if not os.path.exists(glbfile):
536
+ glbscene, glbscene_no_cam = predictions_to_glb(
537
  predictions,
538
  conf_thres=conf_thres,
539
  filter_by_frames=frame_filter,
 
541
  )
542
  glbscene.export(file_obj=glbfile)
543
 
544
+ glbscene_no_cam.export(file_obj=glbfile.replace('.glb', '.ply'))
545
 
546
  return glbfile, "Updating Visualization"
547