alexnasa commited on
Commit
aeb7259
·
verified ·
1 Parent(s): 34b941d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -5
app.py CHANGED
@@ -94,10 +94,18 @@ def step2_preprocess(state):
94
  base_dir = state["base_dir"]
95
  trimmed = state["trimmed_path"]
96
 
97
- subprocess.run([
 
 
 
 
98
  "python", "scripts/run_preprocessing.py",
99
  "--video_or_images_path", trimmed
100
  ], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 
 
 
 
101
 
102
  crop_dir = os.path.join(base_dir, "cropped")
103
  out = os.path.join(os.path.dirname(trimmed), f"crop_{session_id}.mp4")
@@ -110,11 +118,17 @@ def step3_normals(state):
110
  session_id = state["session_id"]
111
  base_dir = state["base_dir"]
112
 
113
- subprocess.run([
 
 
114
  "python", "scripts/network_inference.py",
115
  "model.prediction_type=normals", f"video_name={session_id}"
116
  ], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
117
-
 
 
 
 
118
  normals_dir = os.path.join(base_dir, "p3dmm", "normals")
119
  out = os.path.join(os.path.dirname(state["trimmed_path"]), f"normals_{session_id}.mp4")
120
  video = make_video_from_frames(normals_dir, out)
@@ -126,10 +140,16 @@ def step4_uv_map(state):
126
  session_id = state["session_id"]
127
  base_dir = state["base_dir"]
128
 
129
- subprocess.run([
 
 
130
  "python", "scripts/network_inference.py",
131
  "model.prediction_type=uv_map", f"video_name={session_id}"
132
  ], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 
 
 
 
133
 
134
  uv_dir = os.path.join(base_dir, "p3dmm", "uv_map")
135
  out = os.path.join(os.path.dirname(state["trimmed_path"]), f"uv_map_{session_id}.mp4")
@@ -151,7 +171,7 @@ def step5_track(state):
151
  except subprocess.CalledProcessError as e:
152
  # e.stdout contains everything
153
  err = f"❌ Tracking failed (exit {e.returncode}).\n\n{e.stdout}"
154
- return err, None, state
155
 
156
  # if we get here, it succeeded:
157
  tracking_dir = os.path.join(os.environ["PIXEL3DMM_TRACKING_OUTPUT"], session_id, "frames")
 
94
  base_dir = state["base_dir"]
95
  trimmed = state["trimmed_path"]
96
 
97
+
98
+
99
+ try:
100
+ # capture both stdout & stderr
101
+ p = subprocess.run([
102
  "python", "scripts/run_preprocessing.py",
103
  "--video_or_images_path", trimmed
104
  ], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
105
+ except subprocess.CalledProcessError as e:
106
+ # e.stdout contains everything
107
+ err = f"❌ Preprocess failed (exit {e.returncode}).\n\n{e.stdout}"
108
+ raise RuntimeError(err)
109
 
110
  crop_dir = os.path.join(base_dir, "cropped")
111
  out = os.path.join(os.path.dirname(trimmed), f"crop_{session_id}.mp4")
 
118
  session_id = state["session_id"]
119
  base_dir = state["base_dir"]
120
 
121
+ try:
122
+ # capture both stdout & stderr
123
+ p = subprocess.run([
124
  "python", "scripts/network_inference.py",
125
  "model.prediction_type=normals", f"video_name={session_id}"
126
  ], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
127
+ except subprocess.CalledProcessError as e:
128
+ # e.stdout contains everything
129
+ err = f"❌ Normal map failed (exit {e.returncode}).\n\n{e.stdout}"
130
+ raise RuntimeError(err)
131
+
132
  normals_dir = os.path.join(base_dir, "p3dmm", "normals")
133
  out = os.path.join(os.path.dirname(state["trimmed_path"]), f"normals_{session_id}.mp4")
134
  video = make_video_from_frames(normals_dir, out)
 
140
  session_id = state["session_id"]
141
  base_dir = state["base_dir"]
142
 
143
+ try:
144
+ # capture both stdout & stderr
145
+ p = subprocess.run([
146
  "python", "scripts/network_inference.py",
147
  "model.prediction_type=uv_map", f"video_name={session_id}"
148
  ], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
149
+ except subprocess.CalledProcessError as e:
150
+ # e.stdout contains everything
151
+ err = f"❌ UV map failed (exit {e.returncode}).\n\n{e.stdout}"
152
+ raise RuntimeError(err)
153
 
154
  uv_dir = os.path.join(base_dir, "p3dmm", "uv_map")
155
  out = os.path.join(os.path.dirname(state["trimmed_path"]), f"uv_map_{session_id}.mp4")
 
171
  except subprocess.CalledProcessError as e:
172
  # e.stdout contains everything
173
  err = f"❌ Tracking failed (exit {e.returncode}).\n\n{e.stdout}"
174
+ raise RuntimeError(err)
175
 
176
  # if we get here, it succeeded:
177
  tracking_dir = os.path.join(os.environ["PIXEL3DMM_TRACKING_OUTPUT"], session_id, "frames")