Fix for bool images`

This commit is contained in:
Leonid Kostrykin
2026-01-07 18:11:13 +01:00
parent 1abfd2c204
commit e804adeff3
2 changed files with 11 additions and 0 deletions
+6
View File
@@ -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:
+5
View File
@@ -27,6 +27,11 @@
<param name="in" value="im4_float.tif" />
<output name="out" value="im4_float.tif" compare="image_diff" />
</test>
<!-- test pair of equal images (bool tiff) -->
<test>
<param name="in" value="im3_b_bool.tiff" />
<output name="out" value="im3_b_bool.tiff" compare="image_diff" metric="iou" pin_labels="0" />
</test>
<!-- test pair of different images -->
<test>
<param name="in" value="im2_a.png" />