Merge pull request #7593 from florath/ImageStat_getextrema_opt

Optimize ImageStat.Stat._getextrema function
This commit is contained in:
Andrew Murray 2023-12-06 17:27:56 +11:00 committed by GitHub
commit e9afaee248
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -51,13 +51,16 @@ class Stat:
"""Get min/max values for each band in the image"""
def minmax(histogram):
n = 255
x = 0
res_min, res_max = 255, 0
for i in range(256):
if histogram[i]:
n = min(n, i)
x = max(x, i)
return n, x # returns (255, 0) if there's no data in the histogram
res_min = i
break
for i in range(255, -1, -1):
if histogram[i]:
res_max = i
break
return res_min, res_max
return [minmax(self.h[i:]) for i in range(0, len(self.h), 256)]