vivekchakraverty commited on
Commit
0f99554
·
1 Parent(s): 3ab843d

Make pyrender optional for headless skeleton inference

Browse files
Files changed (1) hide show
  1. skeleton/utils/save_utils.py +14 -2
skeleton/utils/save_utils.py CHANGED
@@ -21,9 +21,15 @@ from collections import deque, defaultdict
21
  from scipy.cluster.hierarchy import linkage, fcluster
22
  from scipy.spatial.distance import cdist
23
 
24
- from data_utils.pyrender_wrapper import PyRenderWrapper
25
  from data_utils.data_loader import DataLoader
26
 
 
 
 
 
 
 
 
27
  def save_mesh(vertices, faces, filename):
28
 
29
  mesh = trimesh.Trimesh(vertices=vertices, faces=faces)
@@ -597,6 +603,12 @@ def render_mesh_with_skeleton(joints, bones, vertices, faces, output_dir, filena
597
  """
598
  Render the mesh with skeleton using PyRender.
599
  """
 
 
 
 
 
 
600
  loader = DataLoader()
601
 
602
  raw_size = (960, 960)
@@ -645,4 +657,4 @@ def save_args(args, output_dir, filename="config.json"):
645
  os.makedirs(output_dir, exist_ok=True)
646
  config_path = os.path.join(output_dir, filename)
647
  with open(config_path, 'w') as f:
648
- json.dump(args_dict, f, indent=4)
 
21
  from scipy.cluster.hierarchy import linkage, fcluster
22
  from scipy.spatial.distance import cdist
23
 
 
24
  from data_utils.data_loader import DataLoader
25
 
26
+ _PYRENDER_IMPORT_ERROR = None
27
+ try:
28
+ from data_utils.pyrender_wrapper import PyRenderWrapper
29
+ except Exception as exc:
30
+ PyRenderWrapper = None
31
+ _PYRENDER_IMPORT_ERROR = exc
32
+
33
  def save_mesh(vertices, faces, filename):
34
 
35
  mesh = trimesh.Trimesh(vertices=vertices, faces=faces)
 
603
  """
604
  Render the mesh with skeleton using PyRender.
605
  """
606
+ if PyRenderWrapper is None:
607
+ raise RuntimeError(
608
+ "PyRender is unavailable in this runtime. "
609
+ f"Original import error: {_PYRENDER_IMPORT_ERROR}"
610
+ )
611
+
612
  loader = DataLoader()
613
 
614
  raw_size = (960, 960)
 
657
  os.makedirs(output_dir, exist_ok=True)
658
  config_path = os.path.join(output_dir, filename)
659
  with open(config_path, 'w') as f:
660
+ json.dump(args_dict, f, indent=4)