Many thanks to Emma for managing this release! It was not an easy one! On Fri, 8 May 2020, at 4:18 PM, Emmanuelle Gouillart wrote:
Announcement: scikit-image 0.17.1 =================================
We're happy to announce the release of scikit-image v0.17.1!
scikit-image is an image processing toolbox for SciPy that includes algorithms for segmentation, geometric transformations, color space manipulation, analysis, filtering, morphology, feature detection, and more.
For more information, examples, and documentation, please visit our website:
Many thanks to the 54 authors who contributed the amazing number of 213 merged pull requests! scikit-image is a community-based project and we are happy that this number includes first-time contributors to scikit-image.
Special thanks for the release to the Cython team, who helped us make our code compatible with their coming Cython 3.0 release. The full release notes are available on https://scikit-image.org/docs/stable/release_notes_and_installation.html?hig...
Please report any bug reports or suggestions on https://github.com/scikit-image/scikit-image/issues/new. Community support is available on https://forum.image.sc/tag/scikit-image.
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)
(other small bug fixes are part of the list of other pull requests at the end)
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)
54 authors added to this release [alphabetical by first name or login] ----------------------------------------------------------------------
- aadideshpande (aadideshpande) - Alexandre de Siqueira - Asaf Kali - Cedric - D-Bhatta (D-Bhatta) - Danielle - Davis Bennett - Dhiren Serai - Dylan Cutler - Egor Panfilov - Emmanuelle Gouillart - Eoghan O'Connell - Eric Jelli - Eric Perlman - erjel (erjel) - Evan Widloski - François Boulogne - Gregory R. Lee - Hazen Babcock - Jan Eglinger - Joshua Batson - Juan Nunez-Iglesias - Justin Terry - kalvdans (kalvdans) - Karthikeyan Singaravelan - Lars Grüter - Leengit (Leengit) - leGIT-bot (leGIT-bot) - LGiki - Marianne Corvellec - Mark Harfouche - Marvin Albert - mellertd (Dave Mellert) - Miguel de la Varga - Mostafa Alaa - Mojdeh Rastgoo (mrastgoo) - notmatthancock (matt) - Ole Streicher - Riadh Fezzani - robroooh (robroooh) - SamirNasibli - schneefux (schneefux) - Scott Sievert - Stefan van der Walt - Talley Lambert - Tim Head (betatim) - Thomas A Caswell - Timothy Sweetser - Tony Tung - Uwe Schmidt - VolkerH (VolkerH) - Xiaoyu Wu - Yuanqin Lu - Zaccharie Ramzi - Zhōu Bówēi 周伯威
_______________________________________________ scikit-image mailing list -- scikit-image@python.org To unsubscribe send an email to scikit-image-leave@python.org https://mail.python.org/mailman3/lists/scikit-image.python.org/ Member address: jni@fastmail.com