python-pyssim/numpy120.patch

70 lines
2.4 KiB
Diff

From fa854ac6b4c2a691a418cfac0eb5a2305731576c Mon Sep 17 00:00:00 2001
From: "adria.labay" <adria.labay@gmail.com>
Date: Wed, 8 Feb 2023 15:40:36 +0100
Subject: [PATCH] support numpy 1.20
---
ssim/utils.py | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
Index: pyssim-0.5/ssim/utils.py
===================================================================
--- pyssim-0.5.orig/ssim/utils.py
+++ pyssim-0.5/ssim/utils.py
@@ -2,31 +2,29 @@
from __future__ import absolute_import
-import numpy
-from numpy.ma.core import exp
+import numpy as np
import scipy.ndimage
from ssim.compat import ImageOps
+
def convolve_gaussian_2d(image, gaussian_kernel_1d):
"""Convolve 2d gaussian."""
- result = scipy.ndimage.filters.correlate1d(
+ result = scipy.ndimage.correlate1d(
image, gaussian_kernel_1d, axis=0)
- result = scipy.ndimage.filters.correlate1d(
+ return scipy.ndimage.correlate1d(
result, gaussian_kernel_1d, axis=1)
- return result
+
def get_gaussian_kernel(gaussian_kernel_width=11, gaussian_kernel_sigma=1.5):
"""Generate a gaussian kernel."""
# 1D Gaussian kernel definition
- gaussian_kernel_1d = numpy.ndarray((gaussian_kernel_width))
- norm_mu = int(gaussian_kernel_width / 2)
+ gaussian_kernel_1d = np.arange(0, gaussian_kernel_width, 1.)
+ gaussian_kernel_1d -= gaussian_kernel_width / 2
+ gaussian_kernel_1d = np.exp(-0.5 * gaussian_kernel_1d**2 /
+ gaussian_kernel_sigma**2)
+ return gaussian_kernel_1d / np.sum(gaussian_kernel_1d)
- # Fill Gaussian kernel
- for i in range(gaussian_kernel_width):
- gaussian_kernel_1d[i] = (exp(-(((i - norm_mu) ** 2)) /
- (2 * (gaussian_kernel_sigma ** 2))))
- return gaussian_kernel_1d / numpy.sum(gaussian_kernel_1d)
def to_grayscale(img):
"""Convert PIL image to numpy grayscale array and numpy alpha array.
@@ -37,11 +35,11 @@ def to_grayscale(img):
Returns:
(gray, alpha): both numpy arrays.
"""
- gray = numpy.asarray(ImageOps.grayscale(img)).astype(numpy.float)
+ gray = np.asarray(ImageOps.grayscale(img)).astype(float)
imbands = img.getbands()
alpha = None
if 'A' in imbands:
- alpha = numpy.asarray(img.split()[-1]).astype(numpy.float)
+ alpha = np.asarray(img.split()[-1]).astype(float)
return gray, alpha