diff --git a/README.MD b/README.MD index de7f833..2567eac 100644 --- a/README.MD +++ b/README.MD @@ -1,6 +1,8 @@ # ComfyUI Layer Style A set of nodes for ComfyUI that can composite layer and mask to achieve Photoshop like functionality. +It migrate some basic functions of PhotoShop to ComfyUI, aiming to centralize the workflow and reduce the frequency of software switching. + ![image](image/title.png) Nodes are divided into 5 groups according to their functions: LayerStyle, LayerColor, LayerMask, LayerUtility and LayerFilter. diff --git a/README_CN.MD b/README_CN.MD index b2dffc7..995d149 100644 --- a/README_CN.MD +++ b/README_CN.MD @@ -1,5 +1,5 @@ # ComfyUI Layer Style -一组为ComfyUI设计的节点,可以合成图层达到类似Photoshop的功能。 +一组为ComfyUI设计的节点,可以合成图层达到类似Photoshop的功能。这些节点将PhotoShop的一部分基本功能迁移到ComfyUI,旨在集中工作流程,减少软件切换的频率。 ![image](image/title.png) 节点按照功能分为5组:LayerStyle, LayerColor, LayerMask, LayerUtility和LayerFilter。 diff --git a/py/channel_shake.py b/py/channel_shake.py index a294aaa..c39fe17 100644 --- a/py/channel_shake.py +++ b/py/channel_shake.py @@ -53,7 +53,7 @@ class ChannelShake: ret_image = Image.merge('RGB', [R, G, B]) ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_adapter.py b/py/color_adapter.py index 70d1077..fe58a61 100644 --- a/py/color_adapter.py +++ b/py/color_adapter.py @@ -47,7 +47,7 @@ class ColorAdapter: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_HSV.py b/py/color_correct_HSV.py index f7793af..42f3394 100644 --- a/py/color_correct_HSV.py +++ b/py/color_correct_HSV.py @@ -44,7 +44,7 @@ class ColorCorrectHSV: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_LAB.py b/py/color_correct_LAB.py index 347560b..d87ff31 100644 --- a/py/color_correct_LAB.py +++ b/py/color_correct_LAB.py @@ -44,7 +44,7 @@ class ColorCorrectLAB: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_LUTapply.py b/py/color_correct_LUTapply.py index d793915..756e63f 100644 --- a/py/color_correct_LUTapply.py +++ b/py/color_correct_LUTapply.py @@ -34,7 +34,7 @@ class ColorCorrectLUTapply: ret_image = lut_apply(_image, lut_file) ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_RGB.py b/py/color_correct_RGB.py index 7bbd207..9f2368a 100644 --- a/py/color_correct_RGB.py +++ b/py/color_correct_RGB.py @@ -44,7 +44,7 @@ class ColorCorrectRGB: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_YUV.py b/py/color_correct_YUV.py index f52678a..63c0a16 100644 --- a/py/color_correct_YUV.py +++ b/py/color_correct_YUV.py @@ -44,7 +44,7 @@ class ColorCorrectYUV: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_brightness&contrast.py b/py/color_correct_brightness&contrast.py index a89c4c0..7c63ed5 100644 --- a/py/color_correct_brightness&contrast.py +++ b/py/color_correct_brightness&contrast.py @@ -46,7 +46,7 @@ class ColorCorrectBrightnessAndContrast: _image = color_image.enhance(factor=saturation) ret_images.append(pil2tensor(_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_correct_exposure.py b/py/color_correct_exposure.py index 53c3460..ba7bc59 100644 --- a/py/color_correct_exposure.py +++ b/py/color_correct_exposure.py @@ -40,7 +40,7 @@ class ColorCorrectExposure: t = np.clip((t - bp) * scale, 0.0, 1.0) ret_images.append(torch.from_numpy(t)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) diff --git a/py/color_correct_gamma.py b/py/color_correct_gamma.py index 5075183..c2c70d5 100644 --- a/py/color_correct_gamma.py +++ b/py/color_correct_gamma.py @@ -35,7 +35,7 @@ class ColorCorrectGamma: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_map.py b/py/color_map.py index 686f07c..dab1575 100644 --- a/py/color_map.py +++ b/py/color_map.py @@ -44,7 +44,7 @@ class ColorMap: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/color_overlay.py b/py/color_overlay.py index 0f4085b..c779fa5 100644 --- a/py/color_overlay.py +++ b/py/color_overlay.py @@ -77,7 +77,7 @@ class ColorOverlay: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/crop_by_mask.py b/py/crop_by_mask.py index 4f25bb3..0a5bc93 100644 --- a/py/crop_by_mask.py +++ b/py/crop_by_mask.py @@ -85,7 +85,7 @@ class CropByMask: ret_images.append(pil2tensor(_canvas.crop(crop_box))) ret_masks.append(image2mask(_mask.crop(crop_box))) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0), list(crop_box), pil2tensor(preview_image),) diff --git a/py/drop_shadow.py b/py/drop_shadow.py index 620fd9b..cd19ddd 100644 --- a/py/drop_shadow.py +++ b/py/drop_shadow.py @@ -93,7 +93,7 @@ class DropShadow: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) diff --git a/py/extand_canvas.py b/py/extand_canvas.py index 2cbb15c..a792d48 100644 --- a/py/extand_canvas.py +++ b/py/extand_canvas.py @@ -76,7 +76,7 @@ class ExtendCanvas: ret_images.append(pil2tensor(_canvas)) ret_masks.append(image2mask(_mask_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) diff --git a/py/gaussian_blur.py b/py/gaussian_blur.py index fcf77f1..7bd76c9 100644 --- a/py/gaussian_blur.py +++ b/py/gaussian_blur.py @@ -34,7 +34,7 @@ class GaussianBlur: ret_images.append(pil2tensor(gaussian_blur(_canvas, blur))) - log(f'GaussianBlur Processed {len(ret_images)} image(s).') + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/gradient_overlay.py b/py/gradient_overlay.py index cb64bee..302c5a6 100644 --- a/py/gradient_overlay.py +++ b/py/gradient_overlay.py @@ -89,7 +89,7 @@ class GradientOverlay: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/image_blend.py b/py/image_blend.py index c015262..52e1491 100644 --- a/py/image_blend.py +++ b/py/image_blend.py @@ -73,7 +73,7 @@ class ImageBlend: _canvas.paste(_comp, mask=_mask) ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/image_blend_advance.py b/py/image_blend_advance.py index 7f7f0e3..def9456 100644 --- a/py/image_blend_advance.py +++ b/py/image_blend_advance.py @@ -121,7 +121,7 @@ class ImageBlendAdvance: ret_images.append(pil2tensor(_canvas)) ret_masks.append(image2mask(_compmask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/image_channel_merge.py b/py/image_channel_merge.py index 0152f5e..963a444 100644 --- a/py/image_channel_merge.py +++ b/py/image_channel_merge.py @@ -59,7 +59,7 @@ class ImageChannelMerge: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/image_channel_split.py b/py/image_channel_split.py index 47f4a38..161fb94 100644 --- a/py/image_channel_split.py +++ b/py/image_channel_split.py @@ -41,7 +41,7 @@ class ImageChannelSplit: c3_images.append(pil2tensor(channel3)) c4_images.append(pil2tensor(channel4)) - log(f"{NODE_NAME} Processed {len(c1_images)} image(s).") + log(f"{NODE_NAME} Processed {len(c1_images)} image(s).", message_type='finish') return (torch.cat(c1_images, dim=0), torch.cat(c2_images, dim=0), torch.cat(c3_images, dim=0), torch.cat(c4_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/image_mask_scale_as.py b/py/image_mask_scale_as.py index e606bd7..8bb142f 100644 --- a/py/image_mask_scale_as.py +++ b/py/image_mask_scale_as.py @@ -77,13 +77,13 @@ class ImageMaskScaleAs: _mask = fit_resize_image(_mask, target_width, target_height, fit, resize_sampler).convert('L') ret_masks.append(image2mask(_mask)) if len(ret_images) > 0 and len(ret_masks) >0: - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0), [orig_width, orig_height],) elif len(ret_images) > 0 and len(ret_masks) == 0: - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), None,) elif len(ret_images) == 0 and len(ret_masks) > 0: - log(f"{NODE_NAME} Processed {len(ret_masks)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} image(s).", message_type='finish') return (None, torch.cat(ret_masks, dim=0), [orig_width, orig_height],) else: log(f"Error: {NODE_NAME} skipped, because the available image or mask is not found.", message_type='error') diff --git a/py/image_opacity.py b/py/image_opacity.py index 349a55d..8919e0c 100644 --- a/py/image_opacity.py +++ b/py/image_opacity.py @@ -74,7 +74,7 @@ class ImageOpacity: ret_images.append(pil2tensor(ret_image)) ret_masks.append(image2mask(ret_mask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/image_scale_restore.py b/py/image_scale_restore.py index e109e66..b0f06c1 100644 --- a/py/image_scale_restore.py +++ b/py/image_scale_restore.py @@ -98,7 +98,7 @@ class ImageScaleRestore: ret_images.append(pil2tensor(ret_image)) ret_masks.append(image2mask(ret_mask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0), [orig_width, orig_height],) diff --git a/py/image_shift.py b/py/image_shift.py index c367b40..9dd1d5c 100644 --- a/py/image_shift.py +++ b/py/image_shift.py @@ -78,7 +78,7 @@ class ImageShift: ret_masks.append(image2mask(_mask)) ret_border_masks.append(image2mask(_border)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0), torch.cat(ret_border_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/imagefunc.py b/py/imagefunc.py index de81ff8..75ef235 100644 --- a/py/imagefunc.py +++ b/py/imagefunc.py @@ -26,9 +26,11 @@ def log(message:str, message_type:str='info'): name = 'LayerStyle' if message_type == 'error': - message = '\033[1;31m' + message + '\033[m' + message = '\033[1;41m' + message + '\033[m' elif message_type == 'warning': - message = '\033[1;35m' + message + '\033[m' + message = '\033[1;31m' + message + '\033[m' + elif message_type == 'finish': + message = '\033[1;32m' + message + '\033[m' else: message = '\033[1;33m' + message + '\033[m' print(f"# 馃樅dzNodes: {name} -> {message}") diff --git a/py/inner_glow.py b/py/inner_glow.py index 2186668..d1a73b7 100644 --- a/py/inner_glow.py +++ b/py/inner_glow.py @@ -94,7 +94,7 @@ class InnerGlow: _layer.paste(_canvas, mask=ImageChops.invert(_mask)) ret_images.append(pil2tensor(_layer)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) diff --git a/py/inner_shadow.py b/py/inner_shadow.py index b271238..6045a8e 100644 --- a/py/inner_shadow.py +++ b/py/inner_shadow.py @@ -90,7 +90,7 @@ class InnerShadow: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/mask_box_detect.py b/py/mask_box_detect.py index 5456dd8..b8593cc 100644 --- a/py/mask_box_detect.py +++ b/py/mask_box_detect.py @@ -62,7 +62,7 @@ class MaskBoxDetect: preview_image = tensor2pil(mask).convert('RGB') preview_image = draw_rect(preview_image, x - x_adjust, y - y_adjust, width, height, line_color="#F00000", line_width=int(preview_image.height / 60)) preview_image = draw_rect(preview_image, x, y, width, height, line_color="#00F000", line_width=int(preview_image.height / 40)) - log(f"{NODE_NAME} Processed.") + log(f"{NODE_NAME} Processed.", message_type='finish') return ( pil2tensor(preview_image), round(x_percent, 2), round(y_percent, 2), _width, _height, x, y,) NODE_CLASS_MAPPINGS = { diff --git a/py/mask_by_different.py b/py/mask_by_different.py index 2901e61..b20ed39 100644 --- a/py/mask_by_different.py +++ b/py/mask_by_different.py @@ -66,7 +66,7 @@ class MaskByDifferent: ret_masks.append(image2mask(_mask)) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish') return (torch.cat(ret_masks, dim=0),) diff --git a/py/mask_edge_shrink.py b/py/mask_edge_shrink.py index 4e139c5..fca81bf 100644 --- a/py/mask_edge_shrink.py +++ b/py/mask_edge_shrink.py @@ -67,7 +67,7 @@ class MaskEdgeShrink: ret_masks.append(image2mask(_layer)) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish') return (torch.cat(ret_masks, dim=0),) diff --git a/py/mask_edge_ultrl_detail.py b/py/mask_edge_ultrl_detail.py index 3d0d614..6311864 100644 --- a/py/mask_edge_ultrl_detail.py +++ b/py/mask_edge_ultrl_detail.py @@ -65,7 +65,7 @@ class MaskEdgeUltraDetail: ret_images.append(pil2tensor(ret_image)) ret_masks.append(image2mask(_mask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/mask_gradient.py b/py/mask_gradient.py index 5c21b69..00698a6 100644 --- a/py/mask_gradient.py +++ b/py/mask_gradient.py @@ -136,7 +136,7 @@ class MaskGradient: _canvas = chop_image(_mask, _canvas, 'normal', opacity) ret_masks.append(image2mask(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish') return (torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/mask_grow.py b/py/mask_grow.py index e90c3ee..b41d515 100644 --- a/py/mask_grow.py +++ b/py/mask_grow.py @@ -45,7 +45,7 @@ class MaskGrow: _mask = l_masks[i] ret_masks.append(expand_mask(image2mask(_mask), grow, blur) ) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish') return (torch.cat(ret_masks, dim=0),) diff --git a/py/mask_invert.py b/py/mask_invert.py index ba4c918..72c2ab7 100644 --- a/py/mask_invert.py +++ b/py/mask_invert.py @@ -37,7 +37,6 @@ class MaskInvert: _mask = l_masks[i] ret_masks.append(mask_invert(image2mask(_mask))) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") return (torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/mask_motion_blur.py b/py/mask_motion_blur.py index fdd381b..d602aba 100644 --- a/py/mask_motion_blur.py +++ b/py/mask_motion_blur.py @@ -45,7 +45,7 @@ class MaskMotionBlur: _blurimage = motion_blur(_mask, angle, blur) ret_masks.append(image2mask(_blurimage)) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish') return (torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/mask_stroke.py b/py/mask_stroke.py index c2da4f1..75d474e 100644 --- a/py/mask_stroke.py +++ b/py/mask_stroke.py @@ -51,7 +51,7 @@ class MaskStroke: stroke_mask = subtract_mask(outer_mask, inner_mask) ret_masks.append(stroke_mask) - log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish') return (torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/motion_blur.py b/py/motion_blur.py index b27caeb..2396c50 100644 --- a/py/motion_blur.py +++ b/py/motion_blur.py @@ -36,7 +36,7 @@ class MotionBlur: ret_images.append(pil2tensor(motion_blur(_canvas, angle, blur))) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/outer_glow.py b/py/outer_glow.py index 750fd1b..4f6d543 100644 --- a/py/outer_glow.py +++ b/py/outer_glow.py @@ -93,7 +93,7 @@ class OuterGlow: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) diff --git a/py/pixel_spread.py b/py/pixel_spread.py index 8ec59c2..9d44cc6 100644 --- a/py/pixel_spread.py +++ b/py/pixel_spread.py @@ -71,7 +71,7 @@ class PixelSpread: ret_images.append(torch.from_numpy(fg.astype(np.float32))) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/rembg_ultra.py b/py/rembg_ultra.py index ad651df..cb697f2 100644 --- a/py/rembg_ultra.py +++ b/py/rembg_ultra.py @@ -40,7 +40,7 @@ class RemBgUltra: ret_images.append(pil2tensor(ret_image)) ret_masks.append(image2mask(_mask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/restore_crop_box.py b/py/restore_crop_box.py index 26278bd..bd5edc3 100644 --- a/py/restore_crop_box.py +++ b/py/restore_crop_box.py @@ -70,7 +70,7 @@ class RestoreCropBox: ret_images.append(pil2tensor(_canvas)) ret_masks.append(image2mask(ret_mask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) diff --git a/py/segment_anything_ultra.py b/py/segment_anything_ultra.py index ce6f53d..3a39218 100644 --- a/py/segment_anything_ultra.py +++ b/py/segment_anything_ultra.py @@ -61,7 +61,7 @@ class SegmentAnythingUltra: empty_mask = torch.zeros((1, height, width), dtype=torch.uint8, device="cpu") return (empty_mask, empty_mask) - log(f"{NODE_NAME} Processed {len(ret_masks)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_masks)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/sharp&soft.py b/py/sharp&soft.py index f7197bb..edfa0d6 100644 --- a/py/sharp&soft.py +++ b/py/sharp&soft.py @@ -60,7 +60,7 @@ class SharpAndSoft: details = (imgB / imgG - 1) * detail_mult + 1 dup[index] = np.clip(details * imgG - imgB + image, 0, 1) - log(f"{NODE_NAME} Processed {dup.shape[0]} image(s).") + log(f"{NODE_NAME} Processed {dup.shape[0]} image(s).", message_type='finish') return (torch.from_numpy(dup),) diff --git a/py/skin_beauty.py b/py/skin_beauty.py index 8d777ac..d1ccb69 100644 --- a/py/skin_beauty.py +++ b/py/skin_beauty.py @@ -50,7 +50,7 @@ class SkinBeauty: ret_images.append(pil2tensor(_canvas)) ret_masks.append(image2mask(light_mask)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0), torch.cat(ret_masks, dim=0),) diff --git a/py/soft_light.py b/py/soft_light.py index a6e1c18..44ce95e 100644 --- a/py/soft_light.py +++ b/py/soft_light.py @@ -49,7 +49,7 @@ class SoftLight: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/stroke.py b/py/stroke.py index 97d38a2..c4c725c 100644 --- a/py/stroke.py +++ b/py/stroke.py @@ -90,7 +90,7 @@ class Stroke: ret_images.append(pil2tensor(_canvas)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = { diff --git a/py/text_image.py b/py/text_image.py index ec522d1..3a894b6 100644 --- a/py/text_image.py +++ b/py/text_image.py @@ -125,7 +125,7 @@ class TextImage: _color = Image.new('RGB', size=(width, height), color=text_color) _canvas.paste(_color, mask=_mask.convert('L')) _canvas = RGB2RGBA(_canvas, _mask) - log(f"{NODE_NAME} Processed.") + log(f"{NODE_NAME} Processed.", message_type='finish') return (pil2tensor(_canvas), image2mask(_mask),) NODE_CLASS_MAPPINGS = { diff --git a/py/water_color.py b/py/water_color.py index 1cfe058..9b5e6ca 100644 --- a/py/water_color.py +++ b/py/water_color.py @@ -39,7 +39,7 @@ class WaterColor: ret_images.append(pil2tensor(ret_image)) - log(f"{NODE_NAME} Processed {len(ret_images)} image(s).") + log(f"{NODE_NAME} Processed {len(ret_images)} image(s).", message_type='finish') return (torch.cat(ret_images, dim=0),) NODE_CLASS_MAPPINGS = {