From ba921059cb775b5ecc9330bfd41b78b39b82356c Mon Sep 17 00:00:00 2001 From: Daniel Scheffler Date: Tue, 18 Aug 2020 12:09:29 +0200 Subject: [PATCH] Fixed DeprecationWarning related to skimage.measure.compare_ssim. Added minimal version of scikit-image. Updated HISTORY.rst. Signed-off-by: Daniel Scheffler --- HISTORY.rst | 8 +++++++- py_tools_ds/similarity/raster.py | 7 +++++-- py_tools_ds/version.py | 4 ++-- requirements.txt | 2 +- setup.py | 3 ++- tests/CI_docker/context/environment_py_tools_ds.yml | 2 +- 6 files changed, 18 insertions(+), 8 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 95002b7..d7c63f4 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -2,7 +2,13 @@ History ======= -0.14.31 (2020-08-17) +0.14.32 (2020-08-18) +-------------------- + +* Fixed DeprecationWarning related to skimage.measure.compare_ssim. Added minimal version of scikit-image. + + +0.14.31 (2020-08-18) -------------------- * Moved skimage import to functional level to avoid static TLS import error. diff --git a/py_tools_ds/similarity/raster.py b/py_tools_ds/similarity/raster.py index d1a4b49..e423609 100644 --- a/py_tools_ds/similarity/raster.py +++ b/py_tools_ds/similarity/raster.py @@ -36,10 +36,13 @@ def calc_ssim(image0, image1, dynamic_range=None, win_size=None, gaussian_weight :param gaussian_weights: :return: """ - from skimage.measure import compare_ssim as ssim # import here to avoid static TLS import error + from skimage.metrics import structural_similarity as ssim # import here to avoid static TLS import error if image0.dtype != image1.dtype: image0 = image0.astype(np.int16) image1 = image1.astype(np.int16) - return ssim(image0, image1, data_range=dynamic_range, win_size=win_size, gaussian_weights=gaussian_weights) + return ssim(image0, image1, + data_range=dynamic_range, + win_size=win_size, + gaussian_weights=gaussian_weights) diff --git a/py_tools_ds/version.py b/py_tools_ds/version.py index eb0be2a..f53a155 100644 --- a/py_tools_ds/version.py +++ b/py_tools_ds/version.py @@ -19,5 +19,5 @@ # You should have received a copy of the GNU Lesser General Public License along # with this program. If not, see . -__version__ = '0.14.31' -__versionalias__ = '20200818_01' +__version__ = '0.14.32' +__versionalias__ = '20200818_02' diff --git a/requirements.txt b/requirements.txt index 2223073..36642d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ kealib # fix for libkea.so.1.4.7: cannot open shared object file: No such file numpy shapely six -scikit-image +scikit-image>=0.16.0 pandas geopandas pyproj diff --git a/setup.py b/setup.py index 1d3a01c..e34d3fd 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,8 @@ version = {} with open("py_tools_ds/version.py") as version_file: exec(version_file.read(), version) -requirements = ['gdal>=2.1.0', 'numpy', 'shapely', 'six', 'pandas', 'scikit-image', 'geopandas', 'pyproj', 'spectral'] +requirements = ['gdal>=2.1.0', 'numpy', 'shapely', 'six', 'pandas', 'scikit-image>=0.16.0', 'geopandas', 'pyproj', + 'spectral'] setup_requirements = [] # TODO(danschef): put setup requirements (distutils extensions, etc.) here test_requirements = requirements + ["coverage", "nose", "nose2", "nose-htmloutput", "rednose"] diff --git a/tests/CI_docker/context/environment_py_tools_ds.yml b/tests/CI_docker/context/environment_py_tools_ds.yml index 2c37a2b..41c8558 100644 --- a/tests/CI_docker/context/environment_py_tools_ds.yml +++ b/tests/CI_docker/context/environment_py_tools_ds.yml @@ -11,7 +11,7 @@ dependencies: - conda-forge::libgdal # force to use conda-forge for libgdal to avoid package version incompatiblies due to mixed channels (libkea.so.1.4.7: cannot open shared object file: No such file or directory) # - kealib # fix for libkea.so.1.4.7: cannot open shared object file: No such file or directory (not needed as long as libgdal and gdal are conda-forge packages) - pyproj - - scikit-image + - scikit-image>=0.16.0 - geopandas - pip: - sphinx-argparse -- GitLab