Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from PIL import Image | |
| from io import BytesIO | |
| from src.pipeline import InferencePipeline | |
| from src.app.config import load_config | |
| # Load configuration and initialize the inference pipeline | |
| config = load_config() | |
| inference_pipeline = InferencePipeline(config) | |
| def process_image_from_bytes(file, apply_clahe_postprocess,apply_pre_contrast_adjustment,return_original_size): | |
| """ | |
| Process the image bytes using the inference pipeline. | |
| Args: | |
| file_bytes: The image file in bytes. | |
| apply_clahe_postprocess: Boolean indicating if CLAHE postprocessing should be applied. | |
| Returns: | |
| The processed image. | |
| """ | |
| try: | |
| # Perform super-resolution | |
| sr_image = inference_pipeline.run(file, apply_pre_contrast_adjustment=apply_pre_contrast_adjustment, apply_clahe_postprocess=apply_clahe_postprocess,return_original_size=return_original_size) | |
| return sr_image | |
| except Exception as e: | |
| return f"An exception occurred: {str(e)}" | |
| # Define the Gradio interface | |
| def gradio_interface(): | |
| with gr.Blocks() as demo: | |
| gr.Markdown(""" | |
| # X-Ray Image Super-Resolution-Denoiser Demo | |
| Provide image bytes to process and optionally apply CLAHE postprocessing. | |
| For github : Whole code with FastAPI and Docker - https://github.com/SerdarHelli/xray-superres-enhancer | |
| """) | |
| with gr.Row(): | |
| file_input = gr.File(label="Upload Image (PNG, JPEG, or DICOM)") | |
| apply_clahe_checkbox = gr.Checkbox(label="Apply CLAHE Postprocessing", value=False) | |
| apply_pre_contrast_adjustment_checkbox = gr.Checkbox(label="Apply PreContrast Adjustment", value=False) | |
| return_original_size_checkbox = gr.Checkbox(label="Return Original Size", value=True) | |
| process_button = gr.Button("Process Image") | |
| output_image = gr.Image(label="Processed Image") | |
| process_button.click( | |
| process_image_from_bytes, | |
| inputs=[file_input, apply_clahe_checkbox,apply_pre_contrast_adjustment_checkbox,return_original_size_checkbox], | |
| outputs=output_image | |
| ) | |
| return demo | |
| # Launch the Gradio interface | |
| demo = gradio_interface() | |
| demo.launch( | |
| debug=True, | |
| ) | |