From e804adeff38e1b78482b0cecdcc59abf3b04257c Mon Sep 17 00:00:00 2001 From: Leonid Kostrykin Date: Wed, 7 Jan 2026 18:11:13 +0100 Subject: [PATCH] Fix for `bool` images` --- lib/galaxy/tool_util/verify/__init__.py | 6 ++++++ test/functional/tools/image_diff.xml | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/lib/galaxy/tool_util/verify/__init__.py b/lib/galaxy/tool_util/verify/__init__.py index cac554dd0b7..66dda2ceda4 100644 --- a/lib/galaxy/tool_util/verify/__init__.py +++ b/lib/galaxy/tool_util/verify/__init__.py @@ -595,6 +595,12 @@ def files_image_diff(file1: str, file2: str, attributes: Optional[Dict[str, Any] if arr1.shape != arr2.shape: raise AssertionError(f"Image dimensions did not match ({arr1.shape}, {arr2.shape}).") + # Handle `bool` images by converting them to `uint8` + if numpy.issubdtype(arr1.dtype, bool): + arr1 = arr1.astype(numpy.uint8) + if numpy.issubdtype(arr2.dtype, bool): + arr2 = arr2.astype(numpy.uint8) + distance = get_image_metric(attributes)(arr1, arr2) distance_eps = attributes.get("eps", DEFAULT_EPS) if distance > distance_eps: diff --git a/test/functional/tools/image_diff.xml b/test/functional/tools/image_diff.xml index addb4ef24b4..d6d9f9b1ffb 100644 --- a/test/functional/tools/image_diff.xml +++ b/test/functional/tools/image_diff.xml @@ -27,6 +27,11 @@ + + + + +