andy-wyx commited on
Commit
1f0c095
1 Parent(s): c071975

update input image to original

Browse files
Files changed (2) hide show
  1. README.md +1 -1
  2. app.py +11 -9
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: 🦀
4
  colorFrom: indigo
5
  colorTo: purple
6
  sdk: gradio
7
- sdk_version: 3.38.0
8
  app_file: app.py
9
  pinned: false
10
  models:
 
4
  colorFrom: indigo
5
  colorTo: purple
6
  sdk: gradio
7
+ sdk_version: 4.36.0
8
  app_file: app.py
9
  pinned: false
10
  models:
app.py CHANGED
@@ -227,6 +227,7 @@ def preprocess_image(image, output_size=(300, 300)):
227
  return image_resized
228
 
229
  def update_display(image):
 
230
  processed_image = preprocess_image(image)
231
  instruction = "Image ready. Please switch to the 'Specimen Workbench' tab to check out further analysis and outputs."
232
  model_name = "Fossils new"
@@ -249,7 +250,7 @@ def update_display(image):
249
  # interactive=True,
250
  # info="Choose one method to explain the model"
251
  # )
252
- sampling_size = 2000
253
  # gr.Slider(1, 5000, value=2000, label="Sampling Size in Rise",interactive=True,visible=True,
254
  # info="Choose between 1 and 5000")
255
 
@@ -262,7 +263,7 @@ def update_display(image):
262
  # gr.Gallery(label="Closest Images", show_label=False,elem_id="gallery",columns=[5], rows=[1],height='auto', allow_preview=True, preview=None)
263
  diagram= None
264
  # gr.Image(label = 'Bar Chart')
265
- return processed_image,processed_image,instruction,model_name,explain_method,sampling_size,top_k,class_predicted,exp_gallery,closest_gallery,diagram
266
  def update_slider_visibility(explain_method):
267
  bool = explain_method=="Rise"
268
  return {sampling_size: gr.Slider(1, 5000, value=2000, label="Sampling Size in Rise", visible=bool, interactive=True)}
@@ -288,6 +289,7 @@ with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
288
  with gr.Tab("Specimen Workbench"):
289
  with gr.Row():
290
  with gr.Column():
 
291
  workbench_image = gr.Image(label="Workbench Image")
292
  classify_image_button = gr.Button("Classify Image")
293
 
@@ -319,8 +321,8 @@ with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
319
  # value="Rise",
320
  # multiselect=False,
321
  # interactive=True,)
322
- sampling_size = gr.Slider(1, 5000, value=2000, label="Sampling Size in Rise",interactive=True,visible=True,
323
- info="Choose between 1 and 5000")
324
 
325
  top_k = gr.Slider(10,200,value=50,label="Number of Closest Samples for Distribution Chart",interactive=True,info="Choose between 10 and 200")
