Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
from gradio_rerun import Rerun | |
from data.loader import load_simulation_data | |
from visualization.visualizer import visualize_simulation | |
def update_simulation_dropdown(file): | |
_, descriptions = load_simulation_data(file) | |
return gr.Dropdown(choices=descriptions if descriptions else [], value=None) | |
def create_app(): | |
with gr.Blocks() as demo: | |
gr.Markdown(""" | |
# Camera Simulation Visualizer | |
Upload a JSON file containing camera simulation data and select a simulation to visualize. | |
""") | |
with gr.Row(): | |
file_input = gr.File( | |
label="Upload Simulation JSON", | |
file_types=[".json"] | |
) | |
simulation_dropdown = gr.Dropdown( | |
label="Select Simulation", | |
choices=[], | |
type="index" | |
) | |
with gr.Row(): | |
viewer = Rerun(streaming=False) | |
file_input.change( | |
update_simulation_dropdown, | |
inputs=[file_input], | |
outputs=[simulation_dropdown] | |
) | |
simulation_dropdown.change( | |
visualize_simulation, | |
inputs=[file_input, simulation_dropdown], | |
outputs=[viewer] | |
) | |
return demo | |
if __name__ == "__main__": | |
demo = create_app() | |
demo.queue().launch(share=False) | |