CoolFace
Apppublic

abreza/rerun-viewer

sourceHugging Faceupdated 2y agoView on Hugging Face
3likes
app.py91 linesDownload Raw Back to root
1import gradio as gr2from gradio_rerun import Rerun3from data.loader import load_simulation_data4from visualization.visualizer import visualize_simulation5from visualization.et_visualizer import visualize_et_data6 7 8def update_simulation_dropdown(file):9    simulations, descriptions = load_simulation_data(file)10    return gr.Dropdown(11        choices=descriptions if descriptions else [],12        value=None,13        allow_custom_value=False14    )15 16 17def create_app():18    with gr.Blocks() as demo:19        with gr.Tabs() as tabs:20            with gr.Tab("Camera Simulation"):21                gr.Markdown("""22                # Camera Simulation Visualizer23                Upload a JSON file containing camera simulation data and select a simulation to visualize.24                """)25 26                with gr.Row():27                    file_input = gr.File(28                        label="Upload Simulation JSON",29                        file_types=[".json"]30                    )31                    simulation_dropdown = gr.Dropdown(32                        label="Select Simulation",33                        choices=[],34                        type="index",35                        scale=236                    )37 38                with gr.Row():39                    viewer = Rerun(streaming=False)40 41                file_input.change(42                    update_simulation_dropdown,43                    inputs=[file_input],44                    outputs=[simulation_dropdown]45                )46 47                simulation_dropdown.change(48                    visualize_simulation,49                    inputs=[file_input, simulation_dropdown],50                    outputs=[viewer]51                )52 53            with gr.Tab("E.T. Dataset"):54                gr.Markdown("""55                # E.T. Dataset Visualizer56                Upload trajectory (.txt) and character (.npy) files to visualize the E.T. dataset.57                """)58 59                with gr.Row():60                    traj_file = gr.File(61                        label="Trajectory File (.txt)",62                        file_types=[".txt"]63                    )64                    char_file = gr.File(65                        label="Character File (.npy)",66                        file_types=[".npy"]67                    )68 69                with gr.Row():70                    et_viewer = Rerun(streaming=False)71 72                def process_et_files(traj_file, char_file):73                    if traj_file is None or char_file is None:74                        return None75                    return visualize_et_data(traj_file.name, char_file.name)76 77                with gr.Row():78                    visualize_btn = gr.Button("Visualize")79                    visualize_btn.click(80                        process_et_files,81                        inputs=[traj_file, char_file],82                        outputs=[et_viewer]83                    )84 85    return demo86 87 88if __name__ == "__main__":89    demo = create_app()90    demo.queue().launch(share=False)91