326
  explain_method.change(
@@ -381,7 +383,7 @@ with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
381
  find_closest_btn = gr.Button("Find Closest Images")
382
 
383
  #segment_button.click(segment_image, inputs=input_image, outputs=segmented_image)
384
- classify_image_button.click(classify_image, inputs=[input_image,model_name], outputs=class_predicted)
385
  # generate_exp.click(exp_image, inputs=[input_image,model_name,explain_method,sampling_size], outputs=[exp1,exp2,exp3,exp4,exp5]) #
386
  with gr.Accordion('Closest Leaves Images'):
387
  gr.Markdown("5 closest leaves")
@@ -414,7 +416,7 @@ with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
414
  image_caption.append((images[i],"Predicted Class "+str(i)+": "+labels[i]))
415
  return image_caption
416
 
417
- generate_explanations.click(fn=update_exp_outputs, inputs=[input_image,model_name,explain_method,sampling_size], outputs=[exp_gallery])
418
 
419
  #find_closest_btn.click(find_closest, inputs=[input_image,model_name], outputs=[label_closest_image_0,label_closest_image_1,label_closest_image_2,label_closest_image_3,label_closest_image_4,closest_image_0,closest_image_1,closest_image_2,closest_image_3,closest_image_4])
420
  def update_closest_outputs(input_image,model_name):
@@ -426,15 +428,15 @@ with gr.Blocks(theme='sudeepshouche/minimalist') as demo:
426
  image_caption.append((images[i],labels[i]))
427
  return image_caption
428
 
429
- find_closest_btn.click(fn=update_closest_outputs, inputs=[input_image,model_name], outputs=[closest_gallery])
430
  #classify_segmented_button.click(classify_image, inputs=[segmented_image,model_name], outputs=class_predicted)
431
 
432
- generate_diagram.click(generate_diagram_closest, inputs=[input_image,model_name,top_k], outputs=diagram)
433
 
434
  process_button.click(
435
  fn=update_display,
436
  inputs=input_image,
437
- outputs=[input_image,workbench_image,instruction_text,model_name,explain_method,sampling_size,top_k,class_predicted,exp_gallery,closest_gallery,diagram]
438
  )
439
 
440
 
 
227
  return image_resized
228
 
229
  def update_display(image):
230
+ original_image = image
231
  processed_image = preprocess_image(image)
232
  instruction = "Image ready. Please switch to the 'Specimen Workbench' tab to check out further analysis and outputs."
233
  model_name = "Fossils new"
 
250
  # interactive=True,
251
  # info="Choose one method to explain the model"
252
  # )
253
+ sampling_size = 5
254
  # gr.Slider(1, 5000, value=2000, label="Sampling Size in Rise",interactive=True,visible=True,
255
  # info="Choose between 1 and 5000")
256
 
 
263
  # gr.Gallery(label="Closest Images", show_label=False,elem_id="gallery",columns=[5], rows=[1],height='auto', allow_preview=True, preview=None)
264
  diagram= None
265
  # gr.Image(label = 'Bar Chart')
266
+ return original_image,processed_image,processed_image,instruction,model_name,explain_method,sampling_size,top_k,class_predicted,exp_gallery,closest_gallery,diagram
267
  def update_slider_visibility(explain_method):
268
  bool = explain_method=="Rise"
269
  return {sampling_size: gr.Slider(1, 5000, value=2000, label="Sampling Size in Rise", visible=bool, interactive=True)}
 
289
  with gr.Tab("Specimen Workbench"):
290
  with gr.Row():
291
  with gr.Column():
292
+ original_image = gr.Image(visible = True)
293
  workbench_image = gr.Image(label="Workbench Image")
294
  classify_image_button = gr.Button("Classify Image")
295
 
 
321
  # value="Rise",
322
  # multiselect=False,
323
  # interactive=True,)
324
+ sampling_size = gr.Slider(1, 30, value=5, label="Sampling Size in Rise",interactive=True,visible=True,
325
+ info="Choose between 1 and 30")
326
 
327
  top_k = gr.Slider(10,200,value=50,label="Number of Closest Samples for Distribution Chart",interactive=True,info="Choose between 10 and 200")
328
  explain_method.change(
 
383
  find_closest_btn = gr.Button("Find Closest Images")
384
 
385
  #segment_button.click(segment_image, inputs=input_image, outputs=segmented_image)
386
+ classify_image_button.click(classify_image, inputs=[original_image,model_name], outputs=class_predicted)
387
  # generate_exp.click(exp_image, inputs=[input_image,model_name,explain_method,sampling_size], outputs=[exp1,exp2,exp3,exp4,exp5]) #
388
  with gr.Accordion('Closest Leaves Images'):
389
  gr.Markdown("5 closest leaves")
 
416
  image_caption.append((images[i],"Predicted Class "+str(i)+": "+labels[i]))
417
  return image_caption
418
 
419
+ generate_explanations.click(fn=update_exp_outputs, inputs=[original_image,model_name,explain_method,sampling_size], outputs=[exp_gallery])
420
 
421
  #find_closest_btn.click(find_closest, inputs=[input_image,model_name], outputs=[label_closest_image_0,label_closest_image_1,label_closest_image_2,label_closest_image_3,label_closest_image_4,closest_image_0,closest_image_1,closest_image_2,closest_image_3,closest_image_4])
422
  def update_closest_outputs(input_image,model_name):
 
428
  image_caption.append((images[i],labels[i]))
429
  return image_caption
430
 
431
+ find_closest_btn.click(fn=update_closest_outputs, inputs=[original_image,model_name], outputs=[closest_gallery])
432
  #classify_segmented_button.click(classify_image, inputs=[segmented_image,model_name], outputs=class_predicted)
433
 
434
+ generate_diagram.click(generate_diagram_closest, inputs=[original_image,model_name,top_k], outputs=diagram)
435
 
436
  process_button.click(
437
  fn=update_display,
438
  inputs=input_image,
439
+ outputs=[original_image,input_image,workbench_image,instruction_text,model_name,explain_method,sampling_size,top_k,class_predicted,exp_gallery,closest_gallery,diagram]
440
  )
441
 
442