scikit-image 0.25.0 (2024-12-13)#

我们很高兴地宣布发布 scikit-image 0.25.0!

新特性#

  • skimage.feature.texture.graycoprops 添加新的灰度共生矩阵 (GLCM) 属性 “mean”、“variance”、“standard deviation” 和 “entropy” (#7375)。

  • 添加新的 skimage.morphology.footprint_rectangle,支持在一个函数中生成矩形或超矩形足迹 (#7566)。

API 变更#

  • 完成 skimage.feature.plot_matches 的弃用并将其删除。今后请使用 skimage.feature.plot_matched_features (#7487)。

  • 弃用 skimage.io.imshowskimage.io.imshow_collectionskimage.io.show。请使用 matplotlibnapari 等来可视化图像 (#7508)。

  • 删除已弃用的 skimage.morphology.skeletonize_3d;请改用 skimage.morphology.skeletonize (#7572)。

  • 弃用 skimage.io 插件基础设施 (#7353)。

  • 切换到使用 scipy.sparse 数组接口。有关更多详细信息,请参阅关于新的 scipy.sparse 数组接口的说明 [此处](https://docs.scipy.org.cn/doc/scipy/reference/sparse.html) (#7576)。

  • 弃用 skimage.morphology.rectangle,改用新函数 skimage.morphology.footprint_rectangle (#7566)。

  • 弃用 skimage.morphology.cube,改用新函数 skimage.morphology.footprint_rectangle (#7566)。

  • 弃用 skimage.morphology.square,改用新函数 skimage.morphology.footprint_rectangle (#7566)。

增强功能#

  • 提高 skimage.morphology.local_minima 对极小浮点数的数值稳定性 (#7534)。

  • 允许将一系列颜色传递给 skimage.feature.plot_matched_features 中的参数 matches_color (#7541)。

  • 确保如果未显式提供 matches_colorskimage.feature.plot_matched_features 使用相同的随机颜色 (#7541)。

性能#

  • 如果 min_distance=1skimage.feature.peak_local_max 现在将跳过不必要的距离计算。这将提高内部调用 peak_local_max 的函数(如 skimage.feature.blob_dogskimage.feature.blob_logskimage.feature.blob_dohskimage.feature.corner_peaks)的性能 (#7548)。

  • skimage.featurepeak_local_max 中,跳过对传递了 min_distance > 1 的情况进行不必要的检查 (#7548)。

Bug 修复#

  • 确保如果给定的整数 dtype 不能安全地转换为特定于架构的 intp 大小(例如在 i386 架构上),skimage.morphology.remove_objects_by_distance 不会失败 (#7453)。

  • 修复当所有半轴长度相同时 skimage.draw.ellipsoid_stats 中的退化问题 (#7473)。

  • 防止 skimage.morphology.thin 在输入图像为 uint8 dtype 时意外修改输入图像 (#7469)。

  • 修复 skimage.measure.ransac 中的数值精度错误。在某些情况下,ransac 会在第一次迭代时停止 (#7065)。

  • 修复 skimage.measure.ransac 中的数值精度错误;很小的概率会导致 -0 次最大试验 (#7496)。

  • 确保由 skimage.measure.regionprops 返回的 RegionProperties 对象可以使用 pickle 进行反序列化 (#7569)。

  • 修复在 skimage.segmentation.watershed 中设置 watershed_lines=True 导致错误解决方案的边缘情况 (#7071)。

  • 修复当标记与局部最小值不对齐时 skimage.segmentation.watershed 的行为,确保在连续像素之前评估每个标记 (#7071)。

  • 如果将 numpy.uint 与 NumPy<2 一起使用,则修复 skimage.segmentation.join_segmentations 中的 dtype 提升 (#7292)。

文档#

  • skimage.morphology.skeletonize 中,阐明预期的图像 dtypes 以及如何处理不同强度的对象 (#7456)。

  • 修复 skimage.feature.graycomatrix 的文档字符串中的示例部分 (#7297)。

  • 在设置开发环境的说明中一致地使用 conda-forge (#7483)。

  • 使用新的 CITATION.cff 而不是 CITATION.bib (#7505)。

  • 在贡献指南中使用正确的 spin test --coverage (#7515)。

  • 调整对新开发人员的建议;删除 AI 警告 (#7522)。

  • 重新设计安装说明 (#7434)。

  • 改进 skimage.restoration.richardson_lucyimage 参数的描述 (#7477)。

  • 在图库示例“分割人类细胞(有丝分裂)”中,计算每个轮廓级别的段数时,考虑空数组 (#7551)。

  • 修复形态学文档中的拼写错误 (#7606)。

  • skimage.morphology.ball 中参数 radius 的类型描述从 int 更改为 float (#7627)。

基础设施#

  • 修复具有最小依赖项的 CI 测试,并使依赖项解析更加健壮 (#7462)。

  • 添加 CI 以针对自由线程 Python 3.13 测试 scikit-image (#7463)。

  • 解决 autosummary.import_cycle 警告 (#7486)。

  • 暂时排除 Dask 2024.8.0 以修复 CI (#7493)。

  • 再次取消注释 currentmodule 指令 (#7492)。

  • 添加 CI 以发布每晚的自由线程 wheels 包 (#7481)。

  • 更新已弃用的配置 (#7501)。

  • 将 spin 版本提升至 0.11 (#7507)。

  • 确保 PR 中只存在一个 type: 标签 (#7512)。

  • 更新 pydata-sphinx-theme (#7511)。

  • 修复 OpenBLAS s_cmp 未解析符号错误,更新 Emscripten CI 测试 (#7525)。

  • 在休眠消息中渲染段落 (#7549)。

  • 使用并行作业构建 sphinx 文档 (#7579)。

  • 不在 CI 中检查测试覆盖率 (#7594)。

  • 在 macos 上显式设置 conda 以进行 wheel 构建 (#7608)。

维护#

  • 在 CI 中循环遍历所有已证明的工件,以验证它们 (#7447)。

  • 更新已移至 Scientific Python org 的 circleci-artifacts-redirector-action (#7446)。

  • 使用 NumPy 2.0 稳定版构建包 (#7451)。

  • 修复:在 Meson 版本脚本 shebang 中使用 python3 (#7482)。

  • 重构了骨架化测试 (#7459)。

  • 删除未使用和已弃用的依赖项 pytest-runner (#7495)。

  • 排除强制 numpy 降级的 imageio 2.35.0 (#7502)。

  • 不要测试 Dask 兼容性的阈值函数 (#7509)。

  • 修复构建依赖项 (#7510)。

  • spin sdist 添加 sdist 检查 (#7438)。

  • 重新排序 TODO 列表中的项目 (#7519)。

  • 使用 Rotation.from_euler 计算 3D 旋转矩阵 (#7503)。

  • 更新 spin (0.12) (#7532)。

  • 在顶级命名空间中将 lazy_loader 作为私有符号导入 (#7540)。

  • 在构建时设置 -DNPY_NO_DEPRECATED_API=NPY_1_23_API_VERSION (#7538)。

  • 更新上传/下载工件版本 (#7545)。

  • 不要使用已弃用的 io.showio.imshow (#7556)。

  • 隐藏 assert_stacklevel 内的追溯信息 (#7558)。

  • 更新 pre-commit 版本 (#7560)。

  • 放弃对 Python 3.9 的支持 (#7561)。

  • 更新最低依赖项 (SPEC 0) (#7562)。

  • 删除 io/_plugins 中未使用的 PYX 文件 (#7557)。

  • 支持 Python 3.13 (#7565)。

  • 在弃用周期中,保留没有新参数替代的已弃用参数的值 (#7552)。

  • 通过在指令中使用全名来修复丢失的微型画廊 (#7567)。

  • 构建 Python 3.13 wheels 包 (#7571)。

  • 更新 TODO (#7573)。

  • 删除已弃用的高斯输出参数 (#7574)。

  • 在 Windows 上测试 Py3.13 (#7578)。

  • 更新 ruff linter / 格式化程序 (#7580)。

  • 修复格式化问题 (#7581)。

  • CI:将 macos 镜像 pin 从 12 升级到 13 (#7582)。

  • 更新构建依赖项 (#7587)。

  • 更新最低支持的 pyamg (#7586)。

  • 更新文档依赖项 (#7590)。

  • changelist 提升至 v0.5 (#7601)。

  • 将 kaleido 固定到 0.2.1 (#7612)。

  • 更新 upload-nightly-action (#7609)。

  • 更新 pillow (#7615)。

  • 删除 Python 2.7 的残余代码 (#7616)。

  • conf.py 中使用 intersphinx_registry 包来保持 intersphinx url 的最新状态。这意味着现在构建文档需要 intersphinx-registry 包 (#7611)。

  • 更新构建依赖项 (#7614)。

  • 更新文件扩展名并重新格式化 Markdown 文件 (#7617)。

  • 添加关于已弃用的 squarecuberectangle 的遗忘的 TODO (#7624)。

  • 升级到 spin 0.13 (#7622)。

  • skimage 顶级模块中延迟加载旧版导入 (#6892)。

  • CI pre-commit 修复 (#7631)。

贡献者#

此版本增加了 30 位作者(按字母顺序排列)

此版本增加了 25 位审阅者(按字母顺序排列)

_这些列表是自动生成的,可能不完整或可能包含重复项。_