rename class, make textimagefilter and imagefilter always run

This commit is contained in:
Chris
2026-05-22 10:55:08 +10:00
parent 25117fb0b5
commit 7b085ad8a9
2 changed files with 9 additions and 12 deletions
+2 -2
View File
@@ -11,7 +11,7 @@ __all__ = ["WEB_DIRECTORY"]
from comfy_api.latest import ComfyExtension, io
from .image_filter_nodes import ImageFilter, MaskImageFilter, TextImageFilterWithExtras
from .image_filter_nodes import ImageFilter, MaskImageFilter, TextImageFilter
from .utility_nodes.list_utility_nodes import PickFromList, BatchFromImageList, ImageListFromBatch
from .utility_nodes.string_utility_nodes import SplitByCommas, StringToFloat, StringToInt, AnyListToString, StringToStringList, cg_StringToFloat, cg_StringToInt
from .utility_nodes.mask_utility_nodes import MaskedSection
@@ -20,7 +20,7 @@ async def comfy_entrypoint() -> ComfyExtension:
class cg_ImageFilterExtension(ComfyExtension):
async def get_node_list(self) -> list[type[io.ComfyNode]]:
return [
ImageFilter, MaskImageFilter, TextImageFilterWithExtras,
ImageFilter, MaskImageFilter, TextImageFilter,
PickFromList, BatchFromImageList, ImageListFromBatch,
SplitByCommas, StringToFloat, StringToInt, AnyListToString, StringToStringList, cg_StringToFloat, cg_StringToInt,
MaskedSection,
+7 -10
View File
@@ -52,9 +52,11 @@ class FilterNodeBase:
@classmethod
def stack_masks(cls, masks:torch.Tensor|None, images_to_return:list[int]) -> torch.Tensor|None:
return cls.stack_images(masks, images_to_return)
@classmethod
def fingerprint_inputs(cls, **kwargs) -> Any: return random.random()
class ImageFilter(io.ComfyNode, FilterNodeBase):
class ImageFilter(FilterNodeBase, io.ComfyNode):
@classmethod
def define_schema(cls):
return io.Schema(
@@ -158,7 +160,7 @@ class ImageFilter(io.ComfyNode, FilterNodeBase):
return io.NodeOutput(images, latents, masks, e1, e2, e3, ",".join(str(x+pick_list_start) for x in images_to_return))
class TextImageFilterWithExtras(io.ComfyNode, FilterNodeBase):
class TextImageFilter(FilterNodeBase, io.ComfyNode):
@classmethod
def define_schema(cls):
@@ -209,7 +211,6 @@ class TextImageFilterWithExtras(io.ComfyNode, FilterNodeBase):
return io.NodeOutput(image, text, extra1, extra2, extra3)
return io.NodeOutput(image, response.text, *response.get_extras((extra1, extra2, extra3)))
def mask_to_image(mask:torch.Tensor):
return torch.stack([mask, mask, mask, 1.0-mask], -1)
@@ -253,7 +254,7 @@ class InOutStore:
finally:
self.previous_inputs = [ make_copy(x) for x in args ]
class MaskImageFilter(io.ComfyNode, FilterNodeBase):
class MaskImageFilter(FilterNodeBase, io.ComfyNode):
@classmethod
def define_schema(cls):
return io.Schema(
@@ -331,8 +332,4 @@ class MaskImageFilter(io.ComfyNode, FilterNodeBase):
iostore.last_output = ( image.clone(), mask.clone(), *response.get_extras((extra1, extra2, extra3)) )
if (image.shape[0:3] != mask.shape[0:3]):
print(f"Mask shape {mask.shape} does not match image shape {image.shape}")
return io.NodeOutput( *iostore.get_last() )
@classmethod
def fingerprint_inputs(cls, **kwargs) -> Any:
return random.random()
return io.NodeOutput( *iostore.get_last() )