Spaces:
Running
Running
File size: 2,228 Bytes
d0ba07f c5900d7 d0ba07f 96cd1bf 8a71b8a d0ba07f fb1a9a7 96cd1bf fb1a9a7 8a71b8a fb1a9a7 18362de fb1a9a7 8a71b8a fb1a9a7 18362de fb1a9a7 8a71b8a fb1a9a7 8a71b8a fb1a9a7 18362de fb1a9a7 8a71b8a fb1a9a7 c5900d7 fb1a9a7 96cd1bf fb1a9a7 96cd1bf |
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 |
import gradio as gr
from registry import registry
def create_filter_controls():
"""Create controls for each filter"""
controls = {}
control_components = {}
for filter_name in registry.filters:
params = registry.params_map.get(filter_name, {})
with gr.Column(visible=filter_name == "Original") as filter_group:
filter_controls_list = []
if params:
for param_name, config in params.items():
if config['type'] == int:
slider = gr.Slider(
minimum=config.get('min', 1),
maximum=config.get('max', 100),
value=config['default'],
label=f"🎚️ {param_name.replace('_', ' ').title()}",
step=config.get('step', 1),
interactive=True
)
filter_controls_list.append(slider)
elif config['type'] == float:
slider = gr.Slider(
minimum=config.get('min', 0.1),
maximum=config.get('max', 10.0),
step=config.get('step', 0.1),
value=config['default'],
label=f"🎚️ {param_name.replace('_', ' ').title()}",
interactive=True
)
filter_controls_list.append(slider)
elif config['type'] == bool:
checkbox = gr.Checkbox(
value=config['default'],
label=f"☑️ {param_name.replace('_', ' ').title()}",
interactive=True
)
filter_controls_list.append(checkbox)
else:
gr.Markdown("*✨ This filter has no custom parameters - Just click 'Apply' to use it!*")
controls[filter_name] = filter_group
control_components[filter_name] = filter_controls_list
return controls, control_components |