scikit-image 0.19.3 (2022-06-12)#

我们很高兴地宣布 scikit-image v0.19.3 版本的发布!

scikit-image 是一个用于 SciPy 的图像处理工具箱,包括用于分割、几何变换、颜色空间操作、分析、滤波、形态学、特征检测等的算法。

有关更多信息、示例和文档,请访问我们的网站

https://scikit-image.cn

修复的错误#

  • 还原 v0.19.0 中引入的对 skimage.restoration.cycle_spin 默认多通道行为的意外更改(现在再次默认为单通道)

  • 修复 hough_line_peaks 中最佳角度为 0 度的极端情况

  • 修复了涉及对数极坐标变换的注册的图库示例

  • 更新测试套件以与最新的 tifffile 版本兼容。

  • warp/rotate: 修复了当 cval 不在输入范围时裁剪的错误

  • 修复多通道整数值图像的直方图 bin 的计算

常规维护#

  • 更新 skimage.future.manual_polygon_segmentation 以与 Matplotlib 3.5 一起使用。

  • 更新 skimage.io.imread 以避免在使用 imageio>=2.16.2 时出现警告。

  • 现在兼容 Pillow >= 9.1(调色板可能包含 <256 个条目)

  • 添加了对 NumPy 1.23 的支持

包含的拉取请求#

  • 在 v0.19.x 分支上反向移植 PR #6306(修复“使用极坐标和对数极坐标变换进行注册”中的错误)(#6312)

  • 在 v0.19.x 分支上反向移植 PR #6271(hough_line_peaks 修复了最佳角度=0 的极端情况)(#6313)

  • 在 v0.19.x 分支上反向移植 PR #6261(忽略稀疏矩阵弃用警告)(#6316)

  • 反向移植 PR 6328:修复手动分割中较新版本 matplotlib 的问题 (#6334)

  • 在 v0.19.x 分支上反向移植 PR #6343(避免来自 imageio 的关于 v3 API 更改的警告)(#6344)

  • 在 v0.19.x 分支上反向移植 PR #6355(从 test_tifffile_kwarg_passthrough 中删除已弃用的 kwargs 的使用)(#6357)

  • 在 v0.19.x 分支上反向移植 PR #6352(修复 cycle_spin 的 channel_axis 默认值)(#6358)

  • 在 v0.19.x 分支上反向移植 PR #6348(修复当 canny 中的 mask 为 None 时平滑图像的计算)(#6359)

  • 在 v0.19.x 分支上反向移植 PR #6361(记录 io 函数中对 Path 对象 的支持)(#6363)

  • 在 v0.19.x 分支上反向移植 PR #6400(添加对 NumPy 1.23 的支持)(#6403)

  • 在 v0.19.x 分支上反向移植 PR #6335(warp/rotate:修复了当 cval 不在输入范围时裁剪的错误)(#6411)

  • 在 v0.19.x 分支上反向移植 PR #6413(修复多通道整数值图像的直方图 bin 的计算)(#6414)

此版本添加了 10 位作者[按名字或登录名首字母排序]#

  • Albert Y. Shih

  • Bartłomiej Śmietanka

  • Dave Mellert

  • Gregory Lee

  • Graham Inggs

  • Jarrod Millman

  • John Hagen

  • Mark Harfouche

  • Riadh Fezzani

  • Stefan van der Walt

此版本添加了 7 位审阅者[按名字或登录名首字母排序]#

  • Alexandre de Siqueira

  • Gregory Lee

  • Jarrod Millman

  • Juan Nunez-Iglesias

  • Lars Grüter

  • Mark Harfouche

  • Riadh Fezzani

scikit-image 0.19.2 (2021-02-17)#

我们很高兴地宣布 scikit-image v0.19.2 版本的发布! 这主要是 bug 修复版本,尽管有一个新的图库示例与检测哺乳动物细胞核膜的荧光有关。

scikit-image 是一个用于 SciPy 的图像处理工具箱,包括用于分割、几何变换、颜色空间操作、分析、滤波、形态学、特征检测等的算法。

有关更多信息、示例和文档,请访问我们的网站

https://scikit-image.cn

包含的拉取请求#

  • 修复反向移植期间在 tests.yml 中犯的错误 (gh-6129)

  • 在 v0.19.x 分支上反向移植 PR #6145(修复 pyramid_gaussian 和 pyramid_laplace 中的 channel_axis 处理)(gh-6155)

  • 在 v0.19.x 分支上反向移植 PR #6130(提升已弃用的 Azure Windows 环境)(gh-6131)

  • 在 v0.19.x 分支上反向移植 PR #6148(弃用 n_iter_max (应该是 max_num_iter))(gh-6156)

  • 在 v0.19.x 分支上反向移植 PR #6152(指定 mybinder.org 用于图库演示的 Python 版本)(gh-6157)

  • 在 v0.19.x 分支上反向移植 PR #6139(修复 phase_cross_correlation 错别字)(gh-6158)

  • 在 v0.19.x 分支上反向移植 PR #6133(更新查看器模块的用户警告消息。)(gh-6159)

  • 在 v0.19.x 分支上反向移植 PR #6169(修复 match_histograms 输出 dtype 的意外更改)(gh-6172)

  • 在 v0.19.x 分支上反向移植 PR #6184(修复 SIFT 错误八度索引 + 错别字)(gh-6186)

  • 在 v0.19.x 分支上反向移植 PR #6191(修复 issue6190 - pyramids.py 中不一致的默认参数)(gh-6193)

  • 在 v0.19.x 分支上反向移植 PR #6207(当 ProjectiveTransform.estimate 失败时始终将参数设置为 nan)(gh-6210)

  • 在 v0.19.x 分支上反向移植 PR #5262(添加关于测量核膜荧光的类似教科书的教程。)(gh-6213)

  • 在 v0.19.x 分支上反向移植 PR #6087(添加两个数据集以用于即将到来的科学教程。)(gh-6215)

  • 在 v0.19.x 分支上反向移植 PR #6214(当存在 NaN 时,EuclideanTransform.estimate 应返回 False)(gh-6221)

  • 在 v0.19.x 分支上反向移植 PR #6219(允许 output_shape 参数成为 resize 和 resize_local_mean 的任何可迭代对象)(gh-6222)

  • 在 v0.19.x 分支上反向移植 PR #6223(更新测试说明中的文件名。)(gh-6225)

  • 在 v0.19.x 分支上反向移植 PR #6231(更新来自已弃用的 scipy.ndimage.filters 命名空间的导入/引用)(gh-6233)

  • 在 v0.19.x 分支上反向移植 PR #6229(删除 Appveyor 上的冗余测试)(gh-6234)

  • 在 v0.19.x 分支上反向移植 PR #6183(修复装饰器警告 stacklevel)(gh-6238)

  • 在 v0.19.x 分支上反向移植 PR #6239(DOC:修复 SciPy intersphinx)(gh-6241)

  • 在 v0.19.x 分支上反向移植 PR #6232(通过 package_data 包含 Cython 源代码)(gh-6244)

  • 在 v0.19.x 分支上反向移植 PR #6227(修复行进立方体中 Z 法线的计算)(gh-6245)

  • 在 v0.19.x 分支上反向移植 PR #6242(修复带有 enforce_connectivity=Truestart_label > 0 的 SLIC 超像素中的错误)(gh-6246)

  • 在 v0.19.x 分支上反向移植 PR #6211(PiecewiseAffineTransform.estimate 返回值应反映基础变换)gh-6247

  • 更新 wheel 构建脚本中的 MacOS libomp 安装 (gh-6249)

此版本添加了 9 位作者[按名字或登录名首字母排序]#

  • Chris Roat

  • Fabian Schneider

  • Gregory Lee

  • Hande Gözükan

  • Larry Bradley

  • Marianne Corvellec

  • Mark Harfouche

  • Miles Lucas

  • Riadh Fezzani

此版本添加了 8 位审阅者[按名字或登录名首字母排序]#

  • Alexandre de Siqueira

  • Gregory Lee

  • Juan Nunez-Iglesias

  • Marianne Corvellec

  • Mark Harfouche

  • Riadh Fezzani

  • Robert Haase

  • Stefan van der Walt

scikit-image 0.19.1 (2021-12-03)#

我们很高兴地宣布 scikit-image v0.19.1 版本的发布!

这是一个小的错误修复版本,解决了几个向后兼容性问题和 PyPI 上 wheel 的几个问题。具体来说,PyPI 上适用于 Apple M1 (arm64) 的 MacOs wheel 在 0.19.0 中已损坏,但现在应该已修复。arm64 wheel 仅适用于 MacOs >= 12。通过从二进制文件中剥离调试符号并确保 Cython 生成的源文件未捆绑在 wheel 中,相对于 0.19.0,wheel 的大小也大大减小。

包含的拉取请求#

  • 在 v0.19.x 分支上反向移植 PR #6089(跳过需要提取数据的测试)(gh-6115)

  • 在 v0.19.x 分支上反向移植 PR #6097(在 skimage.data 中恢复非下划线函数)(gh-6099)

  • 在 v0.19.x 分支上反向移植 PR #6095(保留变换函数中 channel_axis 参数的向后兼容性)(gh-6100)

  • 在 v0.19.x 分支上反向移植 PR #6103(使 rank 过滤器测试比较在不同架构上保持稳健)(gh-6106)

  • 在 v0.19.x 分支上反向移植 PR #6105(将特定的 random_state 传递到 test_ransac_geometric 中的 ransac)(gh-6107)

  • 修复 wheel 构建脚本中的两个相等比较错误 (gh-6098)

  • 反向移植 gh-6109(在 wheel 构建期间添加链接器标志以剥离调试符号)(gh-6110)

  • 在 v0.19.x 中将 setuptools 最大值固定,以避免在计划的 distutils API 更改时中断 (gh-6112)

  • 避免 rgb2gray 的潜在循环导入 (gh-6113)

  • 在 v0.19.x 分支上反向移植 PR #6089(跳过需要提取数据的测试)(gh-6115)

  • 在 v0.19.x 分支上反向移植 PR #6118(修复 tests.yml 并修复预期的警告)(gh-6127)

  • 在 v0.19.x 分支上反向移植 PR #6114(放宽测试条件,使其对可变的 CI 负载更加稳健)(gh-6128)

此版本添加了 3 位作者[按名字或登录名首字母排序]#

  • Gregory R. Lee

  • Joshua Newton

  • Mark Harfouche

此版本添加了 5 位审阅者[按名字或登录名首字母排序]#

  • Gregory R. Lee

  • Juan Nunez-Iglesias

  • Marianne Corvellec

  • Mark Harfouche

  • Stefan van der Walt

scikit-image 0.19.0 (2021-12-03)#

我们很高兴地宣布 scikit-image v0.19.0 版本的发布!

scikit-image 是一个用于 SciPy 的图像处理工具箱,包括用于分割、几何变换、颜色空间操作、分析、滤波、形态学、特征检测等的算法。

有关更多信息、示例和文档,请访问我们的网站

https://scikit-image.cn

此版本的一个亮点是添加了流行的尺度不变特征变换 (SIFT) 特征检测器和描述符。此版本还引入了感知模糊度量、新的像素图算法,并且大多数函数现在在提供单精度输入时以单精度运行。下面详细介绍了许多其他 bug 修复、增强功能和性能改进。

此版本的一个重大变化是对多通道图像的处理方式。函数中现有的 multichannel 参数已被弃用,取而代之的是新的 channel_axis 参数。channel_axis 可用于指定数组的哪个轴包含通道信息(其中 channel_axis=None 表示灰度图像)。

scikit-image 现在使用“懒加载”,这使得用户可以访问所有 skimage 子模块中的函数,而无需预先导入所有子模块。举个具体的例子,在调用 “import skimage” 之后,用户可以直接调用诸如 skimage.transform.warp 之类的函数,而之前则需要首先 “import skimage.transform”。

开发方面一个令人兴奋的变化是引入了对 Pythran 的支持,作为生成编译代码的 Cython 的替代方案。我们计划在未来继续保留对 Cython 的支持,因此开发人员可以自由地选择使用其中任何一个。对于那些对 Pythran 感兴趣的人,SciPy 2021 的演讲“使用 Pythran 构建 SciPy 内核”(https://www.youtube.com/watch?v=6a9D9WL6ZjQ) 中给出了一个很好的概述。

此版本现在支持 Python 3.7-3.10。此版本新增了对 Apple M1 架构 (arm64) 的支持。为 Python 3.8-3.10 提供了 MacOS 12 wheels。

新特性#

  • 增加了对处理通道位于任何数组轴上的图像的支持。这与之前的版本形成对比,之前的版本要求通道必须是图像的最后一个轴。有关新的 channel_axis 参数的更多信息,请参见发行说明的 API 部分。

  • 添加了感知模糊的无参考度量 (skimage.measure.blur_effect)。

  • fast_mode=True 时,非局部均值 (skimage.restoration.denoise_nl_means) 现在支持 3D 多通道、4D 和 4D 多通道数据。

  • 添加了 n 维傅里叶域巴特沃斯滤波器 (skimage.filters.butterworth)。

  • 颜色转换函数现在有一个新的 channel_axis 关键字参数,允许指定数组的哪个轴对应于通道。为了向后兼容,此参数默认为 channel_axis=-1,表示通道位于最后一个轴上。

  • morphology.medial_axisrestoration.unsupervised_wiener 添加了一个新的仅关键字参数 random_state

  • 由于底层生成器已更新为使用 numpy.random.Generator,因此随机数生成器的种子设置不会给出相同的结果。

  • skimage.color.label2rgb 添加了 saturation 参数。

  • 添加了归一化互信息度量 skimage.metrics.normalized_mutual_information

  • threshold_local 现在支持 n 维输入和各向异性 block_size

  • 新的 skimage.util.label_points 函数用于将标签分配给点。

  • 为多个几何变换类添加了 nD 支持

  • 添加了 skimage.metrics.hausdorff_pair 以查找由 Hausdorff 距离分隔的点。

  • skimage.color.lab2rgbskimage.color.rgb2labskimage.color.xyz2labskimage.color.lab2xyzskimage.color.xyz2luvskimage.color.luv2xyz 添加了额外的颜色空间 illuminantsobservers 参数选项。

  • skimage.filters.threshold_multiotsu 有一个新的 hist 关键字参数,允许与用户提供的直方图一起使用。(gh-5543)

  • skimage.restoration.denoise_bilateral 增加了对包含负值的图像的支持。(gh-5527)

  • skimage.feature 函数 blob_dogblob_dohblob_log 现在支持 threshold_rel 关键字参数,该参数可用于指定相对阈值(范围 [0, 1]),而不是绝对阈值。(gh-5517)

  • 实现惰性子模块导入 (gh-5101)

  • 实现几何变换矩阵的加权估计 (gh-5601)

  • skimage.graph 中添加了新的像素图算法:pixel_graph 根据像素的邻接关系生成像素图(网络),central_pixel 查找像素的测地线中心。(gh-5602)

  • scikit-image 现在支持在贡献代码中使用 Pythran。(gh-3226)

文档#

  • 一个新的文档教程,展示了一个 3D 生物医学成像示例,已添加到图库中 (gh-4946)。技术内容得益于与 Genevieve Buckley、Kevin Mader 和 Volker Hilsenstein 的对话。

  • 3D 结构张量的新图库示例。

  • 显示 3D 数据集的新图库示例。

  • 使用 ECG 数据(1D)扩展滚动球示例。

  • 染色分离图库示例已修复,现在可以正确显示染色的分离。

  • 已在贡献说明中添加了有关如何提交图库示例的文档。

  • 自动格式化形态学中的文档字符串。

  • 即使在 CLI 运行脚本时,也可以显示图库示例中的 plotly 图形。

  • 在审查过程中挑选出仅限文档的 PR。

  • 使用 matplotlib 的无限 axline 来演示霍夫变换。

  • 澄清关于“shape”的磁盘文档不一致性。

  • 文档:修复简单的拼写错误,conversions -> conversions。

  • 修复示例中的 linspace。

  • 对霍夫线变换代码和示例进行了小的修复。

  • 在几个示例中,向显示的图像范围添加了 1/2 像素边界。

  • 在 github 上向 RELEASE.txt 添加发布步骤。

  • 删除 threshold_local 文档中对 opencv 的引用。

  • 更新 structure_tensor 文档字符串以包含每个轴的 sigma。

  • 修复 _shared/utils.py 文档中的拼写错误。

  • 校对并交叉链接带有免疫组织化学图像的示例。

  • 拼写更正:witch -> which。

  • 在 radon_transform -> filtered-back-projection 中提及可能的过滤器

  • 修复 watershed 文档中的 dtype 信息。

  • 校对 Radon 变换的图库示例。

  • 使用内部函数进行噪声处理 + 在 Canny 示例中澄清代码。

  • 在过滤器中制作更全面的“另请参阅”部分。

  • 指定发行说明版本,而不是误导性的 latest

  • 删除 plot_thresholding.py 示例中的误导性注释。

  • 修复 sphinx 布局,使搜索引擎可以使用最新的 sphinx 版本。

  • 在 RAG 示例中绘制节点 ID。

  • 更新 denoise_bilateral 中的 sigma_color 描述。

  • 更新 intersphinx 回退库存 + 添加 matplotlib 回退库存。

  • 修复 plot_local_equalize.py 中的 numpy 弃用。

  • plot_regionprops.py 中重命名 label 变量以规避文档中的链接问题。

  • 避免 ImageViewer、CollectionViewer 的重复 API 文档。

  • 修复 gaussian 文档中的 “blog_dog” 拼写错误。

  • 更新 adjust_sigmoid 函数中的参考链接文档。

  • 修复 TrainableSegmenter 中对 multiscale_basic_features 的引用。

  • 稍微修改 shape_index 文档字符串以指定 2D 数组。

  • 添加拼接图库示例 (gh-5365)

  • 添加草案 SKIP3:过渡到 scikit-image 1.0 (gh-5475)

  • 在贡献指南中提及提交消息。(gh-5504)

  • 修复并标准化 blob 检测函数的文档字符串。(gh-5547)

  • 更新用户指南以反映 channel_axis 而不是 multichannel 的用法。(gh-5554)

  • 更新用户指南以使用 channel_axis 而不是 multichannel (gh-5556)

  • 添加指向引用文档位置的超链接。(gh-5560)

  • 更新分支说明以更改 pooch 仓库的位置。(gh-5565)

  • 向 Cascade 类文档字符串添加注释和参考部分。(gh-5568)

  • 在 skimage.feature.corner 文档字符串中澄清 2D 与 nD (gh-5569)

  • 修复 plot_swirl.py 示例中的数学公式。(gh-5574)

  • 更新纹理特征检测器文档字符串中的引用 (gh-5578)

  • 将邮件列表位置更新为 discuss.scientific-python.org 论坛 (gh-5951)

  • DOC:修复 rescale_intensity() 中的文档字符串 (gh-5964)

  • 修复 slic 文档 (gh-5975)

  • 更新膨胀的文档字符串,现在是 nD。(gh-5978)

  • 更改拼接图库示例缩略图 (gh-5985)

  • 将 circle 和 disk 添加到 glossary.md (gh-5590)

  • 更新像素图示例 (gh-5991)

  • 分隔在 glossary.md 中具有相同描述的条目 (gh-5592)

  • 请勿在指令名称中的冒号前使用空格 (gh-6002)

改进#

  • 库中的更多函数现在都支持单精度 (float32)。

  • 双调和修复 (skimage.restoration.inpaint_biharmonic) 经过重构,速度比以前快几个数量级。

  • 使用 skimage.util.random_noise 生成椒盐噪声现在更快了。

  • 对于用户提供掩码的情况,改进了 SLIC 超像素算法 (skimage.segmentation.slice) 的性能 (gh-4903)。掩码 SLIC 生成的特定超像素将与先前版本生成的超像素不完全相同。

  • 由于 LUT,exposure.adjust_gamma 对于 uint8 图像已加速 (gh-4966)。

  • 通过使用 scipy.ndimage 针对布尔输入图像的实现,加速了 measure.label 的处理速度 (gh-4945)。

  • util.apply_parallel 现在可以处理多通道数据 (gh-4927)。

  • skimage.feature.peak_local_max 现在支持任何闵可夫斯基距离。

  • skimage.filters.correlate_sparse 提供了快速的非 Cython 实现。

  • 为了提高效率,直方图现在在 skimage.filters.try_all_threshold 中预先计算。

  • 当给定有限的 num_peaks 时,skimage.filters.find_local_max 的速度更快。

  • skimage.filters.rank 模块中的所有过滤器现在都释放 GIL,从而支持多线程使用。

  • skimage.restoration.denoise_tv_bregmanskimage.restoration.denoise_bilateral 现在都释放 GIL,从而支持多线程使用。

  • 解决了 skimage.color.label2rgb 的性能回归问题。

  • 提高了 CircleModel.estimate 中的数值精度。(gh-5190)

  • skimage.restoration.denoise_tv_bregmanskimage.measure.block_reduceskimage.filters.threshold_local 添加了默认关键字参数值。(gh-5454)

  • 使 matplotlib 成为可选依赖项 (gh-5990)

  • skimage.filters 中支持单精度 (gh-5354)

  • label2rgb 中支持 nD 图像和标签 (gh-5550)

  • Regionprops 表的性能重构 (gh-5576)

  • 添加 regionprops 基准测试脚本 (gh-5579)

  • 从 greycomatrix 和 greycoprops 中删除 apply_along_axes 的使用 (gh-5580)

  • 重构 gabor_kernel 以提高效率 (gh-5582)

  • 删除 skimage.filters 中对 channel_as_last_axis 装饰器的需求 (gh-5584)

  • 将 scipy.ndimage.gaussian_filter 的使用替换为 skimage.filters.gaussian (gh-5872)

  • 向 quickshift 添加 channel_axis 参数 (gh-5987)

  • 添加 MacOS arm64 wheels (gh-6068)

API 变更#

  • multichannel 布尔参数已被弃用。所有具有多通道支持的函数现在都使用整数 channel_axis 来指定哪个轴对应于通道。将 channel_axis 设置为 None 用于表示图像为灰度图像。具体来说,现有代码中 multichannel=True 应该更新为使用 channel_axis=-1,而 multichannel=False 的代码现在应该指定 channel_axis=None

  • 当输入具有 float32 dtype 时,大多数函数现在返回 float32 图像。

  • 已向 measure.find_contours 添加了默认值,对应于图像的最小值和最大值之间距离的一半 (gh-4862)。

  • 引入 data.cat 作为 data.chelsea 的别名,以获得更具描述性的名称。

  • measure.find_contourslevel 参数现在是一个关键字参数,默认值设置为 (max(image) - min(image)) / 2

  • skimage.feature.peak_local_max 添加了 p_norm 参数,以支持闵可夫斯基距离。

  • skimage.transforms.integral_image 现在默认将浮点输入提升为双精度(为了准确性)。如果需要,可以使用新的 dtype 关键字参数来覆盖此行为。

  • 颜色转换函数现在有一个新的 channel_axis 关键字参数(请参阅 新特性 部分)。

  • 对于未缩放到 [0, 1] 范围的数据,SLIC 超像素分割的输出可能与以前的版本有所不同。现在自动将输入内部重新缩放到 [0, 1],以便 compactness 参数的效果与输入图像的缩放无关。

  • skimage.register.phase_cross_correlation 中应用的相位归一化进行的错误修复可能会导致与之前版本不同的结果。通过显式设置 normalization=None,仍然可以使用先前“未归一化”互相关的行为。对于使用不同算法的掩模互相关情况,没有变化。

Bugfixes#

  • 避免在 skimage.feature.peak_local_max 中对输入 labels 参数进行重新编号 (gh-5047)。

  • 修复应用抗锯齿时调整大小的剪切错误 (gh-5202)

  • 使用 mode='subpixel' 的 find_bounaries 时,图像边缘的非零值不再被错误地标记为边界 (gh-5447)。

  • 修复 _label2rgb_avg 函数的返回 dtype。

  • 确保 skimage.color.separate_stains 不返回负值。

  • 防止 EllipseModel 中的整数溢出。

  • 修复 Hough 线变换中的像素箱的偏差错误,skimage.transform.hough_line

  • skimage.filters.gaussian 中正确处理一维数组。

  • 修复 skimage.segmentation.random_walker 中的拉普拉斯矩阵大小错误。

  • Regionprops 表(skimage.measure.regionprops_table)dtype 错误修复。

  • 修复使用小比例因子时的 skimage.transform.rescale

  • 修复 skimage.measure.label 的段错误。

  • 分水岭 (skimage.segmentation.watershed):计算标记时考虑连通性。

  • 修复 order=0 时 skimage.transform.warp 的输出 dtype。

  • 修复 regionprops 中多通道 intensity_image 的 extra_properties。

  • 修复图像太小时 skimage.metric.structural_similarity 的错误消息。

  • 不要在 skimage.segmentation.find_boundaries 的“subpixel”模式下标记图像边缘。

  • 修复 skimage.exposure.is_low_contrast 对布尔输入的行为。

  • 修复 skimage.metric.structural_similarity 中 ValueError 的字符串参数的错误语法。

  • 修复了 skimage.filters.threshold_otsu 中的 NaN 问题。

  • 修复 skimage.feature.blob_dog 的文档字符串示例和归一化。

  • 修复 skimage.exposure.adjust_gamma 中的 uint8 溢出。

  • 使用 pooch 1.5.0 获取数据 (gh-5529)。

  • skimage.graph.MCPoffsets 属性现在是公开的。(gh-5547)

  • 修复 io.imread 对 pathlib.Path 输入的行为 (gh-5543)

  • 使 scikit-image 从 Pooch 的导入与 pooch >= 1.5.0 兼容。(gh-5529)

  • 修复了几个损坏的 doctest,并在 GitHub Actions 上恢复了 doctesting。(gh-5505)

  • 修复了 skimage.exposure.histogramskimage.measure.regionprops_table 中损坏的 doctest。(gh-5522)

  • 在 SLIC 超像素分割期间一致地重新缩放图像。(gh-5518)

  • 更正 skimage.register.phase_cross_correlation 中的相位相关性。(gh-5461)

  • 修复 skimage.graph.MCP 中隐藏的属性 'offsets' (gh-5551)

  • 修复带参考掩模的 3D phase_cross_correlation (gh-5559)

  • 修复未找到峰值时 blob_log 和 blob_dog 的返回形状 (gh-5567)

  • 修复查找轮廓键错误 (gh-5577)

  • 重构 measure.ransac 并在估计的模型无效时添加警告 (gh-5583)

  • 为边缘滤波器恢复整数图像重新缩放 (gh-5589)

  • trainable_segmentation:在错误情况下重新引发 (gh-5600)

  • 允许使用已弃用的属性名称调用 regionprops_table (gh-5908)

  • 修复非局部均值的快速模式中的权重计算 (gh-5923)

  • 修复 #5948:equalize_adapthist 中 kernel_size 的下限为 1 (gh-5949)

  • 在 imsave 中将 pathlib.Path 转换为 str (gh-5971)

  • 修复 slic 间距 (gh-5974)

  • 向 richardson_lucy 添加小的正则化以避免零除 (gh-5976)

  • 修复基准测试套件(分水岭函数已移动)(gh-5982)

  • 捕获 QhullError 并返回空数组 (convex_hull) (gh-6008)

  • 为所有新弃用的 regionprops 名称添加属性 getter (gh-6000)

  • 修复 3D 情况下椭球轴长度的估计 (gh-6013)

  • 修复峰值局部最大值的段错误 (gh-6035)

  • 避免 EAGER_IMPORT=1 时的循环导入错误 (gh-6042)

  • 删除所有对已弃用的 distutils 包的使用 (gh-6044)

弃用#

完成先前版本中已弃用的内容#

  • measure.label 中,已删除已弃用的 neighbors 参数(请改用 connectivity)。

  • 已删除已弃用的 skimage.color.rgb2greyskimage.color.grey2rgb 函数(请改用 skimage.color.rgb2grayskimage.color.gray2rgb)。

  • skimage.color.rgb2gray 不再允许灰度或 RGBA 输入。

  • 现在已删除 skimage.color.gray2rgb 已弃用的 alpha 参数。使用 skimage.color.gray2rgba 进行转换为 RGBA。

  • 尝试使用 order > 0 扭曲布尔图像现在会引发 ValueError。

  • 扭曲或重新缩放布尔图像时,设置 anti-aliasing=True 将引发 ValueError。

  • skimage.color.label2rgbbg_label 参数现在为 0。

  • 现在已删除 skimage.transform.iradon 的已弃用 filter 参数(请改用 filter_name)。

  • 已删除已弃用的 skimage.draw.circle 函数(请改用 skimage.draw.disk)。

  • 已删除已弃用的 skimage.feature.register_translation 函数(请改用 skimage.registration.phase_cross_correlation)。

  • 已移除已弃用的 skimage.feature.masked_register_translation 函数(请改用 skimage.registration.phase_cross_correlation)。

  • 已移除已弃用的 skimage.measure.marching_cubes_classic 函数(请改用 skimage.measure.marching_cubes)。

  • 已移除已弃用的 skimage.measure.marching_cubes_lewiner 函数(请改用 skimage.measure.marching_cubes)。

  • 已移除已弃用的 skimage.segmentation.circle_level_set 函数(请改用 skimage.segmentation.disk_level_set)。

  • skimage.morphology.flood_fill 的已弃用参数 inplace

  • 已移除已弃用的 skimage.util.pad 函数(请改用 numpy.pad)。已移除(请改用 in_place)。

  • skimage.filters.hessian 中的默认 mode 现在为 'reflect'

  • skimage.filters.sato 中的默认边界 mode 现在为 'reflect'

  • skimage.measure.profile_line 中的默认边界 mode 现在为 'reflect'

  • skimage.restoration.denoise_nl_meanspreserve_range 的默认值现在为 False。

  • skimage.segmentation.slicstart_label 的默认值现在为 1。

新引入的弃用:#

  • multichannel 参数现在在整个库中已弃用,将在 1.0 版本中移除。应改用新的 channel_axis 参数。应将具有 multichannel=True 的现有代码更新为使用 channel_axis=-1,而具有 multichannel=False 的代码现在应指定 channel_axis=None

  • skimage.feature.greycomatrixskimage.feature.greycoprops 已弃用,推荐使用 skimage.feature.graycomatrixskimage.feature.graycoprops

  • skimage.morphology.grey 模块已重命名为 skimage.morphology.gray。旧名称已弃用。

  • skimage.morphology.greyreconstruct 模块已重命名为 skimage.morphology.grayreconstruct。旧名称已弃用。

  • 请参阅 API 更改 部分,了解与迭代次数相关的已弃用参数名称的函数。num_iterationsmax_num_iter 现在在整个库中使用。

  • 请参阅 API 更改 部分,了解整个库中已弃用 selem 参数而推荐使用 footprint 的情况

  • 弃用 in_place,推荐在 skimage.morphology.remove_small_objectsskimage.morphology.remove_small_holesskimage.segmentation.clear_border 中使用显式的 out 参数

  • skimage.measure.labelinput 参数已重命名为 label_image。旧名称已弃用。

  • 标准化使用 num_iter 表示描述迭代次数的参数,使用 max_num_iter 表示指定迭代限制的参数。已弃用旧参数名称的函数有:

    skimage.filters.threshold_minimum
    skimage.morphology.thin
    skimage.restoration.denoise_tv_bregman
    skimage.restoration.richardson_lucy
    skimage.segmentation.active_contour
    skimage.segmentation.chan_vese
    skimage.segmentation.morphological_chan_vese
    skimage.segmentation.morphological_geodesic_active_contour
    skimage.segmentation.slic
    
  • skimage.measure.regionprops 中几个参数的名称已更新,以便更好地按名称的第一个词或几个词对属性进行分组。为了向后兼容,旧名称将继续有效。已更新的具体名称如下:

    ============================ ============================
    Old Name                     New Name
    ============================ ============================
    max_intensity                intensity_max
    mean_intensity               intensity_mean
    min_intensity                intensity_min
    
    bbox_area                    area_bbox
    convex_area                  area_convex
    filled_area                  area_filled
    
    convex_image                 image_convex
    filled_image                 image_filled
    intensity_image              image_intensity
    
    local_centroid               centroid_local
    weighted_centroid            centroid_weighted
    weighted_local_centroid      centroid_weighted_local
    
    major_axis_length            axis_major_length
    minor_axis_length            axis_minor_length
    
    weighted_moments             moments_weighted
    weighted_moments_central     moments_weighted_central
    weighted_moments_hu          moments_weighted_hu
    weighted_moments_normalized  moments_weighted_normalized
    
    equivalent_diameter          equivalent_diameter_area
    ============================ ============================
    
  • 整个库中 selem 参数已重命名为 footprintselem 参数现在已弃用。

开发过程#

  • 添加了测试设置和拆卸函数,允许通过 SKIMAGE_TEST_STRICT_WARNINGS_GLOBAL 环境变量在任何未捕获的警告时引发错误。

  • 提高发布过程的自动化程度。

  • 在源代码之前发布 wheels

  • 更新支持的最低 Matplotlib、NumPy、SciPy 和 Pillow 版本

  • 将 pillow 版本固定为 !=8.3.0

  • 将所有地方的 master 重命名为 main

  • 确保 README.txt 具有后续导入的写入权限。

  • 使用单线程运行人脸分类图库示例

  • 在 Azure 上启用 pip 和 skimage.data 缓存

  • 修复 CircleCI 和 Azure CI 缓存。

  • 解决 Cython 警告。

  • 在 Azure 上运行时禁用对 plotly.io.show 的调用。

  • 删除旧的 Travis-CI 脚本并相应地更新贡献者文档。

  • 提高 cibuildwheel 的详细程度。

  • 在开发环境安装期间更新 pip。

  • 向 CI 添加基准检查。

  • 解决 CI 上随机排序过滤器测试失败的问题。

  • 确保 README.txt 具有后续导入的写入权限。

  • 用于帮助在关键字参数 multichannel 和 channel_axis 之间转换的装饰器。

  • 在 lch2lab docstring 示例中添加缺失的导入 (gh-5998)

  • 首选从 setuptools 导入 build_py 和 sdist (gh-6007)

  • 重新引入 skimage.test 实用程序 (gh-5909)

其他更新#

  • 重构 np.random.x 以使用 np.random.Generator。

  • 避免有关使用已弃用的 scipy.linalg.pinv2 的警告。

  • 使用新的 SciPy 1.6 缩放选项简化调整大小的实现。

  • 修复 test_unsharp_mask.py 中的重复测试函数名称。

  • 基准测试:修复 ResizeLocalMeanSuite.time_resize_local_mean 签名。

  • 首选在测试中使用新的 NumPy 随机 API (gh-5450)

  • 在 test_simpleitk.py 中添加强制执行 SimpleITK I/O 的 fixture (gh-5526)

  • MNT:从 skimage 数据中删除未使用的 stat 导入 (gh-5566)

  • MAINT:删除未使用的导入 (gh-5595)

  • MAINT:重构重复的测试,删除不必要的赋值和变量 (gh-5596)

  • 删除过时的惰性导入 (gh-5992)

  • 将 data_dir 惰性加载到顶层命名空间 (gh-5996)

  • 将 scipy 要求更新为 1.4.1,并使用 scipy.fft 代替 scipy.fftpack (gh-5999)

  • 删除生成 Requires 元数据的行 (gh-6017)

  • 更新 wheel 构建以包括 Python 3.10 (gh-6021)

  • 更新 pyproject.toml 以处理 Python 3.10 和 Apple arm64 (gh-6022)

  • 在 GitHub Actions 和 Appveyor 上添加 python 3.10 测试运行 (gh-6027)

  • 将 sphinx 固定到 <4.3,直到新的 sphinx-gallery 版本可用 (gh-6029)

  • 放宽导致 cibuildwheel 上 i686 测试失败的几个相等性测试 (gh-6031)

  • 避免“import skimage”期间的 matplotlib 导入开销 (gh-6032)

  • 更新 sphinx gallery pin (gh-6034)

此版本的贡献者#

此版本添加了 80 位作者 [按名字或登录名首字母排序]#

  • Abhinavmishra8960 (Abhinavmishra8960)

  • abouysso

  • Alessia Marcolini

  • Alex Brooks

  • Alexandre de Siqueira

  • Andres Fernandez

  • Andrew Hurlbatt

  • andrewnags (andrewnags)

  • Antoine Bierret

  • BMaster123 (BMaster123)

  • Boaz Mohar

  • Bozhidar Karaargirov

  • Carlos Andrés Álvarez Restrepo

  • Christoph Gohlke

  • Christoph Sommer

  • Clement Ng

  • cmarasinou

  • Cris Luengo

  • David Manthey

  • Devanshu Shah

  • Dhiraj Kumar Sah

  • divyank agarwal

  • Egor Panfilov

  • Emmanuelle Gouillart

  • Erik Reed

  • erykoff (erykoff)

  • Fabian Schneider

  • Felipe Gutierrez-Barragan

  • François Boulogne

  • Fred Bunt

  • Fukai Yohsuke

  • Gregory R. Lee

  • Hari Prasad

  • Harish Venkataraman

  • Harshit Dixit

  • Ian Hunt-Isaak

  • Jaime Rodríguez-Guerra

  • Jan-Hendrik Müller

  • Janakarajan Natarajan

  • Jenny Vo

  • john lee

  • Jonathan Striebel

  • Joseph Fox-Rabinovitz

  • Juan Antonio Barragan Noguera

  • Juan Nunez-Iglesias

  • Julien Jerphanion

  • Jurneo

  • klaussfreire (klaussfreire)

  • Larkinnjm1 (Larkinnjm1)

  • Lars Grüter

  • Mads Dyrmann

  • Marianne Corvellec

  • Marios Achilias

  • Mark Boer

  • Mark Harfouche

  • Matthias Bussonnier

  • Mauro Silberberg

  • Max Frei

  • michalkrawczyk (michalkrawczyk)

  • Niels Cautaerts

  • Pamphile ROY

  • Pradyumna Rahul

  • R

  • Raphael

  • Riadh Fezzani

  • Robert Haase

  • Sebastian Gonzalez Tirado

  • Sebastián Vanrell

  • serge-sans-paille (serge-sans-paille)

  • Stefan van der Walt

  • t.ae

  • that1solodev (Xyno18)

  • Thomas Walter

  • Tim Gates

  • Tom Flux

  • Vinicius D. Cerutti

  • Volker Hilsenstein

  • WeiChungChang

  • yacth

  • Yash-10 (Yash-10)

此版本添加了 63 位审阅者 [按名字或登录名首字母排序]#

  • Abhinavmishra8960

  • Alessia Marcolini

  • Alex Brooks

  • Alexandre de Siqueira

  • Andres Fernandez

  • Andrew Hurlbatt

  • andrewnags

  • BMaster123

  • Boaz Mohar

  • Carlos Andrés Álvarez Restrepo

  • Clement Ng

  • Cris Luengo

  • Dan Schult

  • David Manthey

  • Egor Panfilov

  • Emmanuelle Gouillart

  • erykoff

  • Fabian Schneider

  • Felipe Gutierrez-Barragan

  • François Boulogne

  • Fukai Yohsuke

  • Genevieve Buckley

  • Gregory R. Lee

  • Jan Eglinger

  • Jan-Hendrik Müller

  • Janakarajan Natarajan

  • Jarrod Millman

  • Jirka Borovec

  • Joan Massich

  • Johannes Schönberger

  • john lee

  • Jon Crall

  • Joseph Fox-Rabinovitz

  • Josh Warner

  • Juan Nunez-Iglesias

  • Julien Jerphanion

  • Kenneth Hoste

  • klaussfreire

  • Larkinnjm1

  • Lars Grüter

  • Marianne Corvellec

  • Mark Boer

  • Mark Harfouche

  • Matthias Bussonnier

  • Max Frei

  • michalkrawczyk

  • Niels Cautaerts

  • Pamphile ROY

  • Pomax

  • R

  • Raphael

  • Riadh Fezzani

  • Robert Kern

  • Ross Barnowski

  • Sebastian Berg

  • Sebastian Gonzalez Tirado

  • Sebastian Wallkötter

  • serge-sans-paille

  • Stefan van der Walt

  • t.ae

  • Vinicius D. Cerutti

  • Volker Hilsenstein

  • Yash-10