github scikit-image/scikit-image v0.23.0rc2

latest releases: v0.23.2, v0.23.2rc1, v0.23.2rc0...
pre-release18 days ago

scikit-image 0.23.0rc2

We're happy to announce the release of scikit-image 0.23.0rc2!

New Features

  • Add new intensity_std property to skimage.measure.regionprops which computes the standard deviation of the intensity in a region (#6712).
  • Add parameters mode and cval to erosion, dilation, opening, closing, white_tophat, and black_tophat in skimage.morphology. These new parameters determine how array borders are handled (#6695).
  • Add functions mirror_footprint and pad_footprint to skimage.morphology (#6695).
  • Add parameter mode to binary_erosion, binary_dilation, binary_opening and binary_closing in skimage.morphology. These new parameters determine how array borders are handled (#6695).
  • Add new parameter spacing to segmentation.expand_labels to support anisotropic images (#7080).

API Changes

  • Drop support for Python 3.9 (#7217).
  • Parameters shift_x and shift_y in skimage.morphology.erosion and skimage.morphology.dilation are deprecated. Use pad_footprint or modify the footprint manually instead (#6695).
  • Remove unexpected value scaling in skimage.morphology.skeletonize_3d for non-binary input images. skeletonize_3d now always returns a binary array like similar functions (#7095).
  • Deprecate function skimage.feature.plot_matches in favor of skimage.feature.plot_matched_features (#7255).
  • Deprecate skimage.morphology.skeletonize_3d in favor of just skimage.morphology.skeletonize` (#7094).
  • Deprecate parameter output in skimage.filters.gaussian; use out instead (#7225).
  • Change the default value of the parameters shift_x, shift_y and shift_z from False to 0 in the skimage.filters.rank functions. This has not impact on the results. Warn in case boolean shifts are provided from now on (#7320).


  • Add lazy loading to skimage.metrics module (#7211).
  • Speedup skimage.util.map_array by parallelization with Cython's prange (#7266).

Bug Fixes

  • Add exception to avoid surprising result when image is too small for the given parameters in skimage.feature.hog (#7153).
  • Ensure skimage.morphology.closing and skimage.morphology.opening are extensive and anti-extensive, respectively, if the footprint is not mirror symmetric (#6695).
  • Avoid a TypeError in skimage.registration.phase_cross_correlation when the real-time shift cannot be determined (disambiguate=True). Display a warning instead (#7259).
  • Fix logic in skimage.graph.pixel_graph which raised a TypeError when the parameter edge_function was provided without a mask (#7310).
  • Ensure cache stays empty when cache=False is passed to skimage.measure.regionprops (#7333).


  • Update instructions for updating dev environment (#7160).
  • Make titles in RAG gallery examples more explicit (#7202).
  • Add docstring to skimage.graph module (#7192).
  • Use consistent notation for array dimensions in the docstrings (#3031).
  • Specify default markers in watershed docstring (#7154).
  • Stop HTML documentation from intercepting left and right-arrow keys to improve keyboard accessibility (#7226).
  • Fix reference formatting for nitpicky sphinx (#7228).
  • Document how to deal with other array-likes such as xarray.DataArray and pandas.DataFrame in the crash course on NumPy for images (#7159).
  • Fix broken function calls and syntax issues in user guide (#7234).
  • Use correct default mode in docstring of skimage.transform.swirl (#7241).
  • Add missing documentation about spacing parameter in moments_normalized (#7248).
  • Update docstring & example in the hough_ellipse transform (#6893).
  • Point binder tag/branch to commit corresponding to docs/release (#7252).
  • Add example to FundamentalMatrixTransform class (#6863).
  • Adds explanation of what the optional dependency on Matplotlib offers to the install instructions (#7286).
  • Function docstring was changed to follow the conventions adopted in the original paper. τ was replaced with θ (#7314).
  • The description of the parameter cval is modified in "int or float". cval is a numerical value not a string (#7319).
  • Remove obsolete instruction about documenting changes (#7321).
  • Added comment to clarify that dt corresponds to tau, i.e. the time step. Changed gray scale in grayscale in the entire registration module (#7324).
  • Create (#7230).
  • Remove deprecated parameter coordinates from docstring example of skimage.segmentation.active_contour (#7329).
  • Include dates in release note headings (#7269).
  • Update description of how to document pull requests for inclusion in the release notes (#7267).
  • Clarify description of data_range parameter in skimage.metrics.structural_similarity (#7345).
  • Use object-oriented Matplotlib style in longer gallery examples and demonstrations (doc/examples/applications) (#7346).


  • Update wording on the stale bot to assume the core team dropped the ball (#7196).
  • Update Azure job name following the drop of Python 3.9 (#7218).
  • Schedule nightly wheel builds at uncommon time (#7254).
  • Build nightly wheels with nightly NumPy 2.0 (#7251).
  • Use pytest-doctestplus instead of classic pytest-doctest (#7289).
  • Update the scientific-python/upload-nightly-action to v0.5.0 for dependency stability and to take advantage of Anaconda Cloud upload bug fixes (#7325).
  • Add assert_stacklevel helper to check stacklevel of captured warnings (#7294).
  • Exclude pre-commit[bot] from changelist's contributor list (#7358).


  • Remove outdated & duplicate "preferred" field in version_switcher.json (#7184).
  • Upgrade to spin 0.7 (#7168).
  • Do not compare types, use isinstance (#7186).
  • [] pre-commit autoupdate (#7181).
  • Increase tolerance for moments test for 32 bit floats (#7188).
  • Temporarily pin Cython to <3.0.3 until CI is fixed (#7189).
  • Remove obsolete meson instructions (#7193).
  • Temporarily pin Cython to <3.0.3 until CI is fixed, take 2 (#7201).
  • Fix chocolatey (#7200).
  • Pin Pillow to <10.1.0 until incompatibility with imageio is fixed (#7208).
  • Use Black (#7197).
  • Apply black to after previous merge lacking black (#7215).
  • Unpin Cython after release of Cython 3.0.4 (#7214).
  • [] pre-commit autoupdate (#7236).
  • Cleanup for Python 3.12 (#7173).
  • Make Python 3.12 default CI Python (#7244).
  • Add explicit noexcept to address Cython 3.0 warnings (#7250).
  • Update imageio to fix Pillow incompatibility (#7245).
  • Upgrade docker/setup-qemu-action to v3 (#7134).
  • Fix warningfilter for deprecation in SciPy 1.12.0rc1 (#7275).
  • Update to numpy>=1.23 and matplotlib>=3.6 according to SPEC 0 (#7284).
  • Add new deprecate_parameter helper (#7256).
  • Update meson and Cython (#7283).
  • Handle floating point warning for empty images in skimage.registration.phase_cross_correlation (#7287).
  • Update spin (0.8) (#7285).
  • Complete deprecations that were scheduled for our 0.23 release. Remove now unused deprecate_kwarg and remove_arg; they are entirely succeeded by deprecate_parameter (#7290).
  • For security best practices, use the scientific-python/upload-nightly-action GitHub Action from known commit shas that correspond to tagged releases. These can be updated automatically via Dependabot (#7306).
  • Update pre-commits repos (#7303).
  • The test suite can now be run without numpydoc installed (#7307).
  • Deal with parallel write warning from Pydata theme (#7311).
  • Test nightly wheel build with NumPy 2.0 (#7288).
  • Make it clear that funcs in _optical_flow_utils are private (#7328).
  • Update dependencies (spec 0) (#7335).
  • Follow-up cleaning & fixes for compatibility with NumPy 1 & 2 (#7326).
  • Replace ignored teardown with autouse fixture in (#7340).
  • Address new copy semantics & broadcasting in np.solve in NumPy 2 (#7341).
  • Ignore table of execution times by Sphinx gallery (#7327).
  • Allow a very small floating point tolerance for pearson test (#7356).
  • Update numpydoc to version 1.7 (#7355).
  • [] pre-commit autoupdate (#7365).
  • Simplify warning filters in test suite (#7349).
  • Build against NumPy 2 (#7367).


29 authors added to this release (alphabetically):

21 reviewers added to this release (alphabetically):

These lists are automatically generated, and may not be complete or may contain duplicates.

Don't miss a new scikit-image release

NewReleases is sending notifications on new releases.