cgeorgiaw HF Staff commited on
Commit
72b85f1
·
1 Parent(s): a1912fe

making more options

Browse files
Files changed (1) hide show
  1. app.py +35 -7
app.py CHANGED
@@ -41,18 +41,38 @@ def gradio_interface() -> gr.Blocks:
41
  ds = load_dataset(results_repo, split='train')
42
  full_df = pd.DataFrame(ds)
43
  filenames = full_df['result_filename'].to_list()
 
 
 
 
 
 
44
  with gr.Row():
45
- with gr.Column():
46
  dropdown = gr.Dropdown(choices=filenames, label="Choose a leaderboard entry", value=filenames[0])
47
  rld_btn = gr.Button(value="Reload")
 
 
 
 
 
 
 
48
 
49
- with gr.Column():
50
- plot = gr.Plot()
51
 
52
- def get_boundary_vis(selected_file):
 
 
 
 
 
53
 
54
- row = full_df[full_df['result_filename'] == selected_file].iloc[0]
55
 
 
 
56
  if row['problem_type'] == 'mhd_stable':
57
  raise gr.Error("Sorry this isn't implemented for mhd_stable submissions yet!")
58
  else:
@@ -61,9 +81,17 @@ def gradio_interface() -> gr.Blocks:
61
  vis = make_visual(boundary)
62
  return vis
63
 
64
- demo.load(get_boundary_vis, dropdown, plot)
65
- rld_btn.click(get_boundary_vis, dropdown, plot)
 
 
 
 
 
 
 
66
 
 
67
 
68
  return demo
69
 
 
41
  ds = load_dataset(results_repo, split='train')
42
  full_df = pd.DataFrame(ds)
43
  filenames = full_df['result_filename'].to_list()
44
+
45
+ mode_selector = gr.Radio(choices=["Leaderboard", "Upload", "Generate"],
46
+ label="Select input method:",
47
+ value="Leaderboard")
48
+
49
+
50
  with gr.Row():
51
+ with gr.Column(visible=True) as leaderboard_ui:
52
  dropdown = gr.Dropdown(choices=filenames, label="Choose a leaderboard entry", value=filenames[0])
53
  rld_btn = gr.Button(value="Reload")
54
+
55
+ with gr.Column(visible=False) as generate_ui:
56
+ aspect_ratio = gr.Number(label="Aspect Ratio", value=3)
57
+ elongation = gr.Number(label="Elongation", value=0.5)
58
+ rotational_transform = gr.Number(label="Rotational Transform", value=0.4)
59
+ n_field_periods = gr.Number(label="Number of Period Fields", value=3)
60
+ generate_btn = gr.Button(value="Generate")
61
 
62
+
63
+ plot = gr.Plot()
64
 
65
+ def update_ui(mode):
66
+ return (
67
+ gr.update(visible=(mode == "Leaderboard")),
68
+ gr.update(visible=(mode == "Upload")),
69
+ gr.update(visible=(mode == "Generate")),
70
+ )
71
 
72
+ mode_selector.change(update_ui, inputs=[mode_selector], outputs=[leaderboard_ui, generate_ui])
73
 
74
+ def get_boundary_from_leaderboard(selected_file):
75
+ row = full_df[full_df['result_filename'] == selected_file].iloc[0]
76
  if row['problem_type'] == 'mhd_stable':
77
  raise gr.Error("Sorry this isn't implemented for mhd_stable submissions yet!")
78
  else:
 
81
  vis = make_visual(boundary)
82
  return vis
83
 
84
+ dropdown.change(get_boundary_from_leaderboard, dropdown, plot)
85
+ rld_btn.click(get_boundary_from_leaderboard, dropdown, plot)
86
+
87
+ def generate_random_boundary(aspect_ratio, elongation, rotational_transform, n_field_periods):
88
+ boundary = initial_guess.generate_rotating_ellipse(
89
+ aspect_ratio=aspect_ratio, elongation=elongation, rotational_transform=rotational_transform, n_field_periods=n_field_periods
90
+ )
91
+ vis = make_visual(boundary)
92
+ return vis
93
 
94
+ generate_btn.click(generate_random_boundary, [aspect_ratio, elongation, rotational_transform, n_field_periods], plot)
95
 
96
  return demo
97