diff --git a/CHANGELOG.md b/CHANGELOG.md index 911b0604f..17cee8e61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - Fix styling images with empty tile layers ([#1650](../../pull/1650)) - Add a guard around sorting item lists ([#1663](../../pull/1663)) +- Fix some issues with possible numpy 2.x overflows ([#1672](../../pull/1672)) ## 1.29.11 diff --git a/large_image/tilesource/base.py b/large_image/tilesource/base.py index 633eaa88b..0d2b03b08 100644 --- a/large_image/tilesource/base.py +++ b/large_image/tilesource/base.py @@ -618,11 +618,11 @@ def histogram( # noqa if results is None or onlyMinMax: return results results['histogram'] = [{ - 'min': results['min'][idx], - 'max': results['max'][idx], - 'mean': results['mean'][idx], - 'stdev': results['stdev'][idx], - 'range': ((results['min'][idx], results['max'][idx] + 1) + 'min': float(results['min'][idx]), + 'max': float(results['max'][idx]), + 'mean': float(results['mean'][idx]), + 'stdev': float(results['stdev'][idx]), + 'range': ((float(results['min'][idx]), float(results['max'][idx]) + 1) if histRange is None or histRange == 'round' else histRange), 'hist': None, 'bin_edges': None, diff --git a/sources/pil/large_image_source_pil/__init__.py b/sources/pil/large_image_source_pil/__init__.py index a316fef1f..f8ee1bbe7 100644 --- a/sources/pil/large_image_source_pil/__init__.py +++ b/sources/pil/large_image_source_pil/__init__.py @@ -175,7 +175,7 @@ def __init__(self, path, maxSize=None, **kwargs): # noqa except Exception: msg = 'PIL cannot find loader for this file.' raise TileSourceError(msg) - maxval = 256 ** math.ceil(math.log(np.max(imgdata) + 1, 256)) - 1 + maxval = 256 ** math.ceil(math.log(float(np.max(imgdata)) + 1, 256)) - 1 self._factor = 255.0 / max(maxval, 1) self._pilImage = PIL.Image.fromarray(np.uint8(np.multiply( imgdata, self._factor)))