scikit-image 0.23.2 (2024-04-20)¶
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¶
Infrastructure¶
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):
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._
scikit-image 0.23.1 (2024-04-10)¶
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 parameters
mode
andcval
toerosion
,dilation
,opening
,closing
,white_tophat
, andblack_tophat
inskimage.morphology
. These new parameters determine how array borders are handled (#6695).Add parameter
mode
tobinary_erosion
,binary_dilation
,binary_opening
andbinary_closing
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 parameters
mode
andcval
toerosion
,dilation
,opening
,closing
,white_tophat
, andblack_tophat
inskimage.morphology
. These new parameters determine how array borders are handled (#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 functions
mirror_footprint
andpad_footprint
toskimage.morphology
(#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¶
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 (#7358).
Maintenance¶
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.ci] 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
_hog.py
after previous merge lacking black (#7215).Unpin Cython after release of Cython 3.0.4 (#7214).
[pre-commit.ci] 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
andremove_arg
; they are entirely succeeded bydeprecate_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
test_fits.py
(#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.ci] pre-commit autoupdate (#7365).
Simplify warning filters in test suite (#7349).
Build against NumPy >=2.0.0rc1 (#7367).
Remove
ensure_python_version
function (#7370).Update GitHub actions to
setup-python@v5
,cache@v4
,upload-artifact@v4
, anddownload-artifact@v4
(#7368).Update lazyloader to v0.4 (#7373).
Contributors¶
29 authors added to this release (alphabetically):
Adrien Foucart (@adfoucart)
Anam Fatima (@anamfatima1304)
Ananya Srivastava (@ana42742)
Ben Harvie (@benharvie)
Christian Clauss (@cclauss)
Cris Luengo (@crisluengo)
Egor Panfilov (@soupault)
Grzegorz Bokota (@Czaki)
Jan Lebert (@sitic)
Jarrod Millman (@jarrodmillman)
Jeremy Farrell (@farrjere)
Juan Nunez-Iglesias (@jni)
Lars Grüter (@lagru)
Mao Nishino (@mao1756)
Marianne Corvellec (@mkcor)
Mark Harfouche (@hmaarrfk)
Matthew Feickert (@matthewfeickert)
Matthew Vine (@MattTheCuber)
Maxime Corbé (@Maxime-corbe)
Michał Górny (@mgorny)
Neil Shephard (@ns-rse)
Ole Streicher (@olebole)
Peter Suter (@petsuter)
Robert Haase (@haesleinhuepf)
Sean McKinney (@jouyun)
Stefan van der Walt (@stefanv)
vfdev (@vfdev-5)
21 reviewers added to this release (alphabetically):
Adrien Foucart (@adfoucart)
Anam Fatima (@anamfatima1304)
Ben Harvie (@benharvie)
Christian Clauss (@cclauss)
Cris Luengo (@crisluengo)
Egor Panfilov (@soupault)
Grzegorz Bokota (@Czaki)
Jarrod Millman (@jarrodmillman)
Jeremy Farrell (@farrjere)
Juan Nunez-Iglesias (@jni)
Lars Grüter (@lagru)
M Bussonnier (@Carreau)
Mao Nishino (@mao1756)
Marianne Corvellec (@mkcor)
Mark Harfouche (@hmaarrfk)
Maxime Corbé (@Maxime-corbe)
Lim (@pllim)
Peter Suter (@petsuter)
Sebastian Berg (@seberg)
Stefan van der Walt (@stefanv)
_These lists are automatically generated, and may not be complete or may contain duplicates._
scikit-image 0.23.0¶
Unreleased due to an issue with the CI system.