From b352799020ef0cd1031f0583ae71aeda35a0891b Mon Sep 17 00:00:00 2001 From: chflame163 Date: Thu, 27 Jun 2024 18:58:53 +0800 Subject: [PATCH] commit QueueStop node --- README.MD | 9 + README_CN.MD | 10 + image/queue_stop_example.jpg | Bin 0 -> 102397 bytes image/queue_stop_node.jpg | Bin 0 -> 41132 bytes py/data_nodes.py | 32 ++- py/imagefunc.py | 10 +- pyproject.toml | 2 +- requirements.txt | 4 +- workflow/queue_stop_example.json | 342 +++++++++++++++++++++++++++++++ 9 files changed, 402 insertions(+), 7 deletions(-) create mode 100644 image/queue_stop_example.jpg create mode 100644 image/queue_stop_node.jpg create mode 100644 workflow/queue_stop_example.json diff --git a/README.MD b/README.MD index 1b97fc4..734358f 100644 --- a/README.MD +++ b/README.MD @@ -80,6 +80,7 @@ When this error has occurred, please check the network environment. ## Update **If the dependency package error after updating, please reinstall the relevant dependency packages.
+* Commit [QueueStop](#QueueStop) node, used to terminate the queue operation. * Optimize performance of the ```vitmate``` method for Ultra nodes when processing large-size image. * [CropByMaskV2](#CropByMaskV2) add option to round the cutting size by multiples. * Commit [CheckMask](#CheckMask) node, it detect whether the mask contains sufficient effective areas. Commit [HSVValue](#HSVValue) node, it convert color values to HSV values. @@ -1216,6 +1217,14 @@ Node Options: * case_2: case_2 string. * case_3: case_3 string. +### QueueStop +![image](image/queue_stop_example.jpg) +Stop the current queue. When executed at this node, the queue will stop. The workflow diagram above illustrates that if the image is larger than 1Mega pixels, the queue will stop executing. + +Node Options: +![image](image/queue_stop_node.jpg) +* mode: Stop mode. Currently, only stop mode can be selected. +* stop: If true, the queue will stop. If false, the queue will continue to execute. ### PurgeVRAM ![image](image/purge_vram_example.jpg) diff --git a/README_CN.MD b/README_CN.MD index 0884583..9f4fec2 100644 --- a/README_CN.MD +++ b/README_CN.MD @@ -80,6 +80,7 @@ git clone https://github.com/chflame163/ComfyUI_LayerStyle.git ## 更新说明 **如果本插件更新后出现依赖包错误,请重新安装相关依赖包。 +* 添加 [QueueStop](#QueueStop) 节点,用于停止队列。 * 优化Ultra节点的```vitmatte```方法在处理大尺寸图片时的性能。 * [CropByMaskV2](#CropByMaskV2) 增加裁切尺寸按倍数取整选项。 * 添加 [CheckMask](#CheckMask) 节点, 用于检测遮罩是否包含足够的有效区域。 @@ -1206,6 +1207,15 @@ BooleanOperator的升级版,增加了节点内数值输入,增加了大于 * case_2: case_2字符串。 * case_3: case_3字符串。 +### QueueStop +![image](image/queue_stop_example.jpg) +停止当前的队列。执行到此节点时,队列将停止。上图工作流示意了如果图片大于1Mega像素时,队列将停止执行。 + +节点选项说明: +![image](image/queue_stop_node.jpg) +* mode: 停止模式。当前仅能选择stop一种模式。 +* stop: 如果为True,队列将停止。如果为False,队列将继续执行。 + ### PurgeVRAM ![image](image/purge_vram_example.jpg) diff --git a/image/queue_stop_example.jpg b/image/queue_stop_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..131522d2282889fe5d433ec0a37f586ff455056c GIT binary patch literal 102397 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 E0113D)&Kwi literal 0 HcmV?d00001 diff --git a/image/queue_stop_node.jpg b/image/queue_stop_node.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d3a7781d2aeb0198bd17b78072087e05a32b36f GIT binary patch literal 41132 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 literal 0 HcmV?d00001 diff --git a/py/data_nodes.py b/py/data_nodes.py index d70cbb2..76b29e8 100644 --- a/py/data_nodes.py +++ b/py/data_nodes.py @@ -1,5 +1,4 @@ -from .imagefunc import AnyType -from .imagefunc import extract_all_numbers_from_str +from .imagefunc import AnyType, log, extract_all_numbers_from_str any = AnyType("*") @@ -420,8 +419,36 @@ class SwitchCaseNode: return (output,) +class QueueStopNode(): + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(self): + mode_list = ["stop"] + return { + "required": { + "any": (any, ), + "mode": (mode_list,), + "stop": ("BOOLEAN", {"default": True}), + }, + } + + RETURN_TYPES = (any,) + RETURN_NAMES = ("any",) + FUNCTION = 'stop_node' + CATEGORY = '😺dzNodes/LayerUtility/SystemIO' + + def stop_node(self, any, mode,stop): + if mode == "stop": + if stop: + log(f"Queue stopped, it was terminated by node.", "error") + from comfy.model_management import InterruptProcessingException + raise InterruptProcessingException() + return (any,) NODE_CLASS_MAPPINGS = { + "LayerUtility: QueueStop": QueueStopNode, "LayerUtility: SwitchCase": SwitchCaseNode, "LayerUtility: If ": IfExecute, "LayerUtility: StringCondition": StringCondition, @@ -438,6 +465,7 @@ NODE_CLASS_MAPPINGS = { } NODE_DISPLAY_NAME_MAPPINGS = { + "LayerUtility: QueueStop": "LayerUtility: Queue Stop", "LayerUtility: SwitchCase": "LayerUtility: Switch Case", "LayerUtility: If ": "LayerUtility: If", "LayerUtility: StringCondition": "LayerUtility: String Condition", diff --git a/py/imagefunc.py b/py/imagefunc.py index 47b35a9..de0abe6 100644 --- a/py/imagefunc.py +++ b/py/imagefunc.py @@ -1404,9 +1404,15 @@ def generate_VITMatte(image:Image, trimap:Image, local_files_only:bool=False) -> trimap = trimap.convert('L') max_size = 2048 width, height = image.size + ratio = width / height + target_width = math.sqrt(ratio * max_size * max_size) + target_height = target_width / ratio + target_width = int(target_width) + target_height = int(target_height) + log(f"vitmatte image size {width}x{height} too large, resize to {target_width}x{target_height} for processing.") if width * height > max_size * max_size: - image = image.resize((max_size, max_size), Image.BILINEAR) - trimap = trimap.resize((max_size, max_size), Image.BILINEAR) + image = image.resize((target_width, target_height), Image.BILINEAR) + trimap = trimap.resize((target_width, target_height), Image.BILINEAR) model_name = "hustvl/vitmatte-small-composition-1k" vit_matte_model = load_VITMatte_model(model_name=model_name, local_files_only=local_files_only) inputs = vit_matte_model.processor(images=image, trimaps=trimap, return_tensors="pt") diff --git a/pyproject.toml b/pyproject.toml index c98ab31..c4f6598 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui_layerstyle" description = "A set of nodes for ComfyUI it generate image like Adobe Photoshop's Layer Style. the Drop Shadow is first completed node, and follow-up work is in progress." -version = "1.0.9" +version = "1.0.10" license = "MIT" dependencies = ["numpy", "pillow", "torch", "matplotlib", "Scipy", "scikit_image", "opencv-contrib-python", "pymatting", "segment_anything", "timm", "addict", "yapf", "colour-science", "wget", "mediapipe", "loguru", "typer_config", "fastapi", "rich", "google-generativeai", "diffusers", "omegaconf", "tqdm", "transformers", "kornia", "image-reward", "ultralytics", "blend_modes", "blind-watermark", "qrcode", "pyzbar", "psd-tools"] diff --git a/requirements.txt b/requirements.txt index 9ff21a2..f7f0d68 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy +numpy<2.0 pillow torch matplotlib @@ -21,7 +21,7 @@ google-generativeai diffusers omegaconf tqdm -transformers +transformers>=4.38.2 kornia image-reward ultralytics diff --git a/workflow/queue_stop_example.json b/workflow/queue_stop_example.json new file mode 100644 index 0000000..3506527 --- /dev/null +++ b/workflow/queue_stop_example.json @@ -0,0 +1,342 @@ +{ + "last_node_id": 11, + "last_link_id": 15, + "nodes": [ + { + "id": 11, + "type": "LayerUtility: NumberCalculator", + "pos": [ + 622, + 680 + ], + "size": [ + 260.3999938964844, + 78 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "a", + "type": "*", + "link": 13 + }, + { + "name": "b", + "type": "*", + "link": 14 + } + ], + "outputs": [ + { + "name": "int", + "type": "INT", + "links": [ + 15 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "float", + "type": "FLOAT", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LayerUtility: NumberCalculator" + }, + "widgets_values": [ + "*" + ] + }, + { + "id": 6, + "type": "LayerUtility: QueueStop", + "pos": [ + 1259, + 485 + ], + "size": { + "0": 315, + "1": 78 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "any", + "type": "*", + "link": 5 + }, + { + "name": "stop", + "type": "BOOLEAN", + "link": 11, + "widget": { + "name": "stop" + } + } + ], + "outputs": [ + { + "name": "any", + "type": "*", + "links": [ + 12 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LayerUtility: QueueStop" + }, + "widgets_values": [ + "stop", + true + ] + }, + { + "id": 3, + "type": "PreviewImage", + "pos": [ + 1626, + 482 + ], + "size": { + "0": 376.1998596191406, + "1": 331.6813659667969 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 12 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 7, + "type": "LayerUtility: GetImageSize", + "pos": [ + 370, + 680 + ], + "size": [ + 218.39999389648438, + 66 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 7 + } + ], + "outputs": [ + { + "name": "width", + "type": "INT", + "links": [ + 13 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "height", + "type": "INT", + "links": [ + 14 + ], + "shape": 3, + "slot_index": 1 + }, + { + "name": "original_size", + "type": "BOX", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LayerUtility: GetImageSize" + } + }, + { + "id": 9, + "type": "LayerUtility: BooleanOperatorV2", + "pos": [ + 916, + 678 + ], + "size": [ + 277.20001220703125, + 126 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "a", + "type": "*", + "link": 15 + }, + { + "name": "b", + "type": "*", + "link": null + } + ], + "outputs": [ + { + "name": "output", + "type": "BOOLEAN", + "links": [ + 11 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "string", + "type": "STRING", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LayerUtility: BooleanOperatorV2" + }, + "widgets_values": [ + "", + "1048576", + ">" + ] + }, + { + "id": 2, + "type": "LoadImage", + "pos": [ + 13, + 482 + ], + "size": { + "0": 315, + "1": 314 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 5, + 7 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "3840x2160car.jpg", + "image" + ] + } + ], + "links": [ + [ + 5, + 2, + 0, + 6, + 0, + "*" + ], + [ + 7, + 2, + 0, + 7, + 0, + "IMAGE" + ], + [ + 11, + 9, + 0, + 6, + 1, + "BOOLEAN" + ], + [ + 12, + 6, + 0, + 3, + 0, + "IMAGE" + ], + [ + 13, + 7, + 0, + 11, + 0, + "*" + ], + [ + 14, + 7, + 1, + 11, + 1, + "*" + ], + [ + 15, + 11, + 0, + 9, + 0, + "*" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 0.9090909090909091, + "offset": [ + 614.8169336983026, + 127.3944912940982 + ] + } + }, + "version": 0.4 +} \ No newline at end of file