Skip to content

Commit 8dadf28

Browse files
Copilotadamjtaylor
andcommitted
Fix division by zero and optimize min/max calculations
- Cache min/max values to avoid redundant calculations - Add division by zero protection when normalizing arrays Co-authored-by: adamjtaylor <14945787+adamjtaylor@users.noreply.github.com>
1 parent 7f45ad2 commit 8dadf28

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

modules/make_miniature.nf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,14 @@ process make_miniature {
3535
# Ensure proper data type for PIL (uint8)
3636
if img_array.dtype != np.uint8:
3737
# Scale to uint8 range if needed
38-
if img_array.max() > 255:
39-
img_array = ((img_array - img_array.min()) / (img_array.max() - img_array.min()) * 255).astype(np.uint8)
38+
img_min = img_array.min()
39+
img_max = img_array.max()
40+
if img_max > 255:
41+
# Avoid division by zero
42+
if img_max > img_min:
43+
img_array = ((img_array - img_min) / (img_max - img_min) * 255).astype(np.uint8)
44+
else:
45+
img_array = np.zeros_like(img_array, dtype=np.uint8)
4046
else:
4147
img_array = img_array.astype(np.uint8)
4248

0 commit comments

Comments
 (0)