Hello community,
here is the log from the commit of package python-scikit-image for
openSUSE:Factory checked in at 2020-09-04 10:57:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-scikit-image (Old)
and /work/SRC/openSUSE:Factory/.python-scikit-image.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scikit-image"
Fri Sep 4 10:57:00 2020 rev:14 rq:826034 version:0.17.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-scikit-image/python-scikit-image.changes
2020-05-20 18:36:44.708140526 +0200
+++
/work/SRC/openSUSE:Factory/.python-scikit-image.new.3399/python-scikit-image.changes
2020-09-04 10:58:23.554600233 +0200
@@ -1,0 +2,31 @@
+Wed Aug 12 10:22:23 UTC 2020 - Benjamin Greiner <[email protected]>
+
+- Apply patches to fix errors due to numpy warnings
+ * scikit-image-pr4731-floatingwarnings.patch
+ gh#scikit-image/scikit-image#4731
+ * scikit-image-pr4735-ragged.patch
+ gh#scikit-image/scikit-image#4735
+- Update requirements
+- make multibuild
+
+-------------------------------------------------------------------
+Sat May 30 23:41:41 UTC 2020 - Arun Persaud <[email protected]>
+
+- update to version 0.17.2:
+ * Bug fixes
+ + We made pooch an optional dependency, since it has been added as
+ required dependency by mistake (#4666), and we fixed a bug about
+ the path used for pooch to download data (#4662)
+ + The support of float 32 images was corrected for slic
+ segmentation, ORB and BRIEF feature detectors (#4683, #4684,
+ #4685, #4696, #4697)
+ + We removed deprecated arguments (#4691)
+ mask, shift_x, and shift_y from skimage.filters.median
+ beta1 and beta2 from skimage.filters.frangi
+ beta1 and beta2 from skimage.filters.hessian
+ dtype from skimage.io.imread
+ img from skimage.morphology.skeletonize_3d.
+ + Gallery examples were updated to suppress warnings and take into
+ account new default values in some functions (#4692 and #4676)
+
+-------------------------------------------------------------------
@@ -4,0 +36,126 @@
+
+-------------------------------------------------------------------
+Sat May 9 16:20:28 UTC 2020 - Arun Persaud <[email protected]>
+
+- update to version 0.17.1:
+ * fixed bug in label2rgb
+
+- changes from version 0.17.0:
+ * New Features
+ + Hyperparameter calibration of denoising algorithms with
+ restoration.calibrate_denoiser (#3824), with corresponding
+ gallery example and tutorial.
+ + measure.profile_line has a new reduce_func parameter to accept a
+ reduction operation to be computed on pixel values along the
+ profile (#4206)
+ + nD windows for reducing spectral leakage when computing the FFT
+ of n-dimensional images, with filters.window (#4252) (with new
+ gallery example)
+ + Add Minkowski distance metric support to corner_peak (#4218)
+ + util.map_array was introduced to map a set of pixel values to
+ another one (for example to map region labels to the size of
+ regions in an image of labels) #4612 and #4646
+ + Masked marching cubes (#3829)
+ + The SLIC superpixel algorithm now accepts a mask to exclude some
+ parts of the image and force the superpixel boundaries to follow
+ the boundary of the mask (#3850)
+ + Pooch -- on the fly download of datasets from github: we
+ introduced the possibility to include larger datasets in the
+ data submodule, thanks to the pooch library. data.download_all
+ fetches all datasets. (#3945)
+ + Starting with this version, our gallery examples now have links
+ to run the example notebook on a binder instance. (#4543)
+ + New doc tutorials and gallery examples have been added to the
+ use of regionprops_table (#4348) geometrical transformations
+ (#4385), and the registration of rotation and scaling with no
+ shared center (#4515). A new section on registration has been
+ added to the gallery (#4575).
+ * Improvements
+ + scikit-image aims at being fully compatible with 3D arrays, and
+ when possible with nD arrays. nD support has been added to color
+ conversion functions (#4418), to the CLAHE
+ exposure.equalize_adapthist algorithm (#4598) and to the Sobel,
+ Scharr, and Prewitt filters (#4347).
+ + Multichannel support for denoise_tv_bregman (#4446)
+ + The memory footprint of segmentation.relabel_sequential has been
+ reduced in the case of labels much larger than the number of
+ labels (#4612)
+ + Random ellipses are now possible in draw.random_shapes (#4493)
+ + Add border conditions to ridge filters (#4396)
+ + segmentation.random_walker new Jacobi preconditioned conjugate
+ gradient mode (#4359) and minor corrections #4630
+ + Warn when rescaling with NaN in exposure.intensity_range (#4265)
+ + We have also improved the consistency of several functions
+ regarding the way they handle data types
+ + Make dtype consistent in filters.rank functions (#4289)
+ + Fix colorconv float32 to double cast (#4296)
+ + Prevent radon from upcasting float32 arrays to double (#4297)
+ + Manage iradon_sart input and output data type (#4300)
+ * API Changes
+ + When used with floating point inputs, denoise_wavelet no longer
+ rescales the range of the data or clips the output to the range
+ [0, 1] or [-1, 1]. For non-float inputs, rescaling and clipping
+ still occurs as in prior releases (although with a bugfix
+ related to the scaling of sigma).
+ + For 2D input, edge filters (Sobel, Scharr, Prewitt, Roberts, and
+ Farid) no longer set the boundary pixels to 0 when a mask is not
+ supplied. This was changed because the boundary mode for
+ scipy.ndimage.convolve is now 'reflect', which allows meaningful
+ values at the borders for these filters. To retain the old
+ behavior, pass mask=np.ones(image.shape, dtype=bool) (#4347)
+ + When out_range is a range of numbers and not a dtype in
+ :func:`skimage.exposure.rescale_intensity`, the output data type
+ will always be float (#4585)
+ + The values returned by
+ :func:`skimage.exposure.equalize_adapthist` will be slightly
+ different from previous versions due to different rounding
+ behavior (#4585)
+ + Move masked_register_translation from feature to registration
+ (#4503)
+ + Move register_translation from skimage.feature to
+ skimage.registration (#4502)
+ + Move watershed from morphology to segmentation (#4443)
+ + Rename draw.circle() to draw.disk() (#4428)
+ + The forward and backward maps returned by
+ :func:`skimage.segmentation.relabel_sequential` are no longer
+ NumPy arrays, but more memory-efficient ArrayMap objects that
+ behave the same way for mapping. See the relabel_sequential
+ documentation for more details. To get NumPy arrays back, cast
+ it as a NumPy array: np.asarray(forward_map) (#4612)
+ * Bugfixes
+ + denoise_wavelet: For user-supplied sigma, if the input image
+ gets rescaled via img_as_float, the same scaling will be applied
+ to sigma to preserve the relative scale of the noise
+ estimate. To restore the old, behaviour, the user can manually
+ specify rescale_sigma=False.
+ + Fix Frangi artefacts around the image (#4343)
+ + Fix Negative eigenvalue in inertia_tensor_eigvals due to
+ floating point precision (#4589)
+ + Fix morphology.flood for F-ordered images (#4556)
+ + Fix h_maxima/minima strange behaviors on floating point image
+ input (#4496)
+ + Fix peak_local_max coordinates ordering (#4501)
+ + Sort naturally peaks coordinates of same amplitude in
+ peak_local_max (#4582)
+ + Fix denoise_nl_means data type management (#4322)
+ + Update rescale_intensity to prevent under/overflow and produce
+ proper output dtype (#4585)
+ * Deprecations
+ + The minimal supported Python version by this release is 3.6.
+ + Parameter inplace in skimage.morphology.flood_fill has been
+ deprecated in favor of in_place and will be removed in version
+ scikit-image 0.19.0 (#4250).
+ + skimage.segmentation.circle_level_set has been deprecated and
+ will be removed in 0.19. Use skimage.segmentation.disk_level_set
+ instead.
+ + skimage.draw.circle has been deprecated and will be removed in
+ 0.19. Use skimage.draw.disk instead.
+ + Deprecate filter argument in iradon due to clash with python
+ keyword (#4158)
+ + Deprecate marching_cubes_classic (#4287)
+ + Change label2rgb default background value from -1 to 0 (#4614)
+ + Deprecate rgb2grey and grey2rgb (#4420)
+ + Complete deprecation of circle in morphsnakes (#4467)
+ + Deprecate non RGB image conversion in rgb2gray (#4838, #4439),
+ and deprecate non gray scale image conversion in gray2rgb
+ (#4440)
Old:
----
scikit-image-0.16.2.tar.gz
New:
----
_multibuild
scikit-image-0.17.2.tar.gz
scikit-image-pr4731-floatingwarnings.patch
scikit-image-pr4735-ragged.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-scikit-image.spec ++++++
--- /var/tmp/diff_new_pack.aqE2V4/_old 2020-09-04 10:58:38.510608245 +0200
+++ /var/tmp/diff_new_pack.aqE2V4/_new 2020-09-04 10:58:38.510608245 +0200
@@ -17,48 +17,65 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test"
+%define psuffix -test
+%bcond_without test
+%else
+%define psuffix %{nil}
+%bcond_with test
+%endif
%define skip_python2 1
-Name: python-scikit-image
-Version: 0.16.2
+Name: python-scikit-image%{psuffix}
+Version: 0.17.2
Release: 0
Summary: Collection of algorithms for image processing in Python
License: BSD-3-Clause
URL: https://scikit-image.org/
Source0:
https://files.pythonhosted.org/packages/source/s/scikit-image/scikit-image-%{version}.tar.gz
-BuildRequires: %{python_module Cython >= 0.23.4}
+# PATCH-FIX-UPSTREAM https://github.com/scikit-image/scikit-image/pull/4731
+Patch0: scikit-image-pr4731-floatingwarnings.patch
+# PATCH-FIX-UPSTREAM https://github.com/scikit-image/scikit-image/pull/4735
+Patch1: scikit-image-pr4735-ragged.patch
+BuildRequires: %{python_module Cython >= 0.29.13}
BuildRequires: %{python_module devel}
-BuildRequires: %{python_module numpy-devel >= 1.11}
-BuildRequires: %{python_module scipy >= 0.17}
+BuildRequires: %{python_module numpy-devel >= 1.15.1}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module six >= 1.7.3}
BuildRequires: fdupes
BuildRequires: freeimage-devel
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
-Requires: python-Pillow >= 2.1.0
-Requires: python-PyWavelets >= 0.4.0
-Requires: python-matplotlib >= 1.3.1
-Requires: python-networkx >= 1.8
-Requires: python-numpy >= 1.11
-Requires: python-scipy >= 0.17
-Requires: python-six >= 1.7.3
+Requires: python-Pillow >= 4.3.0
+Requires: python-PyWavelets >= 1.1.1
+Requires: python-imageio >= 2.3.0
+Requires: python-matplotlib >= 2.0.0
+Requires: python-networkx >= 2.0
+Requires: python-numpy >= 1.15.1
+Requires: python-scipy >= 1.0.1
+Requires: python-tifffile >= 2019.7.26
Requires(post): update-alternatives
Requires(preun): update-alternatives
+Recommends: python-QtPy
Recommends: python-SimpleITK
-Recommends: python-astropy
-Recommends: python-dask-array >= 0.5.0
-Recommends: python-imread
+Recommends: python-astropy >= 1.2.0
+Recommends: python-cloudpickle >= 0.2.1
+Recommends: python-dask-array >= 0.15.0
+Recommends: python-imread >= 0.5.1
Recommends: python-pyamg
-Recommends: python-qt4
-# SECTION test requirements
-BuildRequires: %{python_module Pillow >= 2.1.0}
-BuildRequires: %{python_module PyWavelets >= 0.4.0}
-BuildRequires: %{python_module imageio}
-BuildRequires: %{python_module matplotlib >= 1.3.1}
-BuildRequires: %{python_module networkx >= 1.8}
+Recommends: python-pooch >= 0.5.2
+%if %{with test}
+BuildRequires: %{python_module Pillow >= 4.3.0}
+BuildRequires: %{python_module PyWavelets >= 1.1.1}
+BuildRequires: %{python_module imageio >= 2.3.0}
+BuildRequires: %{python_module matplotlib >= 2.0.0}
+BuildRequires: %{python_module networkx >= 2.0}
BuildRequires: %{python_module pytest >= 4.0}
BuildRequires: %{python_module pytest-localserver}
BuildRequires: %{python_module pytest-xdist}
+BuildRequires: %{python_module scikit-image = %{version}}
+BuildRequires: %{python_module scipy >= 1.0.1}
+BuildRequires: %{python_module tifffile >= 2019.7.26}
+%endif
# /SECTION
%python_subpackages
@@ -67,37 +84,54 @@
It is available free of charge and free of restriction.
%prep
+%if !%{with test}
%setup -q -n scikit-image-%{version}
%autopatch -p1
+#remove shebang
+sed -i '1 {\@usr/bin/env@ d}' skimage/*/setup.py skimage/future/graph/setup.py
+%else
+%setup -q -c scikit-image-%{version}-test -D -T
+%endif
%build
+%if !%{with test}
%python_build
+%endif
%install
+%if !%{with test}
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%python_clone -a %{buildroot}%{_bindir}/skivi
+%endif
+%if !%{with test}
%post
%python_install_alternative skivi
%preun
%python_uninstall_alternative skivi
+%endif
+%if %{with test}
%check
-export PYTHONDONTWRITEBYTECODE=1 # do not write unreproducible
test_random_walker.cpython-37-PYTEST.pyc files (boo#1062303)
-mv skimage skimage_temp
# test_wrap_around - fails randomly
https://github.com/scikit-image/scikit-image/issues/3237
+skiptests="test_wrap_around"
# test_structural_similarity_dtype - also fails randomly on 32bit
-%pytest_arch -v %{buildroot}%{$python_sitearch}/skimage -n auto -k 'not
(test_wrap_around or test_structural_similarity_dtype)'
-mv skimage_temp skimage
+skiptests+=" or test_structural_similarity_dtype"
+# test_colorconv.py hdx and hed tests segfault
+skiptests+=" or test_hdx_rgb or test_hed_rgb"
+%pytest_arch -v --pyargs skimage -n auto -k "not ($skiptests)"
+%endif
+%if !%{with test}
%files %{python_files}
%license LICENSE.txt
%doc CONTRIBUTORS.txt TODO.txt
%python_alternative %{_bindir}/skivi
%{python_sitearch}/skimage/
%{python_sitearch}/scikit_image-%{version}-py*.egg-info
+%endif
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>test</package>
</multibuild>
++++++ scikit-image-0.16.2.tar.gz -> scikit-image-0.17.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-scikit-image/scikit-image-0.16.2.tar.gz
/work/SRC/openSUSE:Factory/.python-scikit-image.new.3399/scikit-image-0.17.2.tar.gz
differ: char 5, line 1
++++++ scikit-image-pr4731-floatingwarnings.patch ++++++
>From 9c4c033949582868903edcbcf721a50f0e1eca30 Mon Sep 17 00:00:00 2001
From: rfezzani <[email protected]>
Date: Wed, 20 May 2020 13:04:32 +0200
Subject: [PATCH 1/2] Prevent type convertion to np.floating
---
skimage/util/dtype.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/skimage/util/dtype.py b/skimage/util/dtype.py
index d76fb2c5d8..8e6c00b4bf 100644
--- a/skimage/util/dtype.py
+++ b/skimage/util/dtype.py
@@ -244,6 +244,8 @@ def _convert(image, dtype, force_copy=False, uniform=False):
if force_copy:
image = image.copy()
return image
+ else:
+ dtype = np.float64
if not (dtype_in in _supported_types and dtype_out in _supported_types):
raise ValueError("Can not convert from {} to {}."
>From b0886dbdbf3031e0c13932942892b33c3cbc9b1c Mon Sep 17 00:00:00 2001
From: rfezzani <[email protected]>
Date: Wed, 20 May 2020 23:46:23 +0200
Subject: [PATCH 2/2] Fix conversion to np.floating
---
skimage/util/dtype.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/skimage/util/dtype.py b/skimage/util/dtype.py
index 8e6c00b4bf..47dc0a8144 100644
--- a/skimage/util/dtype.py
+++ b/skimage/util/dtype.py
@@ -223,7 +223,10 @@ def _convert(image, dtype, force_copy=False,
uniform=False):
"""
image = np.asarray(image)
dtypeobj_in = image.dtype
- dtypeobj_out = np.dtype(dtype)
+ if dtype is np.floating:
+ dtypeobj_out = np.dtype('float64')
+ else:
+ dtypeobj_out = np.dtype(dtype)
dtype_in = dtypeobj_in.type
dtype_out = dtypeobj_out.type
kind_in = dtypeobj_in.kind
@@ -244,8 +247,6 @@ def _convert(image, dtype, force_copy=False, uniform=False):
if force_copy:
image = image.copy()
return image
- else:
- dtype = np.float64
if not (dtype_in in _supported_types and dtype_out in _supported_types):
raise ValueError("Can not convert from {} to {}."
++++++ scikit-image-pr4735-ragged.patch ++++++
>From 02b7ff947c20a5b428f1345ae959331a6889f707 Mon Sep 17 00:00:00 2001
From: rfezzani <[email protected]>
Date: Thu, 21 May 2020 00:24:39 +0200
Subject: [PATCH] Fix array ragged input numpy deprecation
---
skimage/transform/radon_transform.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/skimage/transform/radon_transform.py
b/skimage/transform/radon_transform.py
index 87c13e95c0..27885052c1 100644
--- a/skimage/transform/radon_transform.py
+++ b/skimage/transform/radon_transform.py
@@ -75,7 +75,8 @@ def radon(image, theta=None, circle=True, *,
preserve_range=False):
shape_min = min(image.shape)
radius = shape_min // 2
img_shape = np.array(image.shape)
- coords = np.array(np.ogrid[:image.shape[0], :image.shape[1]])
+ coords = np.array(np.ogrid[:image.shape[0], :image.shape[1]],
+ dtype=object)
dist = ((coords - img_shape // 2) ** 2).sum(0)
outside_reconstruction_circle = dist > radius ** 2
if np.any(image[outside_reconstruction_circle]):