alexnasa commited on
Commit
ffb4d06
Β·
verified Β·
1 Parent(s): d568786

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -8
app.py CHANGED
@@ -73,7 +73,7 @@ def reset_all():
73
  @spaces.GPU()
74
  def preprocess_image(image_array, state):
75
  if image_array is None:
76
- return "❌ Please upload an image first.", None, state, gr.update(interactive=True), gr.update(interactive=False)
77
 
78
  session_id = str(uuid.uuid4())
79
  base_dir = os.path.join(os.environ["PIXEL3DMM_PREPROCESSED_DATA"], session_id)
@@ -96,14 +96,14 @@ def preprocess_image(image_array, state):
96
 
97
  crop_dir = os.path.join(base_dir, "cropped")
98
  image = first_image_from_dir(crop_dir)
99
- return "βœ… Step 1 complete. Ready for Normals.", image, state, gr.update(interactive=False), gr.update(interactive=True)
100
 
101
  # Step 2: Normals inference β†’ normals image
102
  @spaces.GPU()
103
  def step2_normals(state):
104
  session_id = state.get("session_id")
105
  if not session_id:
106
- return "❌ State lost. Please start from Step 1.", None, state, gr.update(interactive=False), gr.update(interactive=False)
107
 
108
  try:
109
  p = subprocess.run([
@@ -115,14 +115,14 @@ def step2_normals(state):
115
 
116
  normals_dir = os.path.join(state["base_dir"], "p3dmm", "normals")
117
  image = first_image_from_dir(normals_dir)
118
- return "βœ… Step 2 complete. Ready for UV Map.", image, state, gr.update(interactive=False), gr.update(interactive=True)
119
 
120
  # Step 3: UV map inference β†’ uv map image
121
  @spaces.GPU()
122
  def step3_uv_map(state):
123
  session_id = state.get("session_id")
124
  if not session_id:
125
- return "❌ State lost. Please start from Step 1.", None, state, gr.update(interactive=False), gr.update(interactive=False)
126
 
127
  try:
128
  p = subprocess.run([
@@ -134,14 +134,14 @@ def step3_uv_map(state):
134
 
135
  uv_dir = os.path.join(state["base_dir"], "p3dmm", "uv_map")
136
  image = first_image_from_dir(uv_dir)
137
- return "βœ… Step 3 complete. Ready for Tracking.", image, state, gr.update(interactive=False), gr.update(interactive=True)
138
 
139
  # Step 4: Tracking β†’ final tracking image
140
  @spaces.GPU()
141
  def step4_track(state):
142
  session_id = state.get("session_id")
143
  if not session_id:
144
- return "❌ State lost. Please start from Step 1.", None, state, gr.update(interactive=False)
145
 
146
  script = os.path.join(os.environ["PIXEL3DMM_CODE_BASE"], "scripts", "track.py")
147
  try:
@@ -154,7 +154,7 @@ def step4_track(state):
154
 
155
  tracking_dir = os.path.join(os.environ["PIXEL3DMM_TRACKING_OUTPUT"], session_id, "frames")
156
  image = first_image_from_dir(tracking_dir)
157
- return "βœ… Pipeline complete!", image, state, gr.update(interactive=False)
158
 
159
  # Build Gradio UI
160
  demo = gr.Blocks()
 
73
  @spaces.GPU()
74
  def preprocess_image(image_array, state):
75
  if image_array is None:
76
+ return "❌ Please upload an image first.", None, state, gr.update(interactive=True), gr.update(interactive=True)
77
 
78
  session_id = str(uuid.uuid4())
79
  base_dir = os.path.join(os.environ["PIXEL3DMM_PREPROCESSED_DATA"], session_id)
 
96
 
97
  crop_dir = os.path.join(base_dir, "cropped")
98
  image = first_image_from_dir(crop_dir)
99
+ return "βœ… Step 1 complete. Ready for Normals.", image, state, gr.update(interactive=True), gr.update(interactive=True)
100
 
101
  # Step 2: Normals inference β†’ normals image
102
  @spaces.GPU()
103
  def step2_normals(state):
104
  session_id = state.get("session_id")
105
  if not session_id:
106
+ return "❌ State lost. Please start from Step 1.", None, state, gr.update(interactive=True), gr.update(interactive=False)
107
 
108
  try:
109
  p = subprocess.run([
 
115
 
116
  normals_dir = os.path.join(state["base_dir"], "p3dmm", "normals")
117
  image = first_image_from_dir(normals_dir)
118
+ return "βœ… Step 2 complete. Ready for UV Map.", image, state, gr.update(interactive=True), gr.update(interactive=True)
119
 
120
  # Step 3: UV map inference β†’ uv map image
121
  @spaces.GPU()
122
  def step3_uv_map(state):
123
  session_id = state.get("session_id")
124
  if not session_id:
125
+ return "❌ State lost. Please start from Step 1.", None, state, gr.update(interactive=True), gr.update(interactive=True)
126
 
127
  try:
128
  p = subprocess.run([
 
134
 
135
  uv_dir = os.path.join(state["base_dir"], "p3dmm", "uv_map")
136
  image = first_image_from_dir(uv_dir)
137
+ return "βœ… Step 3 complete. Ready for Tracking.", image, state, gr.update(interactive=True), gr.update(interactive=True)
138
 
139
  # Step 4: Tracking β†’ final tracking image
140
  @spaces.GPU()
141
  def step4_track(state):
142
  session_id = state.get("session_id")
143
  if not session_id:
144
+ return "❌ State lost. Please start from Step 1.", None, state, gr.update(interactive=True)
145
 
146
  script = os.path.join(os.environ["PIXEL3DMM_CODE_BASE"], "scripts", "track.py")
147
  try:
 
154
 
155
  tracking_dir = os.path.join(os.environ["PIXEL3DMM_TRACKING_OUTPUT"], session_id, "frames")
156
  image = first_image_from_dir(tracking_dir)
157
+ return "βœ… Pipeline complete!", image, state, gr.update(interactive=True)
158
 
159
  # Build Gradio UI
160
  demo = gr.Blocks()