Skip to content

Commit

Permalink
Designate 0.23.0rc1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
jarrodmillman committed Apr 4, 2024
1 parent e03867a commit 2d0b350
Show file tree
Hide file tree
Showing 2 changed files with 171 additions and 26 deletions.
195 changes: 170 additions & 25 deletions doc/source/release_notes/release_dev.rst
Original file line number Diff line number Diff line change
@@ -1,42 +1,187 @@
:orphan:

scikit-image 0.X.0 (not released)
=================================

scikit-image is an image processing library for the scientific Python
ecosystem that includes algorithms for segmentation, geometric
transformations, feature detection, registration, color space
manipulation, analysis, filtering, morphology, and more.
New Features
------------

For more information, examples, and documentation, please visit our website:
- Add new ``intensity_std`` property to ``skimage.measure.regionprops`` which computes the standard deviation of the intensity in a region (`#6712 <https://github.com/scikit-image/scikit-image/pull/6712>`_).
- Add functions ``mirror_footprint`` and ``pad_footprint`` to ``skimage.morphology`` (`#6695 <https://github.com/scikit-image/scikit-image/pull/6695>`_).
- 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 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/6695>`_).
- Add new parameter ``spacing`` to ``segmentation.expand_labels`` to support anisotropic images (`#7080 <https://github.com/scikit-image/scikit-image/pull/7080>`_).

https://scikit-image.org
API Changes
-----------

- Drop support for Python 3.9 (`#7217 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/7095>`_).
- Deprecate function ``skimage.feature.plot_matches`` in favor of ``skimage.feature.plot_matched_features`` (`#7255 <https://github.com/scikit-image/scikit-image/pull/7255>`_).
- Deprecate ``skimage.morphology.skeletonize_3d`` in favor of just skimage.morphology.skeletonize`` (`#7094 <https://github.com/scikit-image/scikit-image/pull/7094>`_).
- Deprecate parameter ``output`` in ``skimage.filters.gaussian``; use ``out`` instead (`#7225 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/7320>`_).

New Features
------------
Performance
-----------

- Add parameters ``mode`` and ``cval`` to ``erosion``, ``dilation``, ``opening``, ``closing``, ``white_tophat``, and ``black_tophat`` in ``skimage.morphology``;
add parameter ``mode`` to ``binary_erosion``, ``binary_dilation``, ``binary_opening`` and ``binary_closing`` in ``skimage.morphology``;
add functions ``mirror_footprint`` and ``pad_footprint`` to ``skimage.morphology``;
(`#6695 <https://github.com/scikit-image/scikit-image/pull/6695>`_).
- Add lazy loading to ``skimage.metrics`` module (`#7211 <https://github.com/scikit-image/scikit-image/pull/7211>`_).
- Speedup ``skimage.util.map_array`` by parallelization with Cython's ``prange`` (`#7266 <https://github.com/scikit-image/scikit-image/pull/7266>`_).

Improvements
------------
Bug Fixes
---------

- Add exception to avoid surprising result when image is too small for the given parameters in ``skimage.feature.hog`` (`#7153 <https://github.com/scikit-image/scikit-image/pull/7153>`_).
- Ensure ``skimage.morphology.closing`` and ``skimage.morphology.opening`` are extensive and anti-extensive, respectively, if the footprint is not mirror symmetric (`#6695 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/7259>`_).
- Fix logic in ``skimage.graph.pixel_graph`` which raised a ``TypeError`` when the parameter ``edge_function`` was provided without a ``mask`` (`#7310 <https://github.com/scikit-image/scikit-image/pull/7310>`_).
- Ensure cache stays empty when ``cache=False`` is passed to ``skimage.measure.regionprops`` (`#7333 <https://github.com/scikit-image/scikit-image/pull/7333>`_).

Documentation
-------------

