raubatz/1bucket / comfy /custom_nodes /ComfyUI-post-processing-nodes-master /post_processing /arithmetic_blend.py
| import torch | |
| class ArithmeticBlend: | |
| def __init__(self): | |
| pass | |
| def INPUT_TYPES(s): | |
| return { | |
| "required": { | |
| "image1": ("IMAGE",), | |
| "image2": ("IMAGE",), | |
| "blend_mode": (["add", "subtract", "difference", "divide"],), | |
| }, | |
| } | |
| RETURN_TYPES = ("IMAGE",) | |
| FUNCTION = "arithmetic_blend_images" | |
| CATEGORY = "postprocessing/Blends" | |
| def arithmetic_blend_images(self, image1: torch.Tensor, image2: torch.Tensor, blend_mode: str): | |
| if blend_mode == "add": | |
| blended_image = self.add(image1, image2) | |
| elif blend_mode == "subtract": | |
| blended_image = self.subtract(image1, image2) | |
| elif blend_mode == "difference": | |
| blended_image = self.difference(image1, image2) | |
| elif blend_mode == "divide": | |
| blended_image = self.divide(image1, image2) | |
| else: | |
| raise ValueError(f"Unsupported arithmetic blend mode: {blend_mode}") | |
| blended_image = torch.clamp(blended_image, 0, 1) | |
| return (blended_image,) | |
| def add(self, img1, img2): | |
| return img1 + img2 | |
| def subtract(self, img1, img2): | |
| return img1 - img2 | |
| def difference(self, img1, img2): | |
| return torch.abs(img1 - img2) | |
| def divide(self, img1, img2): | |
| img2_safe = torch.where(img1 == 0, torch.tensor(1e-10), img1) | |
| return img1 / img2_safe | |
| NODE_CLASS_MAPPINGS = { | |
| "ArithmeticBlend": ArithmeticBlend, | |
| } | |
Xet Storage Details
- Size:
- 1.57 kB
- Xet hash:
- fbe82db92646edfa5237d24fa9ea63728ccba9b2e7f97981eb83defdc0b1153e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.