From bae26a07fb02dd518c621eba28986a51c5d086bc Mon Sep 17 00:00:00 2001 From: Mel Massadian Date: Fri, 27 Dec 2024 19:29:34 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20add=20filtering=20to=20Tran?= =?UTF-8?q?sformImage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes #209 --- nodes/image_processing.py | 4 +--- nodes/transform.py | 31 ++++++++++++++++++++++++++++++- wiki | 2 +- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/nodes/image_processing.py b/nodes/image_processing.py index e459c3a..8235913 100644 --- a/nodes/image_processing.py +++ b/nodes/image_processing.py @@ -702,7 +702,6 @@ class MTB_Blur: ) blurred_images.append(blurred) - image_np = np.array(blurred_images) else: for i in range(image.size(0)): blurred = gaussian( @@ -710,8 +709,7 @@ class MTB_Blur: ) blurred_images.append(blurred) - image_np = np.array(blurred_images) - return (np2tensor(image_np).squeeze(0),) + return (np2tensor(blurred_images),) class MTB_Sharpen: diff --git a/nodes/transform.py b/nodes/transform.py index febfe92..381c33d 100644 --- a/nodes/transform.py +++ b/nodes/transform.py @@ -45,6 +45,19 @@ class MTB_TransformImage: ), "constant_color": ("COLOR", {"default": "#000000"}), }, + "optional": { + "filter_type": ( + [ + "nearest", + "box", + "bilinear", + "hamming", + "bicubic", + "lanczos", + ], + {"default": "bilinear"}, + ), + }, } FUNCTION = "transform" @@ -61,7 +74,18 @@ class MTB_TransformImage: shear: float, border_handling="edge", constant_color=None, + filter_type="nearest", ): + filter_map = { + "nearest": Image.NEAREST, + "box": Image.BOX, + "bilinear": Image.BILINEAR, + "hamming": Image.HAMMING, + "bicubic": Image.BICUBIC, + "lanczos": Image.LANCZOS, + } + resampling_filter = filter_map[filter_type] + x = int(x) y = int(y) angle = int(angle) @@ -115,7 +139,12 @@ class MTB_TransformImage: img = cast( Image.Image, TF.affine( - img, angle=angle, scale=zoom, translate=[x, y], shear=shear + img, + angle=angle, + scale=zoom, + translate=[x, y], + shear=shear, + interpolation=resampling_filter, ), ) diff --git a/wiki b/wiki index a402de4..fa7fec2 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit a402de4af9cb6d328625496d9931f6b51b9d5225 +Subproject commit fa7fec28a360b43b6c9ae7ee49a29b4c2cc76184