Spaces:
Running
Running
import gradio as gr | |
from registry import registry | |
def create_filter_controls(): | |
controls = {} | |
for filter_name in registry.filters: | |
params = registry.params_map.get(filter_name, {}) | |
filter_group = gr.Group(visible=filter_name == "Original") # Create group here | |
filter_controls_list = [] | |
with filter_group: # Put controls inside the group | |
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=param_name.replace('_', ' ').title(), | |
step=config.get('step', 1) | |
) | |
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=param_name.replace('_', ' ').title() | |
) | |
elif config['type'] == bool: | |
slider = gr.Checkbox( | |
value=config['default'], | |
label=param_name.replace('_', ' ').title() | |
) | |
filter_controls_list.append(slider) | |
controls[filter_name] = filter_group # Store the group | |
filter_group.children = filter_controls_list # Add controls to the group | |
return controls |