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() ) 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