- Update instructions for updating dev environment (`#7160 <https://github.com/scikit-image/scikit-image/pull/7160>`_).
- Make titles in RAG gallery examples more explicit (`#7202 <https://github.com/scikit-image/scikit-image/pull/7202>`_).
- Add docstring to ``skimage.graph`` module (`#7192 <https://github.com/scikit-image/scikit-image/pull/7192>`_).
- Use consistent notation for array dimensions in the docstrings (`#3031 <https://github.com/scikit-image/scikit-image/pull/3031>`_).
- Specify default markers in watershed docstring (`#7154 <https://github.com/scikit-image/scikit-image/pull/7154>`_).
- Stop HTML documentation from intercepting left and right-arrow keys to improve keyboard accessibility (`#7226 <https://github.com/scikit-image/scikit-image/pull/7226>`_).
- Fix reference formatting for nitpicky sphinx (`#7228 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/7159>`_).
- Fix broken function calls and syntax issues in user guide (`#7234 <https://github.com/scikit-image/scikit-image/pull/7234>`_).
- Use correct default mode in docstring of ``skimage.transform.swirl`` (`#7241 <https://github.com/scikit-image/scikit-image/pull/7241>`_).
- Add missing documentation about spacing parameter in ``moments_normalized`` (`#7248 <https://github.com/scikit-image/scikit-image/pull/7248>`_).
- Update docstring & example in the hough_ellipse transform (`#6893 <https://github.com/scikit-image/scikit-image/pull/6893>`_).
- Point binder tag/branch to commit corresponding to docs/release (`#7252 <https://github.com/scikit-image/scikit-image/pull/7252>`_).
- Add example to FundamentalMatrixTransform class (`#6863 <https://github.com/scikit-image/scikit-image/pull/6863>`_).
- Adds explanation of what the optional dependency on Matplotlib offers to the install instructions (`#7286 <https://github.com/scikit-image/scikit-image/pull/7286>`_).
- Function docstring was changed to follow the conventions adopted in the original paper. τ was replaced with θ (`#7314 <https://github.com/scikit-image/scikit-image/pull/7314>`_).
- The description of the parameter cval is modified in "int or float". cval is a numerical value not a string (`#7319 <https://github.com/scikit-image/scikit-image/pull/7319>`_).
- Remove obsolete instruction about documenting changes (`#7321 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/7324>`_).
- Create SECURITY.md (`#7230 <https://github.com/scikit-image/scikit-image/pull/7230>`_).
- Remove deprecated parameter ``coordinates`` from docstring example of ``skimage.segmentation.active_contour`` (`#7329 <https://github.com/scikit-image/scikit-image/pull/7329>`_).
- Include dates in release note headings (`#7269 <https://github.com/scikit-image/scikit-image/pull/7269>`_).
- Update description of how to document pull requests for inclusion in the release notes (`#7267 <https://github.com/scikit-image/scikit-image/pull/7267>`_).
- Clarify description of ``data_range`` parameter in ``skimage.metrics.structural_similarity`` (`#7345 <https://github.com/scikit-image/scikit-image/pull/7345>`_).
- Use object-oriented Matplotlib style in longer gallery examples and demonstrations (doc/examples/applications) (`#7346 <https://github.com/scikit-image/scikit-image/pull/7346>`_).

Bugfixes
--------
Infrastructure
--------------

- ``skimage.morphology.closing`` and ``skimage.morphology.opening`` were not extensive and anti-extensive, respectively, if the footprint was not mirror symmetric
(`#6695 <https://github.com/scikit-image/scikit-image/pull/6695>`_).
- Update wording on the stale bot to assume the core team dropped the ball (`#7196 <https://github.com/scikit-image/scikit-image/pull/7196>`_).
- Update Azure job name following the drop of Python 3.9 (`#7218 <https://github.com/scikit-image/scikit-image/pull/7218>`_).
- Schedule nightly wheel builds at uncommon time (`#7254 <https://github.com/scikit-image/scikit-image/pull/7254>`_).
- Build nightly wheels with nightly NumPy 2.0 (`#7251 <https://github.com/scikit-image/scikit-image/pull/7251>`_).
- Use pytest-doctestplus instead of classic pytest-doctest (`#7289 <https://github.com/scikit-image/scikit-image/pull/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 <https://github.com/scikit-image/scikit-image/pull/7325>`_).
- Add ``assert_stacklevel`` helper to check stacklevel of captured warnings (`#7294 <https://github.com/scikit-image/scikit-image/pull/7294>`_).
- Exclude ``pre-commit[bot]`` from changelist's contributor list (`#7358 <https://github.com/scikit-image/scikit-image/pull/7358>`_).

Deprecations
Maintenance
-----------

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

Contributors
------------

- Parameters ``shift_x`` and ``shift_y`` in ``skimage.morphology.erosion`` and ``skimage.morphology.dilation`` are deprecated and a warning is emitted if they are given.
(`#6695 <https://github.com/scikit-image/scikit-image/pull/6695>`_).
29 authors added to this release (alphabetically):

