Spaces:
Running
Running
| from backend.models.lcmdiffusion_setting import DiffusionTask | |
| from backend.models.upscale import UpscaleMode | |
| from backend.upscale.edsr_upscale_onnx import upscale_edsr_2x | |
| from backend.upscale.aura_sr_upscale import upscale_aura_sr | |
| from backend.upscale.tiled_upscale import generate_upscaled_image | |
| from context import Context | |
| from PIL import Image | |
| from state import get_settings | |
| config = get_settings() | |
| def upscale_image( | |
| context: Context, | |
| src_image_path: str, | |
| dst_image_path: str, | |
| scale_factor: int = 2, | |
| upscale_mode: UpscaleMode = UpscaleMode.normal.value, | |
| strength: float = 0.1, | |
| ): | |
| if upscale_mode == UpscaleMode.normal.value: | |
| upscaled_img = upscale_edsr_2x(src_image_path) | |
| upscaled_img.save(dst_image_path) | |
| print(f"Upscaled image saved {dst_image_path}") | |
| elif upscale_mode == UpscaleMode.aura_sr.value: | |
| upscaled_img = upscale_aura_sr(src_image_path) | |
| upscaled_img.save(dst_image_path) | |
| print(f"Upscaled image saved {dst_image_path}") | |
| else: | |
| config.settings.lcm_diffusion_setting.strength = ( | |
| 0.3 if config.settings.lcm_diffusion_setting.use_openvino else strength | |
| ) | |
| config.settings.lcm_diffusion_setting.diffusion_task = ( | |
| DiffusionTask.image_to_image.value | |
| ) | |
| generate_upscaled_image( | |
| config.settings, | |
| src_image_path, | |
| config.settings.lcm_diffusion_setting.strength, | |
| upscale_settings=None, | |
| context=context, | |
| tile_overlap=( | |
| 32 if config.settings.lcm_diffusion_setting.use_openvino else 16 | |
| ), | |
| output_path=dst_image_path, | |
| image_format=config.settings.generated_images.format, | |
| ) | |
| print(f"Upscaled image saved {dst_image_path}") | |
| return [Image.open(dst_image_path)] | |