From 886af2ee16573a1100c0b7f99b6ee007fbafbd21 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 26 Oct 2023 07:29:49 -0400 Subject: [PATCH] Revert "Merge pull request #2410 from vladmandic/master" This reverts commit 597fc1863f776f89fc3cbfbf4162941151fc3dc6, reversing changes made to 4ab584e93f4aaf6968c0e089ef0fed1e40c97808. --- CHANGELOG.md | 1 - extensions-builtin/sd-webui-controlnet | 2 +- modules/images.py | 37 +++++++++++--------------- modules/processing.py | 8 ------ 4 files changed, 17 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95aa47a5b..bf8109770 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,7 +44,6 @@ Mostly service release with support for several new models and additional optimi - fix diffusers samplers: dpm++ 2m, dpm++ 1s, deis - fix new style filename template - fix image name template using model name - - fix image name sequence - fix model path using relative path - fix `torch-rocm` and `tensorflow-rocm` version detection, thanks @xangelix - fix **chainner** upscalers color clipping diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet index e382d1618..150d6f140 160000 --- a/extensions-builtin/sd-webui-controlnet +++ b/extensions-builtin/sd-webui-controlnet @@ -1 +1 @@ -Subproject commit e382d1618593ae05a7115006de8680d3ddbd9777 +Subproject commit 150d6f140d8c8d00add682189c87da09dddb6803 diff --git a/modules/images.py b/modules/images.py index 6d0024b2a..158c613ac 100644 --- a/modules/images.py +++ b/modules/images.py @@ -553,13 +553,11 @@ def save_image(image, path, basename = '', seed=None, prompt=None, extension=sha return None, None if not check_grid_size([image]): return None, None - if path is None or len(path) == 0: + if path is None or len(path) == 0: # set default path to avoid errors when functions are triggered manually or via api and param is not set path = shared.opts.outdir_save - - # namegen namegen = FilenameGenerator(p, seed, prompt, image, grid=grid) if shared.opts.save_to_dirs: - dirname = namegen.apply(shared.opts.directories_filename_pattern or "[date]") + dirname = namegen.apply(shared.opts.directories_filename_pattern or "[prompt_words]") path = os.path.join(path, dirname) if forced_filename is None: if short_filename or seed is None: @@ -567,9 +565,21 @@ def save_image(image, path, basename = '', seed=None, prompt=None, extension=sha if shared.opts.samples_filename_pattern and len(shared.opts.samples_filename_pattern) > 0: file_decoration = shared.opts.samples_filename_pattern else: - file_decoration = "[seq]-[model_name]-[prompt_words]" + file_decoration = "[seq]-[prompt_words]" file_decoration = namegen.apply(file_decoration) - filename = os.path.join(path, f"{file_decoration}{suffix}.{extension}") if basename is None or basename == '' else os.path.join(path, f"{basename}-{file_decoration}{suffix}.{extension}") + file_decoration += suffix + if shared.opts.save_images_add_number: + if '[seq]' not in file_decoration: + file_decoration = f"[seq]-{file_decoration}" + basecount = get_next_sequence_number(path, basename) + filename = None + for i in range(9999): + seq = f"{basecount + i:05}" if basename == '' else f"{basename}-{basecount + i:04}" + filename = os.path.join(path, f"{file_decoration.replace('[seq]', seq)}.{extension}") + if not os.path.exists(filename): + break + else: + filename = os.path.join(path, f"{file_decoration}.{extension}") if basename == '' else os.path.join(path, f"{basename}-{file_decoration}.{extension}") else: filename = os.path.join(path, f"{forced_filename}.{extension}") pnginfo = existing_info or {} @@ -579,21 +589,6 @@ def save_image(image, path, basename = '', seed=None, prompt=None, extension=sha params.filename = namegen.sanitize(filename) dirname = os.path.dirname(params.filename) os.makedirs(dirname, exist_ok=True) - - # sequence - if shared.opts.save_images_add_number or '[seq]' in params.filename: - if '[seq]' not in params.filename: - params.filename = f"[seq]-{params.filename}" - basecount = get_next_sequence_number(dirname, basename) - for i in range(9999): - seq = f"{basecount + i:05}" if basename == '' else f"{basename}-{basecount + i:04}" - filename = params.filename.replace('[seq]', seq) - if not os.path.exists(filename): - debug(f'Prompt sequence: input="{params.filename}" seq={seq} output="{filename}"') - params.filename = filename - break - - # callbacks script_callbacks.before_image_saved_callback(params) exifinfo = params.pnginfo.get('UserComment', '') exifinfo = (exifinfo + ', ' if len(exifinfo) > 0 else '') + params.pnginfo.get(pnginfo_section_name, '') diff --git a/modules/processing.py b/modules/processing.py index 08be9a3ae..616533987 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -72,14 +72,6 @@ def apply_overlay(image, paste_loc, index, overlays): return image -def create_binary_mask(image): - if image.mode == 'RGBA' and image.getextrema()[-1] != (255, 255): - image = image.split()[-1].convert("L").point(lambda x: 255 if x > 128 else 0) - else: - image = image.convert('L') - return image - - def txt2img_image_conditioning(sd_model, x, width, height): if sd_model.model.conditioning_key in {'hybrid', 'concat'}: # Inpainting models # The "masked-image" in this case will just be all zeros since the entire image is masked.