Bug fixes with Resize Image And Masks after testing

This commit is contained in:
Level Pixel Dev
2025-06-08 03:38:45 +06:00
parent 519b7e365a
commit 0464856b5e
2 changed files with 35 additions and 8 deletions
+34 -7
View File
@@ -518,7 +518,24 @@ class ResizeImageAndMasks:
result_image = []
result_mask = []
result_optional_context_mask = []
batch_size = image.shape[0]
if image is not None:
batch_size_image = image.shape[0]
else:
batch_size_image = 0
if mask is not None:
batch_size_mask = mask.shape[0]
else:
batch_size_mask = 0
if optional_context_mask is not None:
batch_size_optional_context_mask = optional_context_mask.shape[0]
else:
batch_size_optional_context_mask = 0
batch_size = max(batch_size_image, batch_size_mask, batch_size_optional_context_mask)
for b in range(batch_size):
if image is not None:
if b >= len(image) or image[b] is None or image[b].numel() == 0:
@@ -545,13 +562,23 @@ class ResizeImageAndMasks:
one_optional_context_mask = None
new_image, new_mask, new_optional_context_mask = preresize_imm(downscale_algorithm, upscale_algorithm, preresize_mode, preresize_min_width, preresize_min_height, preresize_max_width, preresize_max_height, one_image, one_mask, one_optional_context_mask)
result_image.append(new_image)
result_mask.append(new_mask)
result_optional_context_mask.append(new_optional_context_mask)
if new_image is not None:
new_image = new_image.clone().squeeze(0)
result_image.append(new_image)
if new_mask is not None:
new_mask = new_mask.clone().squeeze(0)
result_mask.append(new_mask)
if new_optional_context_mask is not None:
new_optional_context_mask = new_optional_context_mask.clone().squeeze(0)
result_optional_context_mask.append(new_optional_context_mask)
result_image = torch.stack(result_image, dim=0)
result_mask = torch.stack(result_mask, dim=0)
result_optional_context_mask = torch.stack(result_optional_context_mask, dim=0)
filtered_result_image = [x for x in result_image if x is not None]
filtered_result_mask = [x for x in result_mask if x is not None]
filtered_result_optional_context_mask = [x for x in result_optional_context_mask if x is not None]
result_image = torch.stack(filtered_result_image, dim=0) if len(filtered_result_image) > 0 else torch.empty(0)
result_mask = torch.stack(filtered_result_mask, dim=0) if len(filtered_result_mask) > 0 else torch.empty(0)
result_optional_context_mask = torch.stack(filtered_result_optional_context_mask, dim=0) if len(filtered_result_optional_context_mask) > 0 else torch.empty(0)
return (result_image, result_mask, result_optional_context_mask)
+1 -1
View File
@@ -77,7 +77,7 @@ function toggleWidget(node, widget, show = false, suffix = "") {
app.registerExtension({
name: "levelpixel.showcontrol",
nodeCreated(node) {
if (!node.comfyClass.startsWith("Inpaint") || !node.comfyClass.startsWith("ResizeImageAndMasks")) {
if (!node.comfyClass.startsWith("Inpaint") && !node.comfyClass.startsWith("ResizeImageAndMasks")) {
return;
}