Spaces:
Runtime error
Runtime error
from .imagefunc import * | |
NODE_NAME = 'BatchSelector' | |
class BatchSelector: | |
def __init__(self): | |
pass | |
def INPUT_TYPES(self): | |
return { | |
"required": { | |
"select": ("STRING", {"default": "0,"},), | |
}, | |
"optional": { | |
"images": ("IMAGE",), # | |
"masks": ("MASK",), # | |
} | |
} | |
RETURN_TYPES = ("IMAGE", "MASK",) | |
RETURN_NAMES = ("image", "mask",) | |
FUNCTION = 'batch_selector' | |
CATEGORY = '😺dzNodes/LayerUtility/SystemIO' | |
def batch_selector(self, select, images=None, masks=None | |
): | |
ret_images = [] | |
ret_masks = [] | |
empty_image = pil2tensor(Image.new("RGBA", (64, 64), (0, 0, 0, 0))) | |
empty_mask = image2mask(Image.new("L", (64, 64), color="black")) | |
indexs = extract_numbers(select) | |
for i in indexs: | |
if images is not None: | |
if i < len(images): | |
ret_images.append(images[i].unsqueeze(0)) | |
else: | |
ret_images.append(images[-1].unsqueeze(0)) | |
if masks is not None: | |
if i < len(masks): | |
ret_masks.append(masks[i].unsqueeze(0)) | |
else: | |
ret_masks.append(masks[-1].unsqueeze(0)) | |
if len(ret_images) == 0: | |
ret_images.append(empty_image) | |
if len(ret_masks) == 0: | |
ret_masks.append(empty_mask) | |
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 = { | |
"LayerUtility: BatchSelector": BatchSelector | |
} | |
NODE_DISPLAY_NAME_MAPPINGS = { | |
"LayerUtility: BatchSelector": "LayerUtility: Batch Selector" | |
} |