- `@GParolini <https://github.com/GParolini>`_
- `@tokiAi <https://github.com/tokiAi>`_
- Adrien Foucart (`@adfoucart <https://github.com/adfoucart>`_)
- Anam Fatima (`@anamfatima1304 <https://github.com/anamfatima1304>`_)
- Ananya Srivastava (`@ana42742 <https://github.com/ana42742>`_)
- Ben Harvie (`@benharvie <https://github.com/benharvie>`_)
- Christian Clauss (`@cclauss <https://github.com/cclauss>`_)
- Cris Luengo (`@crisluengo <https://github.com/crisluengo>`_)
- Egor Panfilov (`@soupault <https://github.com/soupault>`_)
- Grzegorz Bokota (`@Czaki <https://github.com/Czaki>`_)
- Jan Lebert (`@sitic <https://github.com/sitic>`_)
- Jarrod Millman (`@jarrodmillman <https://github.com/jarrodmillman>`_)
- Jeremy Farrell (`@farrjere <https://github.com/farrjere>`_)
- Juan Nunez-Iglesias (`@jni <https://github.com/jni>`_)
- Lars Grüter (`@lagru <https://github.com/lagru>`_)
- Mao Nishino (`@mao1756 <https://github.com/mao1756>`_)
- Marianne Corvellec (`@mkcor <https://github.com/mkcor>`_)
- Mark Harfouche (`@hmaarrfk <https://github.com/hmaarrfk>`_)
- Matthew Feickert (`@matthewfeickert <https://github.com/matthewfeickert>`_)
- Matthew Vine (`@MattTheCuber <https://github.com/MattTheCuber>`_)
- Maxime Corbé (`@Maxime-corbe <https://github.com/Maxime-corbe>`_)
- Michał Górny (`@mgorny <https://github.com/mgorny>`_)
- Neil Shephard (`@ns-rse <https://github.com/ns-rse>`_)
- Ole Streicher (`@olebole <https://github.com/olebole>`_)
- Peter Suter (`@petsuter <https://github.com/petsuter>`_)
- Robert Haase (`@haesleinhuepf <https://github.com/haesleinhuepf>`_)
- Sean McKinney (`@jouyun <https://github.com/jouyun>`_)
- Stefan van der Walt (`@stefanv <https://github.com/stefanv>`_)
- vfdev (`@vfdev-5 <https://github.com/vfdev-5>`_)

21 reviewers added to this release (alphabetically):

- `@GParolini <https://github.com/GParolini>`_
- Adrien Foucart (`@adfoucart <https://github.com/adfoucart>`_)
- Anam Fatima (`@anamfatima1304 <https://github.com/anamfatima1304>`_)
- Ben Harvie (`@benharvie <https://github.com/benharvie>`_)
- Christian Clauss (`@cclauss <https://github.com/cclauss>`_)
- Cris Luengo (`@crisluengo <https://github.com/crisluengo>`_)
- Egor Panfilov (`@soupault <https://github.com/soupault>`_)
- Grzegorz Bokota (`@Czaki <https://github.com/Czaki>`_)
- Jarrod Millman (`@jarrodmillman <https://github.com/jarrodmillman>`_)
- Jeremy Farrell (`@farrjere <https://github.com/farrjere>`_)
- Juan Nunez-Iglesias (`@jni <https://github.com/jni>`_)
- Lars Grüter (`@lagru <https://github.com/lagru>`_)
- M Bussonnier (`@Carreau <https://github.com/Carreau>`_)
- Mao Nishino (`@mao1756 <https://github.com/mao1756>`_)
- Marianne Corvellec (`@mkcor <https://github.com/mkcor>`_)
- Mark Harfouche (`@hmaarrfk <https://github.com/hmaarrfk>`_)
- Maxime Corbé (`@Maxime-corbe <https://github.com/Maxime-corbe>`_)
- P. L. Lim (`@pllim <https://github.com/pllim>`_)
- Peter Suter (`@petsuter <https://github.com/petsuter>`_)
- Sebastian Berg (`@seberg <https://github.com/seberg>`_)
- Stefan van der Walt (`@stefanv <https://github.com/stefanv>`_)

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

Contributors to this release
----------------------------
2 changes: 1 addition & 1 deletion skimage/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"""

__version__ = '0.23.0rc1.dev0'
__version__ = '0.23.0'

from ._shared.version_requirements import ensure_python_version

Expand Down

0 comments on commit 2d0b350

Please sign in to comment.