import gradio as gr import tempfile from wrapper import run_pipeline_on_image def process(image): if image is None: return [] with tempfile.TemporaryDirectory() as tmpdir: # Save PIL image to temp file img_path = Path(tmpdir) / "input.png" image.save(img_path) outputs = run_pipeline_on_image(str(img_path), tmpdir, save_artifacts=True) return list(outputs.values()) with gr.Blocks() as demo: gr.Markdown("# 🌿 Sorghum Single-Image Demo") inp = gr.Image(type="pil", label="Upload Image") run = gr.Button("Run Pipeline", variant="primary") gallery = gr.Gallery(label="Outputs") run.click(process, inputs=inp, outputs=gallery) if __name__ == "__main__": demo.launch()