From 65cc25e5bfd55584fea68d516f31370f885041e7 Mon Sep 17 00:00:00 2001 From: Manuel Schmid Date: Sun, 16 Jun 2024 22:54:44 +0200 Subject: [PATCH] feat: add debug setting for enhance mask output --- modules/async_worker.py | 7 ++++--- webui.py | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/async_worker.py b/modules/async_worker.py index d6bfa299..fdb7a3c4 100644 --- a/modules/async_worker.py +++ b/modules/async_worker.py @@ -110,6 +110,7 @@ class AsyncTask: self.debugging_dino = args.pop() self.dino_erode_or_dilate = args.pop() + self.debugging_enhance_masks_checkbox = args.pop() self.enhance_checkbox = args.pop() self.enhance_ctrls = [] @@ -1107,9 +1108,9 @@ def worker(): if int(async_task.inpaint_erode_or_dilate) != 0: mask = erode_or_dilate(mask, async_task.inpaint_erode_or_dilate) - async_task.yields.append(['preview', (current_progress, 'Loading ...', mask)]) - # TODO also show do_not_show_finished_images=len(tasks) == 1 - yield_result(async_task, mask, async_task.black_out_nsfw, False, do_not_show_finished_images=len(tasks) == 1 or async_task.disable_intermediate_results) + if async_task.debugging_enhance_masks_checkbox: + async_task.yields.append(['preview', (current_progress, 'Loading ...', mask)]) + yield_result(async_task, mask, async_task.black_out_nsfw, False, async_task.disable_intermediate_results) print(f'[Enhance] {dino_detection_count} boxes detected') print(f'[Enhance] {sam_detection_count} segments detected in boxes') diff --git a/webui.py b/webui.py index 2e650aa4..9185dd10 100644 --- a/webui.py +++ b/webui.py @@ -712,8 +712,10 @@ with shared.gradio_root: with gr.Tab(label='Inpaint'): debugging_inpaint_preprocessor = gr.Checkbox(label='Debug Inpaint Preprocessing', value=False) + debugging_enhance_masks_checkbox = gr.Checkbox(label='Debug Enhance Masks', value=False, + info='Show enhance masks in preview and final results') debugging_dino = gr.Checkbox(label='Debug GroundingDINO', value=False, - info='Used for SAM object detection and box generation') + info='Use GroundingDINO boxes instead of more detailed SAM masks') inpaint_disable_initial_latent = gr.Checkbox(label='Disable initial latent in inpaint', value=False) inpaint_engine = gr.Dropdown(label='Inpaint Engine', value=modules.config.default_inpaint_engine_version, @@ -894,7 +896,8 @@ with shared.gradio_root: ctrls += [save_metadata_to_images, metadata_scheme] ctrls += ip_ctrls - ctrls += [debugging_dino, dino_erode_or_dilate, enhance_checkbox] + enhance_ctrls + ctrls += [debugging_dino, dino_erode_or_dilate, debugging_enhance_masks_checkbox, enhance_checkbox] + ctrls += enhance_ctrls def parse_meta(raw_prompt_txt, is_generating): loaded_json = None