Releases: scikit-image/scikit-image
v0.25.0
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
. Useskimage.feature.plot_matched_features
going forward (#7487). - Deprecate
skimage.io.imshow
,skimage.io.imshow_collection
andskimage.io.show
. Please usematplotlib
,napari
, etc. to visualize images (#7508). - Remove deprecated
skimage.morphology.skeletonize_3d
; useskimage.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 newscipy.sparse
array interface here (#7576). - Deprecate
skimage.morphology.rectangle
in favor of the new functionskimage.morphology.footprint_rectangle
(#7566). - Deprecate
skimage.morphology.square
in favor of the new functionskimage.morphology.footprint_rectangle
(#7566). - Deprecate
skimage.morphology.cube
in favor of the new functionskimage.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, ifmatches_color
isn't provided explicitly (#7541). - Allow passing a sequence of colors to the parameter
matches_color
inskimage.feature.plot_matched_features
(#7541).
Performance
skimage.feature.peak_local_max
will now skip unnecessary distance computations in the case ofmin_distance=1
. This results in performance improvements to functions likeskimage.feature.blob_dog
,skimage.feature.blob_log
,skimage.feature.blob_doh
andskimage.feature.corner_peaks
that callpeak_local_max
internally (#7548).- In
skimage.featurepeak_local_max
, skip unnecessary check for cases wheremin_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 ofintp
, 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 byskimage.measure.regionprops
can be deserialized with pickle (#7569). - Fix edge case where setting
watershed_lines=True
inskimage.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
ifnumpy.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 ofCITATION.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 inskimage.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
inskimage.morphology.ball
fromint
tofloat
(#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...
v0.25.0rc2
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
. Useskimage.feature.plot_matched_features
going forward (#7487). - Deprecate
skimage.io.imshow
,skimage.io.imshow_collection
andskimage.io.show
. Please usematplotlib
,napari
, etc. to visualize images (#7508). - Remove deprecated
skimage.morphology.skeletonize_3d
; useskimage.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 newscipy.sparse
array interface here (#7576). - Deprecate
skimage.morphology.rectangle
in favor of the new functionskimage.morphology.footprint_rectangle
(#7566). - Deprecate
skimage.morphology.square
in favor of the new functionskimage.morphology.footprint_rectangle
(#7566). - Deprecate
skimage.morphology.cube
in favor of the new functionskimage.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
inskimage.feature.plot_matched_features
(#7541). - Make sure that
skimage.feature.plot_matched_features
uses the same random colors, ifmatches_color
isn't provided explicitly (#7541).
Performance
skimage.feature.peak_local_max
will now skip unnecessary distance computations in the case ofmin_distance=1
. This results in performance improvements to functions likeskimage.feature.blob_dog
,skimage.feature.blob_log
,skimage.feature.blob_doh
andskimage.feature.corner_peaks
that callpeak_local_max
internally (#7548).- In
skimage.featurepeak_local_max
, skip unnecessary check for cases wheremin_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 ofintp
, 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 byskimage.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
inskimage.segmentation.watershed
resulted in an incorrect solution (#7071). - Fix dtype promotion in
skimage.segmentation.join_segmentations
ifnumpy.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 ofCITATION.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 inskimage.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
inskimage.morphology.ball
fromint
tofloat
(#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/...
v0.25.0rc1
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
. Useskimage.feature.plot_matched_features
going forward (#7487). - Deprecate
skimage.io.imshow
,skimage.io.imshow_collection
andskimage.io.show
. Please usematplotlib
,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 ofintp
, 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 ofCITATION.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 inskimage.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
andio.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):
- @FedericoWZhaw
- @jakirkham
- @michaelbratsch
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Brigitta Sipőcz (@bsipocz)
- Edgar Andrés Margffoy Tuay (@andfoy)
- Egor Panfilov (@soupault)
- Erik Welch (@eriknw)
- Gianluca (@geeanlooca)
- Hayato Ikoma (@hayatoikoma)
- Jarrod Millman (@jarrodmillman)
- João Seródio (@SerodioJ)
- Kushaan Gupta (@kushaangupta)
- Lars Grüter (@lagru)
- Loïc Estève (@lesteve)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Piyush Amitabh (@pamitabh)
- Stefan van der Walt (@stefanv)
20 reviewers added to this release (alphabetically):
- @FedericoWZhaw
- @jakirkham
- @michaelbratsch
- Agriya Khetarpal (@agriyakhetarpal)
- Brigitta Sipőcz (@bsipocz)
- Edgar Andrés Margffoy Tuay (@andfoy)
- Egor Panfilov (@soupault)
- Gianluca (@geeanlooca)
- Hayato Ikoma (@hayatoikoma)
- Jarrod Millman (@jarrodmillman)
- João Seródio ([@serod...
v0.25.0rc0
signed 0.25.0rc0 tag
v0.24.0
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 withskimage.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 withskimage.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 inskimage.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 parameterimage2
. Instead useimage0
,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):
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Ananya Srivastava (@ana42742)
- Curtis Rueden (@ctrueden)
- Jarrod Millman (@jarrodmillman)
- Juan Nunez-Iglesias (@jni)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Pang (@lartpang)
- Stefan van der Walt (@stefanv)
- 武士风度的牛 (@spdfghi)
15 reviewers added to this release (alphabetically):
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Curtis Rueden (@ctrueden)
- Egor Panfilov (@soupault)
- Jarrod Millman (@jarrodmillman)
- Juan Nunez-Iglesias (@jni)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Ralf Gommers (@rgommers)
- Riadh Fezzani (@rfezzani)
- Sebastian Berg (@seberg)
- Stefan van der Walt (@stefanv)
- Tyler Reddy (@tylerjereddy)
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.24.0rc1
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 withskimage.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 withskimage.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 inskimage.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 parameterimage2
. Instead useimage0
,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):
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Ananya Srivastava (@ana42742)
- Curtis Rueden (@ctrueden)
- Jarrod Millman (@jarrodmillman)
- Juan Nunez-Iglesias (@jni)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Pang (@lartpang)
- Stefan van der Walt (@stefanv)
- 武士风度的牛 (@spdfghi)
15 reviewers added to this release (alphabetically):
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Curtis Rueden (@ctrueden)
- Egor Panfilov (@soupault)
- Jarrod Millman (@jarrodmillman)
- Juan Nunez-Iglesias (@jni)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Ralf Gommers (@rgommers)
- Riadh Fezzani (@rfezzani)
- Sebastian Berg (@seberg)
- Stefan van der Walt (@stefanv)
- Tyler Reddy (@tylerjereddy)
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.24.0rc0
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 withskimage.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 withskimage.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 inskimage.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 parameterimage2
. Instead useimage0
,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):
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Ananya Srivastava (@ana42742)
- Curtis Rueden (@ctrueden)
- Jarrod Millman (@jarrodmillman)
- Juan Nunez-Iglesias (@jni)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Pang (@lartpang)
- Stefan van der Walt (@stefanv)
- 武士风度的牛 (@spdfghi)
15 reviewers added to this release (alphabetically):
- Adeyemi Biola (@decorouz)
- Agriya Khetarpal (@agriyakhetarpal)
- Curtis Rueden (@ctrueden)
- Egor Panfilov (@soupault)
- Jarrod Millman (@jarrodmillman)
- Juan Nunez-Iglesias (@jni)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
- Mark Harfouche (@hmaarrfk)
- Matthew Feickert (@matthewfeickert)
- Ralf Gommers (@rgommers)
- Riadh Fezzani (@rfezzani)
- Sebastian Berg (@seberg)
- Stefan van der Walt (@stefanv)
- Tyler Reddy (@tylerjereddy)
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.23.2
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 wheredtype('uint64').type
of the provided image isnp.ulonglong
instead ofnp.uint64
(#7392).
Documentation
- Add date to 0.23.1 release notes (#7384).
- Fix docstring of
connectivity
parameter inskimage.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 deprecatednumpy.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):
- @pitkajuh
- Jarrod Millman (@jarrodmillman)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
4 reviewers added to this release (alphabetically):
- Egor Panfilov (@soupault)
- Jarrod Millman (@jarrodmillman)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
These lists are automatically generated, and may not be complete or may contain duplicates.
v0.23.2rc1
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 wheredtype('uint64').type
of the provided image isnp.ulonglong
instead ofnp.uint64
(#7392).
Documentation
- Add date to 0.23.1 release notes (#7384).
- Fix docstring of
connectivity
parameter inskimage.segmentation.watershed
(#7360).
Maintenance
- Use
numpy.inf
instead of deprecatednumpy.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):
- @pitkajuh
- Jarrod Millman (@jarrodmillman)
- Lars Grüter (@lagru)
- Marianne Corvellec (@mkcor)
3 reviewers added to this release (alphabetically):
- Egor Panfilov (@soupault)
- Jarrod Millman (@jarrodmillman)
- Lars Grüter (@lagru)
These lists are automatically generated, and may not be complete or may contain
duplicates.
v0.23.1
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
andskimage.morphology.opening
are extensive and anti-extensive, respectively, if the footprint is not mirror symmetric (#6695). - Add parameter
mode
tobinary_erosion
,binary_dilation
,binary_opening
andbinary_closing
inskimage.morphology
. These new parameters determine how array borders are handled (#6695). - Add parameters
mode
andcval
toerosion
,dilation
,opening
,closing
,white_tophat
, andblack_tophat
inskimage.morphology
. These new parameters determine how array borders are handled (#6695). - Speedup
skimage.util.map_array
by parallelization with Cython'sprange
(#7266).
New Features
- Add new
intensity_std
property toskimage.measure.regionprops
which computes the standard deviation of the intensity in a region (#6712). - Add parameter
mode
tobinary_erosion
,binary_dilation
,binary_opening
andbinary_closing
inskimage.morphology
. These new parameters determine how array borders are handled (#6695). - Add functions
mirror_footprint
andpad_footprint
toskimage.morphology
(#6695). - Add parameters
mode
andcval
toerosion
,dilation
,opening
,closing
,white_tophat
, andblack_tophat
inskimage.morphology
. These new parameters determine how array borders are handled (#6695). - Add new parameter
spacing
tosegmentation.expand_labels
to support anisotropic images (#7080).
API Changes
- Drop support for Python 3.9 (#7217).
- Parameters
shift_x
andshift_y
inskimage.morphology.erosion
andskimage.morphology.dilation
are deprecated. Usepad_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 ofskimage.feature.plot_matched_features
(#7255). - Deprecate
skimage.morphology.skeletonize_3d
in favor of justskimage.morphology.skeletonize
(#7094). - Deprecate parameter
output
inskimage.filters.gaussian
; useout
instead (#7225). - Change the default value of the parameters
shift_x
,shift_y
andshift_z
fromFalse
to0
in theskimage.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'sprange
(#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
andskimage.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 aTypeError
when the parameteredge_function
was provided without amask
(#7310). - Ensure cache stays empty when
cache=False
is passed toskimage.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
andpandas.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 ofskimage.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 inskimage.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...