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._