File size: 3,808 Bytes
8da03c5 f3f77c0 8da03c5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# UI.py
import gradio as gr
from interface import process_and_plot
def create_interface():
# Definir los componentes de entrada
inputs = [
gr.inputs.File(label="Sube tu archivo Excel"),
# Ecuaciones de Biomasa
gr.inputs.Textbox(label="Ecuación de Biomasa 1", default="xo*exp(um*t)"),
gr.inputs.Textbox(label="Ecuación de Biomasa 2", default=""),
gr.inputs.Textbox(label="Ecuación de Biomasa 3", default=""),
# Parámetros de Biomasa
gr.inputs.Textbox(label="Parámetros de Biomasa 1", default="xo, um"),
gr.inputs.Textbox(label="Parámetros de Biomasa 2", default=""),
gr.inputs.Textbox(label="Parámetros de Biomasa 3", default=""),
# Límites de Biomasa
gr.inputs.Textbox(label="Límites de Biomasa 1", default="[ (0, np.inf), (0, np.inf) ]"),
gr.inputs.Textbox(label="Límites de Biomasa 2", default=""),
gr.inputs.Textbox(label="Límites de Biomasa 3", default=""),
# Ecuaciones de Sustrato
gr.inputs.Textbox(label="Ecuación de Sustrato 1", default="so - k1*X(t)"),
gr.inputs.Textbox(label="Ecuación de Sustrato 2", default=""),
gr.inputs.Textbox(label="Ecuación de Sustrato 3", default=""),
# Parámetros de Sustrato
gr.inputs.Textbox(label="Parámetros de Sustrato 1", default="so, k1"),
gr.inputs.Textbox(label="Parámetros de Sustrato 2", default=""),
gr.inputs.Textbox(label="Parámetros de Sustrato 3", default=""),
# Límites de Sustrato
gr.inputs.Textbox(label="Límites de Sustrato 1", default="[ (0, np.inf), (0, np.inf) ]"),
gr.inputs.Textbox(label="Límites de Sustrato 2", default=""),
gr.inputs.Textbox(label="Límites de Sustrato 3", default=""),
# Ecuaciones de Producto
gr.inputs.Textbox(label="Ecuación de Producto 1", default="po + k2*X(t)"),
gr.inputs.Textbox(label="Ecuación de Producto 2", default=""),
gr.inputs.Textbox(label="Ecuación de Producto 3", default=""),
# Parámetros de Producto
gr.inputs.Textbox(label="Parámetros de Producto 1", default="po, k2"),
gr.inputs.Textbox(label="Parámetros de Producto 2", default=""),
gr.inputs.Textbox(label="Parámetros de Producto 3", default=""),
# Límites de Producto
gr.inputs.Textbox(label="Límites de Producto 1", default="[ (0, np.inf), (0, np.inf) ]"),
gr.inputs.Textbox(label="Límites de Producto 2", default=""),
gr.inputs.Textbox(label="Límites de Producto 3", default=""),
# Opciones de visualización
gr.inputs.Dropdown(
choices=['best', 'upper right', 'upper left', 'lower right', 'lower left'],
label="Posición de la Leyenda",
default='best'
),
gr.inputs.Checkbox(label="Mostrar Leyenda", default=True),
gr.inputs.Checkbox(label="Mostrar Parámetros", default=True),
# Contadores de ecuaciones
gr.inputs.Number(label="Número de Ecuaciones de Biomasa", default=1, precision=0),
gr.inputs.Number(label="Número de Ecuaciones de Sustrato", default=1, precision=0),
gr.inputs.Number(label="Número de Ecuaciones de Producto", default=1, precision=0),
]
# Definir los componentes de salida
outputs = [
gr.outputs.Image(type="auto", label="Gráfica Resultante"),
gr.outputs.Textbox(label="Análisis del Modelo"),
]
# Crear la interfaz
interface = gr.Interface(
fn=process_and_plot,
inputs=inputs,
outputs=outputs,
title="Modelo de Bioproceso",
description="Sube un archivo Excel con tus datos experimentales para ajustar el modelo y visualizar los resultados.",
theme="default",
)
return interface
|