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

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

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

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

https://scikit-image.org

修复的Bug#

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

  • 在 hough_line_peaks 中修复了 0 度最佳角度的边缘情况

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

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

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

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

常规维护#

  • 更新 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(修复了在最佳角度为0时的 hough_line_peaks 边缘情况)(#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(当 mask 为 None 时修复 canny 中的平滑图像计算)(#6359)

  • 在分支 v0.19.x 上回溯 PR #6361(在 io 函数中支持 Path 对象的文档)(#6363)

  • 在分支 v0.19.x 上回溯 PR #6400(添加对 NumPy 1.23 的支持)(#6403)

  • 回溯 PR #6335 到分支 v0.19.x (warp/rotate: 修复了当 cval 不在输入范围内时的裁剪错误) (#6411)

  • 在分支 v0.19.x 上回溯 PR #6413(修复多通道整数值图像的直方图箱计算)(#6414)

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

  • 阿尔伯特·Y·徐

  • Bartłomiej Śmietanka

  • 戴夫·梅勒特

  • 格雷戈里·李

  • 格雷厄姆·英格斯

  • Jarrod Millman

  • 约翰·哈根

  • 马克·哈福克

  • Riadh Fezzani

  • 斯蒂芬·范·德·瓦特

7 位审阅者已添加到此版本 [按名字或登录名的字母顺序排列]#

  • 亚历山大·德·西奎拉

  • 格雷戈里·李

  • Jarrod Millman

  • Juan Nunez-Iglesias

  • Lars Grüter

  • 马克·哈福克

  • Riadh Fezzani

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

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

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

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

https://scikit-image.org

包含的拉取请求#

  • 修复在回溯过程中在 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(为 gallery 演示指定 mybinder.org 使用的 Python 版本)(gh-6157)

  • 在分支 v0.19.x 上回溯 PR #6139(修复 phase_cross_correlation 拼写错误)(gh-6158)

  • 在分支 v0.19.x 上回溯 PR #6133(更新 viewer 模块的用户警告消息。)(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(允许 resize 和 resize_local_mean 的 output_shape 参数为任何可迭代对象)(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(修复装饰器警告堆栈级别)(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 位作者添加到此版本 [按名字或登录名首字母排序]#

  • 克里斯·罗特

  • 法比安·施奈德

  • 格雷戈里·李

  • Hande Gözükan

  • 拉里·布拉德利

  • 玛丽安·科尔维莱克

  • 马克·哈福克

  • Miles Lucas

  • Riadh Fezzani

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

  • 亚历山大·德·西奎拉

  • 格雷戈里·李

  • Juan Nunez-Iglesias

  • 玛丽安·科尔维莱克

  • 马克·哈福克

  • Riadh Fezzani

  • 罗伯特·哈斯

  • 斯蒂芬·范·德·瓦特

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

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

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

包含的拉取请求#

  • 在分支 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(使排名过滤器测试比较在不同架构间更加健壮)(gh-6106)

  • 在分支 v0.19.x 上回溯 PR #6105(在 test_ransac_geometric 中传递特定的 random_state 到 ransac)(gh-6107)

  • 修复了轮子构建脚本中的两个相等比较错误(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 位作者添加到此版本 [按名字或登录名首字母排序]#

  • 格雷戈里·R·李

  • 约书亚·牛顿

  • 马克·哈福克

此版本添加了5位评审者 [按名字或登录名的字母顺序排列]#

  • 格雷戈里·R·李

  • Juan Nunez-Iglesias

  • 玛丽安·科尔维莱克

  • 马克·哈福克

  • 斯蒂芬·范·德·瓦特

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

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

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

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

https://scikit-image.org

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

此版本的一个重要变化是对多通道图像的处理。现有的 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 的轮子。

新功能#

  • 增加了对通道位于任意数组轴上的图像进行处理的支持。这与之前版本中要求通道必须是图像的最后一个轴的情况不同。有关新 channel_axis 参数的更多信息,请参阅发布说明的 API 部分。

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

  • 非局部均值 (skimage.restoration.denoise_nl_means) 现在支持 fast_mode=True 时的 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 中添加了额外的颜色空间 光源观察者 参数选项。

  • 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结构张量图库示例。

  • 新的图库示例展示了三维数据集。

  • 扩展的滚动球示例与心电图数据(1D)。

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

  • 关于如何提交图库示例,贡献说明中已添加了相关文档。

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

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

  • 在评审过程中单独列出仅包含文档的PR。

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

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

  • docs: 修复简单拼写错误, conversions -> conversions.

  • 修复了示例中的 linspace。

  • 对Hough线变换代码和示例进行了小修补。

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

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

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

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

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

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

  • 拼写修正:witch -> which。

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

  • 修复分水岭文档中的 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 文档字符串修改以指定二维数组。

  • 添加拼接图库示例 (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类的docstring中。(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)

  • 修复切片文档 (gh-5975)

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

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

  • 在 glossary.md 中添加 circle 和 disk (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 生成的特定超像素将与先前版本生成的超像素不同。

  • exposure.adjust_gamma 由于使用了LUT(gh-4966),对 uint8 图像的处理速度得到了提升。

  • measure.label 已针对布尔输入图像进行了加速,通过使用 scipy.ndimage 在此情况下的实现(gh-4945)。

  • util.apply_parallel 现在支持多通道数据(gh-4927)。

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

  • 快速,非Cython实现用于 skimage.filters.correlate_sparse

  • 为了提高效率,直方图现在在 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)

  • 区域属性表性能重构 (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 轮子 (gh-6068)

API 变更#

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

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

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

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

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

  • p_norm 参数被添加到 skimage.feature.peak_local_max 中,以增加对闵可夫斯基距离的支持。

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

  • 颜色转换函数现在有一个新的 channel_axis 关键字参数(参见 新功能 部分)。

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

  • skimage.register.phase_cross_correlation 中应用的相位归一化的修复可能会导致与之前版本相比产生不同的结果。之前“未归一化”的互相关行为仍然可以通过显式设置 normalization=None 来实现。掩码互相关的情况没有变化,它使用的是不同的算法。

错误修复#

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

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

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

  • 修复 _label2rgb_avg 函数的返回数据类型。

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

  • 防止 EllipseModel 中的整数溢出。

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

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

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

  • 区域属性表 (skimage.measure.regionprops_table) 数据类型修复。

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

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

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

  • 修复 skimage.transform.warp 在 order=0 时的输出数据类型。

  • 修复 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)

  • 修复了使用 pathlib.Path 输入时的 io.imread 行为(gh-5543)

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

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

  • 修复 skimage.exposure.histogramskimage.measure.regionprops_table 中的doctests问题。(gh-5522)

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

  • skimage.register.phase_cross_correlation 中正确实现相位相关。(gh-5461)

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

  • 修复了带有参考掩码的3D相位交叉相关(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)

  • 修复切片间距(gh-5974)

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

  • 修复基准测试套件(watershed 函数已被移动)(gh-5982)

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

  • 为所有新近弃用的 regionprops 名称添加属性获取器 (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.gray2rgbalpha 参数现在已被移除。请使用 skimage.color.gray2rgba 进行 RGBA 转换。

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

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

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

  • 已弃用的 skimage.transform.iradonfilter 参数现在已被移除(请改用 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_fillinplace 参数

  • 已弃用的 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_means 中,preserve_range 的默认值现在是 False。

  • skimage.segmentation.slic 中,start_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 Changes 部分。num_iterationsmax_num_iter 现在在整个库中使用。

  • 参见 API 变更 部分,了解在整个库中用 footprint 取代 selem 参数的弃用情况

  • 弃用 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 环境变量在任何未捕获的警告上引发错误。

  • 增加发布过程中的自动化。

  • 先发布轮子,再发布源代码

  • 更新最低支持的 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 文档字符串示例中添加缺失的导入 (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 的固定装置 (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-gallery 发布之前,将 sphinx 固定在 <4.3 版本(gh-6029)

  • 放松一些导致 i686 测试失败的等式测试(cibuildwheel 上的 gh-6031)

  • 在 ‘import skimage’ 期间避免 matplotlib 导入开销 (gh-6032)

  • 更新 sphinx gallery 的 pin(gh-6034)

此版本的贡献者#

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

  • Abhinavmishra8960 (Abhinavmishra8960)

  • abouysso

  • 亚历西娅·马尔科利尼

  • 亚历克斯·布鲁克斯

  • 亚历山大·德·西奎拉

  • 安德烈斯·费尔南德斯

  • 安德鲁·赫尔巴特

  • andrewnags (andrewnags)

  • 安托万·比雷

  • BMaster123 (BMaster123)

  • Boaz Mohar

  • Bozhidar Karaargirov

  • 卡洛斯·安德烈斯·阿尔瓦雷斯·雷斯特雷波

  • 克里斯托夫·戈尔克

  • 克里斯托夫·索默

  • Clement Ng

  • cmarasinou

  • Cris Luengo

  • 大卫·曼西

  • Devanshu Shah

  • Dhiraj Kumar Sah

  • divyank agarwal

  • 叶戈尔·潘菲洛夫

  • 伊曼纽尔·古利亚特

  • 埃里克·里德

  • erykoff (erykoff)

  • 法比安·施奈德

  • Felipe Gutierrez-Barragan

  • 弗朗索瓦·布洛涅

  • 弗雷德·邦特

  • 深井洋介

  • 格雷戈里·R·李

  • 哈里·普拉萨德

  • 哈里什·文卡塔拉曼

  • Harshit Dixit

  • 伊恩·亨特-艾萨克

  • 海梅·罗德里格斯-格雷罗

  • 扬-亨德里克·穆勒

  • 贾纳卡拉詹·纳塔拉詹

  • Jenny Vo

  • 约翰·李

  • 乔纳森·施特里贝尔

  • 约瑟夫·福克斯-拉比诺维茨

  • 胡安·安东尼奥·巴拉甘·诺格拉

  • Juan Nunez-Iglesias

  • 朱利安·杰拉菲翁

  • Jurneo

  • klaussfreire (klaussfreire)

  • Larkinnjm1 (Larkinnjm1)

  • Lars Grüter

  • Mads Dyrmann

  • 玛丽安·科尔维莱克

  • Marios Achilias

  • 马克·博尔

  • 马克·哈福克

  • 马蒂亚斯·布索尼耶

  • Mauro Silberberg

  • 马克斯·弗雷

  • michalkrawczyk (michalkrawczyk)

  • 尼尔斯·卡塔耶茨

  • Pamphile ROY

  • 普拉杜曼纳·拉胡尔

  • R

  • 拉斐尔

  • Riadh Fezzani

  • 罗伯特·哈斯

  • 塞巴斯蒂安·冈萨雷斯·蒂拉多

  • 塞巴斯蒂安·范雷尔

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

  • 斯蒂芬·范·德·瓦特

  • t.ae

  • that1solodev (Xyno18)

  • 托马斯·沃尔特

  • 蒂姆·盖茨

  • 汤姆·弗拉克斯

  • Vinicius D.Cerutti

  • Volker Hilsenstein

  • 魏忠昌

  • yacth

  • Yash-10 (Yash-10)

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

  • Abhinavmishra8960

  • 亚历西娅·马尔科利尼

  • 亚历克斯·布鲁克斯

  • 亚历山大·德·西奎拉

  • 安德烈斯·费尔南德斯

  • 安德鲁·赫尔巴特

  • 安德鲁纳格斯

  • BMaster123

  • Boaz Mohar

  • 卡洛斯·安德烈斯·阿尔瓦雷斯·雷斯特雷波

  • Clement Ng

  • Cris Luengo

  • 丹·舒尔特

  • 大卫·曼西

  • 叶戈尔·潘菲洛夫

  • 伊曼纽尔·古利亚特

  • erykoff

  • 法比安·施奈德

  • Felipe Gutierrez-Barragan

  • 弗朗索瓦·布洛涅

  • 深井洋介

  • Genevieve Buckley

  • 格雷戈里·R·李

  • 扬·埃格林格

  • 扬-亨德里克·穆勒

  • 贾纳卡拉詹·纳塔拉詹

  • Jarrod Millman

  • Jirka Borovec

  • 琼·马西奇

  • Johannes Schönberger

  • 约翰·李

  • 乔恩·克劳尔

  • 约瑟夫·福克斯-拉比诺维茨

  • 乔什·华纳

  • Juan Nunez-Iglesias

  • 朱利安·杰拉菲翁

  • 肯尼斯·霍斯特

  • klaussfreire

  • Larkinnjm1

  • Lars Grüter

  • 玛丽安·科尔维莱克

  • 马克·博尔

  • 马克·哈福克

  • 马蒂亚斯·布索尼耶

  • 马克斯·弗雷

  • michalkrawczyk

  • 尼尔斯·卡塔耶茨

  • Pamphile ROY

  • 波马克

  • R

  • 拉斐尔

  • Riadh Fezzani

  • 罗伯特·克恩

  • Ross Barnowski

  • 塞巴斯蒂安·伯格

  • 塞巴斯蒂安·冈萨雷斯·蒂拉多

  • 塞巴斯蒂安·瓦尔克特

  • serge-sans-paille

  • 斯蒂芬·范·德·瓦特

  • t.ae

  • Vinicius D.Cerutti

  • Volker Hilsenstein

  • Yash-10