Skip to content

Releases: scikit-image/scikit-image

v0.25.0

13 Dec 21:16
v0.25.0
f172eba
Compare
Choose a tag to compare

scikit-image 0.25.0

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

New Features

  • Add the new Gray-Level Co-occurrence Matrix (GLCM) properties "mean", "variance", "standard deviation" and "entropy" to skimage.feature.texture.graycoprops (#7375).
  • Add the new skimage.morphology.footprint_rectangle supporting generation of rectangular or hyper-rectangular footprints in one function (#7566).

API Changes

  • Complete the deprecation of and remove skimage.feature.plot_matches. Use skimage.feature.plot_matched_features going forward (#7487).
  • Deprecate skimage.io.imshow, skimage.io.imshow_collection and skimage.io.show. Please use matplotlib, napari, etc. to visualize images (#7508).
  • Remove deprecated skimage.morphology.skeletonize_3d; use skimage.morphology.skeletonize instead (#7572).
  • Deprecate skimage.io plugin infrastructure (#7353).
  • Switched to using the scipy.sparse array interface. For more details, see the note about the new scipy.sparse array interface here (#7576).
  • Deprecate skimage.morphology.rectangle in favor of the new function skimage.morphology.footprint_rectangle (#7566).
  • Deprecate skimage.morphology.square in favor of the new function skimage.morphology.footprint_rectangle (#7566).
  • Deprecate skimage.morphology.cube in favor of the new function skimage.morphology.footprint_rectangle (#7566).

Enhancements

  • Improve numerical stability of skimage.morphology.local_minima for extremely small floats (#7534).
  • Make sure that skimage.feature.plot_matched_features uses the same random colors, if matches_color isn't provided explicitly (#7541).
  • Allow passing a sequence of colors to the parameter matches_color in skimage.feature.plot_matched_features (#7541).

Performance

  • skimage.feature.peak_local_max will now skip unnecessary distance computations in the case of min_distance=1. This results in performance improvements to functions like skimage.feature.blob_dog, skimage.feature.blob_log, skimage.feature.blob_doh and skimage.feature.corner_peaks that call peak_local_max internally (#7548).
  • In skimage.featurepeak_local_max, skip unnecessary check for cases where min_distance > 1 is passed (#7548).

Bug Fixes

  • Ensure that skimage.morphology.remove_objects_by_distance doesn't fail if the given integer dtype cannot be safely cast to the architecture specific size of intp, e.g. on i386 architectures (#7453).
  • Fix degeneracy in skimage.draw.ellipsoid_stats when all semi-axes have the same length (#7473).
  • Prevent skimage.morphology.thin from accidentally modifying the input image in case it is of dtype uint8 (#7469).
  • Fix numerical precision error in skimage.measure.ransac. In some cases, ransac was stopping at the first iteration (#7065).
  • Fix numerical precision error in skimage.measure.ransac; very small probabilities lead to -0 number of max trials (#7496).
  • Ensure that RegionProperties objects returned by skimage.measure.regionprops can be deserialized with pickle (#7569).
  • Fix edge case where setting watershed_lines=True in skimage.segmentation.watershed resulted in an incorrect solution (#7071).
  • Fix the behavior of skimage.segmentation.watershed when the markers don't align with local minima by making sure every marker is evaluated before successive pixels (#7071).
  • Fix dtype promotion in skimage.segmentation.join_segmentations if numpy.uint is used with NumPy<2 (#7292).

Documentation

  • In skimage.morphology.skeletonize, clarify the expected image dtypes and how objects of different intensities are handled (#7456).
  • Fix example section in docstring of skimage.feature.graycomatrix (#7297).
  • Use conda-forge consistently in instructions for setting up the development environment (#7483).
  • Use new CITATION.cff instead of CITATION.bib (#7505).
  • Use correct spin test --coverage in contribution guide (#7515).
  • Tweak advice to new developers; remove AI warning (#7522).
  • Rework installation instructions (#7434).
  • Improve the description of the image parameter in skimage.restoration.richardson_lucy (#7477).
  • Account for empty arrays when counting segments per contour level in gallery example "Segment human cells (in mitosis)" (#7551).
  • Fix typo in morphology doc (#7606).
  • Change type description of parameter radius in skimage.morphology.ball from int to float (#7627).

Infrastructure

  • Fix CI tests with minimal dependencies and make dependency resolution more robust (#7462).
  • Add CI to test scikit-image against free-threaded Python 3.13 (#7463).
  • Address autosummary.import_cycle warning (#7486).
  • Temporarily exclude Dask 2024.8.0 to fix CI (#7493).
  • Uncomment currentmodule directive again (#7492).
  • Add CI to release nightly free-threaded wheels (#7481).
  • Update deprecated configuration (#7501).
  • Bump spin version to 0.11 (#7507).
  • Ensure only a single type: label is present in PRs (#7512).
  • Update pydata-sphinx-theme (#7511).
  • Fix OpenBLAS s_cmp unresolved symbol error, update Emscripten CI testing (#7525).
  • Render paragraphs in dormant message (#7549).
  • Build sphinx documentation with parallel jobs (#7579).
  • Don't check test coverage in CI (#7594).
  • Explicitly setup conda on macos for wheel building (#7608).

Maintenance

  • Verify all artifacts that have been attested by looping over them in CI (#7447).
  • Update circleci-artifacts-redirector-action that moved to the Scientific Python org (#7446).
  • Use NumPy 2.0 stable to build packages (#7451).
  • FIX Use python3 in Meson version script shebang (#7482).
  • Refactored tests for skeletonize (#7459).
  • Remove unused and deprecated dependency pytest-runner (#7495).
  • Exclude imageio 2.35.0 that forces numpy downgrade (#7502).
  • Don't test thresholding funcs for Dask compatibility (#7509).
  • Fix build dependency (#7510).
  • Add sdist check to spin sdist (#7438).
  • Reorder items in TODO list (#7519).
  • Use Rotation.from_euler to compute 3D rotation matrix (#7503).
  • Update spin (0.12) (#7532).
  • Import lazy_loader as private symbol in top-level namespaces ([#7540](https://github.com/scikit-image/scikit...
Read more

v0.25.0rc2

10 Dec 18:59
v0.25.0rc2
ee3f821
Compare
Choose a tag to compare
v0.25.0rc2 Pre-release
Pre-release

scikit-image 0.25.0rc2

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

New Features

  • Add the new Gray-Level Co-occurrence Matrix (GLCM) properties "mean", "variance", "standard deviation" and "entropy" to skimage.feature.texture.graycoprops (#7375).
  • Add the new skimage.morphology.footprint_rectangle supporting generation of rectangular or hyper-rectangular footprints in one function (#7566).

API Changes

  • Complete the deprecation of and remove skimage.feature.plot_matches. Use skimage.feature.plot_matched_features going forward (#7487).
  • Deprecate skimage.io.imshow, skimage.io.imshow_collection and skimage.io.show. Please use matplotlib, napari, etc. to visualize images (#7508).
  • Remove deprecated skimage.morphology.skeletonize_3d; use skimage.morphology.skeletonize instead (#7572).
  • Deprecate skimage.io plugin infrastructure (#7353).
  • Switched to using the scipy.sparse array interface. For more details, see the note about the new scipy.sparse array interface here (#7576).
  • Deprecate skimage.morphology.rectangle in favor of the new function skimage.morphology.footprint_rectangle (#7566).
  • Deprecate skimage.morphology.square in favor of the new function skimage.morphology.footprint_rectangle (#7566).
  • Deprecate skimage.morphology.cube in favor of the new function skimage.morphology.footprint_rectangle (#7566).

Enhancements

  • Improve numerical stability of skimage.morphology.local_minima for extremely small floats (#7534).
  • Allow passing a sequence of colors to the parameter matches_color in skimage.feature.plot_matched_features (#7541).
  • Make sure that skimage.feature.plot_matched_features uses the same random colors, if matches_color isn't provided explicitly (#7541).

Performance

  • skimage.feature.peak_local_max will now skip unnecessary distance computations in the case of min_distance=1. This results in performance improvements to functions like skimage.feature.blob_dog, skimage.feature.blob_log, skimage.feature.blob_doh and skimage.feature.corner_peaks that call peak_local_max internally (#7548).
  • In skimage.featurepeak_local_max, skip unnecessary check for cases where min_distance > 1 is passed (#7548).

Bug Fixes

  • Ensure that skimage.morphology.remove_objects_by_distance doesn't fail if the given integer dtype cannot be safely cast to the architecture specific size of intp, e.g. on i386 architectures (#7453).
  • Fix degeneracy in skimage.draw.ellipsoid_stats when all semi-axes have the same length (#7473).
  • Prevent skimage.morphology.thin from accidentally modifying the input image in case it is of dtype uint8 (#7469).
  • Fix numerical precision error in skimage.measure.ransac. In some cases, ransac was stopping at the first iteration (#7065).
  • Fix numerical precision error in skimage.measure.ransac; very small probabilities lead to -0 number of max trials (#7496).
  • Ensure that RegionProperties objects returned by skimage.measure.regionprops can be deserialized with pickle (#7569).
  • Fix the behavior of skimage.segmentation.watershed when the markers don't align with local minima by making sure every marker is evaluated before successive pixels (#7071).
  • Fix edge case where setting watershed_lines=True in skimage.segmentation.watershed resulted in an incorrect solution (#7071).
  • Fix dtype promotion in skimage.segmentation.join_segmentations if numpy.uint is used with NumPy<2 (#7292).

Documentation

  • In skimage.morphology.skeletonize, clarify the expected image dtypes and how objects of different intensities are handled (#7456).
  • Fix example section in docstring of skimage.feature.graycomatrix (#7297).
  • Use conda-forge consistently in instructions for setting up the development environment (#7483).
  • Use new CITATION.cff instead of CITATION.bib (#7505).
  • Use correct spin test --coverage in contribution guide (#7515).
  • Tweak advice to new developers; remove AI warning (#7522).
  • Rework installation instructions (#7434).
  • Improve the description of the image parameter in skimage.restoration.richardson_lucy (#7477).
  • Account for empty arrays when counting segments per contour level in gallery example "Segment human cells (in mitosis)" (#7551).
  • Fix typo in morphology doc (#7606).
  • Change type description of parameter radius in skimage.morphology.ball from int to float (#7627).

Infrastructure

  • Fix CI tests with minimal dependencies and make dependency resolution more robust (#7462).
  • Add CI to test scikit-image against free-threaded Python 3.13 (#7463).
  • Address autosummary.import_cycle warning (#7486).
  • Temporarily exclude Dask 2024.8.0 to fix CI (#7493).
  • Uncomment currentmodule directive again (#7492).
  • Add CI to release nightly free-threaded wheels (#7481).
  • Update deprecated configuration (#7501).
  • Bump spin version to 0.11 (#7507).
  • Ensure only a single type: label is present in PRs (#7512).
  • Update pydata-sphinx-theme (#7511).
  • Fix OpenBLAS s_cmp unresolved symbol error, update Emscripten CI testing (#7525).
  • Render paragraphs in dormant message (#7549).
  • Build sphinx documentation with parallel jobs (#7579).
  • Don't check test coverage in CI (#7594).
  • Explicitly setup conda on macos for wheel building (#7608).

Maintenance

  • Verify all artifacts that have been attested by looping over them in CI (#7447).
  • Update circleci-artifacts-redirector-action that moved to the Scientific Python org (#7446).
  • Use NumPy 2.0 stable to build packages (#7451).
  • FIX Use python3 in Meson version script shebang (#7482).
  • Refactored tests for skeletonize (#7459).
  • Remove unused and deprecated dependency pytest-runner (#7495).
  • Exclude imageio 2.35.0 that forces numpy downgrade (#7502).
  • Don't test thresholding funcs for Dask compatibility (#7509).
  • Fix build dependency (#7510).
  • Add sdist check to spin sdist (#7438).
  • Reorder items in TODO list (#7519).
  • Use Rotation.from_euler to compute 3D rotation matrix (#7503).
  • Update spin (0.12) (#7532).
  • Import lazy_loader as private symbol in top-level namespaces ([#7540](https://github.com/scikit-image/...
Read more

v0.25.0rc1

07 Oct 07:58
v0.25.0rc1
5b79219
Compare
Choose a tag to compare
v0.25.0rc1 Pre-release
Pre-release

scikit-image 0.25.0rc1

We're happy to announce the release of scikit-image 0.25.0rc1!

New Features

  • Add the new Grey-Level Co-occurrence Matrix (GLCM) properties "mean", "variance", "standard deviation" and "entropy" to skimage.feature.texture.graycoprops (#7375).

API Changes

  • Complete the deprecation of and remove skimage.feature.plot_matches. Use skimage.feature.plot_matched_features going forward (#7487).
  • Deprecate skimage.io.imshow, skimage.io.imshow_collection and skimage.io.show. Please use matplotlib, napari, etc. to visualize images (#7508).

Enhancements

  • Improve numerical stability of skimage.morphology.local_minima for extremely small floats (#7534).

Bug Fixes

  • Ensure that skimage.morphology.remove_objects_by_distance doesn't fail if the given integer dtype cannot be safely cast to the architecture specific size of intp, e.g. on i386 architectures (#7453).
  • Fix degeneracy in skimage.draw.ellipsoid_stats when all semi-axes have the same length (#7473).
  • Prevent skimage.morphology.thin from accidentally modifying the input image in case it is of dtype uint8 (#7469).
  • Fix numerical precision error in skimage.measure.ransac. In some cases, ransac was stopping at the first iteration (#7065).
  • Fix numerical precision error in skimage.measure.ransac; very small probabilities lead to -0 number of max trials (#7496).

Documentation

  • In skimage.morphology.skeletonize, clarify the expected image dtypes and how objects of different intensities are handled (#7456).
  • Fix example section in docstring of skimage.feature.graycomatrix (#7297).
  • Use conda-forge consistently in instructions for setting up the development environment (#7483).
  • Use new CITATION.cff instead of CITATION.bib (#7505).
  • Use correct spin test --coverage in contribution guide (#7515).
  • Tweak advice to new developers; remove AI warning (#7522).
  • Rework installation instructions (#7434).
  • Improve the description of the image parameter in skimage.restoration.richardson_lucy (#7477).
  • Account for empty arrays when counting segments per contour level in gallery example "Segment human cells (in mitosis)" (#7551).

Infrastructure

  • Fix CI tests with minimal dependencies and make dependency resolution more robust (#7462).
  • Add CI to test scikit-image against free-threaded Python 3.13 (#7463).
  • Address autosummary.import_cycle warning (#7486).
  • Temporarily exclude Dask 2024.8.0 to fix CI (#7493).
  • Uncomment currentmodule directive again (#7492).
  • Add CI to release nightly free-threaded wheels (#7481).
  • Update deprecated configuration (#7501).
  • Bump spin version to 0.11 (#7507).
  • Ensure only a single type: label is present in PRs (#7512).
  • Update pydata-sphinx-theme (#7511).
  • Fix OpenBLAS s_cmp unresolved symbol error, update Emscripten CI testing (#7525).

Maintenance

  • Verify all artifacts that have been attested by looping over them in CI (#7447).
  • Update circleci-artifacts-redirector-action that moved to the Scientific Python org (#7446).
  • Use NumPy 2.0 stable to build packages (#7451).
  • FIX Use python3 in Meson version script shebang (#7482).
  • Refactored tests for skeletonize (#7459).
  • Remove unused and deprecated dependency pytest-runner (#7495).
  • Exclude imageio 2.35.0 that forces numpy downgrade (#7502).
  • Don't test thresholding funcs for Dask compatibility (#7509).
  • Fix build dependency (#7510).
  • Add sdist check to spin sdist (#7438).
  • Reorder items in TODO list (#7519).
  • Use Rotation.from_euler to compute 3D rotation matrix (#7503).
  • Update spin (0.12) (#7532).
  • Import lazy_loader as private symbol in top-level namespaces (#7540).
  • Set -DNPY_NO_DEPRECATED_API=NPY_1_23_API_VERSION on build (#7538).
  • Update up/download artifact version (#7545).
  • Don't use deprecated io.show and io.imshow (#7556).
  • Hide traceback inside assert_stacklevel (#7558).
  • Update pre-commit versions (#7560).
  • Drop Python 3.9 support (#7561).
  • Update minimum dependencies (SPEC 0) (#7562).
  • Remove unused PYX files in io/_plugins (#7557).
  • Support Python 3.13 (#7565).
  • During deprecation cycles, preserve the value of deprecated parameters that don't have a new parameter as a replacement (#7552).
  • Fix missing minigalleries by using full names in directives (#7567).
  • Build Python 3.13 wheels (#7571).
  • Update TODO (#7573).
  • Remove deprecated skeletonize_3d (#7572).
  • Remove deprecated gaussian output parameter (#7574).

Contributors

21 authors added to this release (alphabetically):

20 reviewers added to this release (alphabetically):

Read more

v0.25.0rc0

06 Oct 20:08
v0.25.0rc0
3f37422
Compare
Choose a tag to compare
v0.25.0rc0 Pre-release
Pre-release
signed 0.25.0rc0 tag

v0.24.0

18 Jun 19:05
v0.24.0
a160f38
Compare
Choose a tag to compare

scikit-image 0.24.0

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

Highlights

  • Add new class skimage.transform.ThinPlateSplineTransform, which can estimate and model non-linear transforms with thin-plate splines and allows image warping with skimage.transform.warp (#7040).

New Features

  • Add new class skimage.transform.ThinPlateSplineTransform, which can estimate and model non-linear transforms with thin-plate splines and allows image warping with skimage.transform.warp (#7040).
  • Add skimage.morphology.remove_objects_by_distance, which removes labeled objects, ordered by size (default), until the remaining objects are a given distance apart (#4165).

Performance

  • In skimage.feature.corner_fast, test four directions earlier, which should more than half the computation time for most cases (#7394).

Documentation

  • Remove obsolete instruction about documenting changes (#7321).
  • Clarify description of data_range parameter in skimage.metrics.structural_similarity (#7345).
  • Update release process notes (#7402).
  • Fix typo in docstring of skimage.measure.regionprops (#7405).
  • Fix typos in skimage.measure.find_contours (#7411).
  • Add algorithmic complexity description + suggested alternatives to skimage.restoration.rolling_ball docstring (#7424).
  • Remove ineffective PR contribution clause (#7429).
  • Clarify objection period for lazy consensus in SKIP 1 (#7020).
  • Add a new gallery example "Use thin-plate splines for image warping" (#7040).
  • Add a new gallery example on "Removing objects" based on their size or distance (#4165).

Infrastructure

  • Escape user-controlled variables in GA workflow (#7415).
  • Add generation of GitHub artifact attestations to built sdist and wheels before upload to PyPI (#7427).
  • For publishing actions use the full length commit SHA (#7433).
  • Be mindful of resources by canceling in-progress workflows (#7436).
  • Add out-of-tree Pyodide builds in CI for scikit-image (#7350).

Maintenance

  • Replace deprecated nose style setup/teardown with autouse fixtures (#7343).
  • Temporarily pin macos-12 runner in CI (#7408).
  • Fix NumPy2 dtype promotion issues in pywt dependent code (#7414).
  • In skimage.util.compare_images, deprecate the parameter image2. Instead use image0, image1 to pass the compared images. Furthermore, all other parameters will be turned into keyword-only parameters once the deprecation is complete (#7322).
  • Add support back for Python 3.9 to enhance compatibility with Numpy 2 (#7412).
  • Disable ruff/pyupgrade rule UP038 (#7430).
  • Stop verifying wheel attestations temporarily (#7444).

Contributors

13 authors added to this release (alphabetically):

15 reviewers added to this release (alphabetically):

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

v0.24.0rc1

16 Jun 13:50
v0.24.0rc1
1272338
Compare
Choose a tag to compare
v0.24.0rc1 Pre-release
Pre-release

scikit-image 0.24.0rc1

We're happy to announce the release of scikit-image 0.24.0rc1!

Highlights

  • Add new class skimage.transform.ThinPlateSplineTransform, which can estimate and model non-linear transforms with thin-plate splines and allows image warping with skimage.transform.warp (#7040).

New Features

  • Add new class skimage.transform.ThinPlateSplineTransform, which can estimate and model non-linear transforms with thin-plate splines and allows image warping with skimage.transform.warp (#7040).
  • Add skimage.morphology.remove_objects_by_distance, which removes labeled objects, ordered by size (default), until the remaining objects are a given distance apart (#4165).

Performance

  • In skimage.feature.corner_fast, test four directions earlier, which should more than half the computation time for most cases (#7394).

Documentation

  • Remove obsolete instruction about documenting changes (#7321).
  • Clarify description of data_range parameter in skimage.metrics.structural_similarity (#7345).
  • Update release process notes (#7402).
  • Fix typo in docstring of skimage.measure.regionprops (#7405).
  • Fix typos in skimage.measure.find_contours (#7411).
  • Add algorithmic complexity description + suggested alternatives to skimage.restoration.rolling_ball docstring (#7424).
  • Remove ineffective PR contribution clause (#7429).
  • Clarify objection period for lazy consensus in SKIP 1 (#7020).
  • Add a new gallery example "Use thin-plate splines for image warping" (#7040).
  • Add a new gallery example on "Removing objects" based on their size or distance (#4165).

Infrastructure

  • Escape user-controlled variables in GA workflow (#7415).
  • Add generation of GitHub artifact attestations to built sdist and wheels before upload to PyPI (#7427).
  • For publishing actions use the full length commit SHA (#7433).
  • Be mindful of resources by canceling in-progress workflows (#7436).
  • Add out-of-tree Pyodide builds in CI for scikit-image (#7350).

Maintenance

  • Replace deprecated nose style setup/teardown with autouse fixtures (#7343).
  • Temporarily pin macos-12 runner in CI (#7408).
  • Fix NumPy2 dtype promotion issues in pywt dependent code (#7414).
  • In skimage.util.compare_images, deprecate the parameter image2. Instead use image0, image1 to pass the compared images. Furthermore, all other parameters will be turned into keyword-only parameters once the deprecation is complete (#7322).
  • Add support back for Python 3.9 to enhance compatibility with Numpy 2 (#7412).
  • Disable ruff/pyupgrade rule UP038 (#7430).

Contributors

13 authors added to this release (alphabetically):

15 reviewers added to this release (alphabetically):

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

v0.24.0rc0

15 Jun 12:31
v0.24.0rc0
ca8359f
Compare
Choose a tag to compare
v0.24.0rc0 Pre-release
Pre-release

scikit-image 0.24.0rc0

We're happy to announce the release of scikit-image 0.24.0rc0!

Highlights

  • Add new class skimage.transform.ThinPlateSplineTransform, which can estimate and model non-linear transforms with thin-plate splines and allows image warping with skimage.transform.warp (#7040).

New Features

  • Add new class skimage.transform.ThinPlateSplineTransform, which can estimate and model non-linear transforms with thin-plate splines and allows image warping with skimage.transform.warp (#7040).
  • Add skimage.morphology.remove_objects_by_distance, which removes labeled objects, ordered by size (default), until the remaining objects are a given distance apart (#4165).

Performance

  • In skimage.feature.corner_fast, test four directions earlier, which should more than half the computation time for most cases (#7394).

Documentation

  • Remove obsolete instruction about documenting changes (#7321).
  • Clarify description of data_range parameter in skimage.metrics.structural_similarity (#7345).
  • Update release process notes (#7402).
  • Fix typo in docstring of skimage.measure.regionprops (#7405).
  • Fix typos in skimage.measure.find_contours (#7411).
  • Add algorithmic complexity description + suggested alternatives to skimage.restoration.rolling_ball docstring (#7424).
  • Remove ineffective PR contribution clause (#7429).
  • Clarify objection period for lazy consensus in SKIP 1 (#7020).
  • Add a new gallery example "Use thin-plate splines for image warping" (#7040).
  • Add a new gallery example on "Removing objects" based on their size or distance (#4165).

Infrastructure

  • Escape user-controlled variables in GA workflow (#7415).
  • Add generation of GitHub artifact attestations to built sdist and wheels before upload to PyPI (#7427).
  • For publishing actions use the full length commit SHA (#7433).
  • Be mindful of resources by canceling in-progress workflows (#7436).
  • Add out-of-tree Pyodide builds in CI for scikit-image (#7350).

Maintenance

  • Replace deprecated nose style setup/teardown with autouse fixtures (#7343).
  • Temporarily pin macos-12 runner in CI (#7408).
  • Fix NumPy2 dtype promotion issues in pywt dependent code (#7414).
  • In skimage.util.compare_images, deprecate the parameter image2. Instead use image0, image1 to pass the compared images. Furthermore, all other parameters will be turned into keyword-only parameters once the deprecation is complete (#7322).
  • Add support back for Python 3.9 to enhance compatibility with Numpy 2 (#7412).
  • Disable ruff/pyupgrade rule UP038 (#7430).

Contributors

13 authors added to this release (alphabetically):

15 reviewers added to this release (alphabetically):

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

v0.23.2

20 Apr 19:13
v0.23.2
Compare
Choose a tag to compare

scikit-image 0.23.2

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

Bug Fixes

  • Make sure skimage.util.img_as_ubyte supports the edge case where dtype('uint64').type of the provided image is np.ulonglong instead of np.uint64 (#7392).

Documentation

  • Add date to 0.23.1 release notes (#7384).
  • Fix docstring of connectivity parameter in skimage.segmentation.watershed (#7360).

Infrastructure

  • Ignore Sphinx warning about unpickable cache (#7400).
  • Simplify instructions on changelist in PR template (#7401).

Maintenance

  • Use numpy.inf instead of deprecated numpy.infty (#7386).
  • Update Ruff config (#7387).
  • Update matrix and names of Azure pipelines configuration (#7390).
  • Use upload- and download-artifact v4 (#7389).
  • Ignore arch specific cast warnings originating from astype in tests (#7393).
  • Update link to numpydoc example.py (#7395).

Contributors

4 authors added to this release (alphabetically):

4 reviewers added to this release (alphabetically):

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

v0.23.2rc1

14 Apr 02:17
v0.23.2rc1
Compare
Choose a tag to compare
v0.23.2rc1 Pre-release
Pre-release

scikit-image 0.23.2rc1

Important

This is a release candidate for a minor patch release!

We're happy to announce the release of scikit-image 0.23.2rc1!

Bug Fixes

  • Make sure skimage.util.img_as_ubyte supports the edge case where dtype('uint64').type of the provided image is np.ulonglong instead of np.uint64 (#7392).

Documentation

  • Add date to 0.23.1 release notes (#7384).
  • Fix docstring of connectivity parameter in skimage.segmentation.watershed (#7360).

Maintenance

  • Use numpy.inf instead of deprecated numpy.infty (#7386).
  • Update Ruff config (#7387).
  • Update matrix and names of Azure pipelines configuration (#7390).
  • Use upload- and download-artifact v4 (#7389).
  • Ignore arch specific cast warnings originating from astype in tests (#7393).
  • Update link to numpydoc example.py (#7395).

Contributors

4 authors added to this release (alphabetically):

3 reviewers added to this release (alphabetically):

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

v0.23.1

10 Apr 19:19
v0.23.1
Compare
Choose a tag to compare

scikit-image 0.23.1

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

Note

Due to an issue with the CI system scikit-image 0.23.0 was never released.
This release is identical to what 0.23.0 would have been other than the CI fix and the version number.

Highlights

  • Ensure skimage.morphology.closing and skimage.morphology.opening are extensive and anti-extensive, respectively, if the footprint is not mirror symmetric (#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 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).
  • Speedup skimage.util.map_array by parallelization with Cython's prange (#7266).

New Features

  • Add new intensity_std property to skimage.measure.regionprops which computes the standard deviation of the intensity in a region (#6712).
  • 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 functions mirror_footprint and pad_footprint to skimage.morphology (#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).
  • 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).

Performance

  • 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).

Documentation

  • 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).
  • Use correct symbol θ for tightness in the docstring of skimage.registration.optical_flow_tvl1 (#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 SECURITY.md (#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).
  • In the gallery example on segmenting human cells (in mitosis), include the border when generating basin markers for watershed (#7362).
  • Add missing minus sign in docstring of skimage.transform.EuclideanTransform (#7097).

Infrastructure

  • 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 ([#735...
Read more