scikit-image 0.17.2 (2020-05-13)#

我们很高兴地宣布 scikit-image v0.17.2 的发布,这是一个修复错误的版本。

错误修复#

  • 我们将 pooch 设为可选依赖项,因为它被错误地添加为必需依赖项(#4666),并且我们修复了一个关于 pooch 用于下载数据的路径的错误(#4662)

  • 修正了slic分割、ORB和BRIEF特征检测器对float 32图像的支持(#4683, #4684, #4685, #4696, #4697)

  • 我们移除了已弃用的参数(#4691)
    • maskshift_xshift_y 来自 skimage.filters.median

    • skimage.filters.frangi 中的 beta1beta2

    • skimage.filters.hessian 中的 beta1beta2

    • dtype 来自 skimage.io.imread

    • img 来自 skimage.morphology.skeletonize_3d。

  • 图库示例已更新以抑制警告,并考虑了某些函数中的新默认值(#4692 和 #4676)

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

  • 亚历山大·德·西奎拉

  • 伊曼纽尔·古利亚特

  • 弗朗索瓦·布洛涅

  • Juan Nunez-Iglesias

  • 马克·哈福克

  • Riadh Fezzani

scikit-image 0.17.1 (2020-05-08)#

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

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

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

https://scikit-image.org

非常感谢54位作者贡献了惊人的213个合并的拉取请求!scikit-image是一个基于社区的项目,我们很高兴这个数字包括了首次为scikit-image做出贡献的人。

特别感谢 Cython 团队,他们帮助我们使代码与即将发布的 Cython 3.0 版本兼容。

新功能#

  • 使用 restoration.calibrate_denoiser 进行去噪算法的超参数校准(#3824),并附有相应的图库示例和教程。

  • measure.profile_line 新增了一个 reduce_func 参数,用于接受沿轮廓计算像素值的归约操作 (#4206)

  • 用于在计算 n 维图像的 FFT 时减少频谱泄漏的 nD 窗口,使用 filters.window (#4252)(附带新的图库示例)

  • 为 corner_peak 添加 Minkowski 距离度量支持 (#4218)

  • util.map_array 被引入用于将一组像素值映射到另一组(例如,将区域标签映射到标签图像中区域的大小)#4612 和 #4646

  • 掩码行进立方体算法 (#3829)

  • SLIC 超像素算法现在接受一个掩码来排除图像的某些部分,并强制超像素边界跟随掩码的边界 (#3850)

  • Pooch – 从github即时下载数据集:我们引入了在 data 子模块中包含更大数据集的可能性,这得益于 pooch 库。data.download_all 获取所有数据集。(#3945)

  • 从这个版本开始,我们的图库示例现在有链接可以在binder实例上运行示例笔记本。(#4543)

新的文档教程和图库示例已添加到使用 regionprops_table (#4348) 几何变换 (#4385),以及在没有共享中心的情况下进行旋转和缩放的注册 (#4515)。图库中新增了一个关于注册的部分 (#4575)。

改进#

  • scikit-image 旨在完全兼容 3D 数组,并在可能的情况下兼容 nD 数组。nD 支持已添加到颜色转换函数(#4418)、CLAHE exposure.equalize_adapthist 算法(#4598)以及 Sobel、Scharr 和 Prewitt 滤波器(#4347)中。

  • 多通道支持用于 denoise_tv_bregman (#4446)

  • 在标签数量远大于标签数量的情况下,segmentation.relabel_sequential 的内存占用已经减少(#4612)

  • 现在可以在 draw.random_shapes 中绘制随机椭圆 (#4493)

  • 向岭过滤器添加边界条件 (#4396)

  • segmentation.random_walker 新增了 Jacobi 预处理共轭梯度模式 (#4359) 和一些小的修正 #4630

  • 在曝光的强度范围内重新缩放时警告NaN值 (#4265)

我们还改进了几个函数在处理数据类型方面的一致性。

  • 在 filters.rank 函数中保持 dtype 一致 (#4289)

  • 修复 colorconv 从 float32 到 double 的类型转换 (#4296)

  • 防止氡将float32数组提升为双精度类型 (#4297)

  • 管理 iradon_sart 输入和输出数据类型 (#4300)

API 变更#

  • 当与浮点输入一起使用时,denoise_wavelet 不再重新调整数据的范围或将输出裁剪到范围 [0, 1] 或 [-1, 1]。对于非浮点输入,重新调整和裁剪仍然像以前版本中那样发生(尽管与 sigma 的缩放相关的错误已修复)。

  • 对于2D输入,边缘滤波器(Sobel、Scharr、Prewitt、Roberts和Farid)在未提供掩码时不再将边界像素设置为0。这一改变是因为`scipy.ndimage.convolve`的边界模式现在为``’reflect’``,这允许在这些滤波器的边界处有有意义的值。要保留旧的行为,请传递``mask=np.ones(image.shape, dtype=bool)``(#4347)

  • out_range 是一系列数字而不是 skimage.exposure.rescale_intensity() 中的 dtype 时,输出数据类型将始终为浮点型 (#4585)

  • 由于不同的舍入行为(#4585),skimage.exposure.equalize_adapthist() 返回的值将与之前版本略有不同。

  • 将 masked_register_translation 从 feature 移动到 registration (#4503)

  • 将 register_translation 从 skimage.feature 移动到 skimage.registration (#4502)

  • 将 watershed 从 morphology 移动到 segmentation (#4443)

  • 将 draw.circle() 重命名为 draw.disk() (#4428)

  • skimage.segmentation.relabel_sequential() 返回的正向和反向映射不再是 NumPy 数组,而是更节省内存的 ArrayMap 对象,它们在映射时的行为相同。更多详情请参阅 relabel_sequential 文档。要重新获取 NumPy 数组,可以将其转换为 NumPy 数组:np.asarray(forward_map) (#4612)

错误修复#

  • denoise_wavelet: 对于用户提供的 sigma,如果输入图像通过 img_as_float 进行了重新缩放,sigma 也会应用相同的缩放以保持噪声估计的相对比例。要恢复旧的行为,用户可以手动指定 rescale_sigma=False

  • 修复图像周围的Frangi伪影 (#4343)

  • 修复由于浮点精度导致的 inertia_tensor_eigvals 中的负特征值 (#4589)

  • 修复 F-ordered 图像的 morphology.flood (#4556)

  • 修复浮点图像输入时 h_maxima/minima 的异常行为 (#4496)

  • 修复 peak_local_max 坐标顺序 (#4501)

  • 在 peak_local_max 中自然排序相同幅度的峰值坐标 (#4582)

  • 修复 denoise_nl_means 数据类型管理 (#4322)

  • 更新 rescale_intensity 以防止下溢/上溢并生成正确的输出数据类型 (#4585)

(其他小的错误修复是列表中其他拉取请求的一部分)

弃用#

此版本支持的最低Python版本是3.6。

  • 在 skimage.morphology.flood_fill 中的参数 inplace 已被 in_place 取代,并将在 scikit-image 0.19.0 版本中移除 (#4250)。

  • skimage.segmentation.circle_level_set 已被弃用,并将在0.19版本中移除。请改用 skimage.segmentation.disk_level_set

  • skimage.draw.circle 已被弃用,并将在 0.19 版本中移除。请改用 skimage.draw.disk

  • 由于与Python关键字冲突,弃用iradon中的filter参数(#4158)

  • 弃用 marching_cubes_classic (#4287)

  • 将 label2rgb 默认背景值从 -1 改为 0 (#4614)

  • 弃用 rgb2grey 和 grey2rgb (#4420)

  • 完全弃用 morphsnakes 中的 circle (#4467)

  • 在 rgb2gray 中弃用非 RGB 图像转换(#4838, #4439),并在 gray2rgb 中弃用非灰度图像转换(#4440)

其他拉取请求的列表在本文档的末尾给出,位于作者和审阅者列表之后。

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

  • aadideshpande (aadideshpande)

  • 亚历山大·德·西奎拉

  • 阿萨夫·卡利

  • 塞德里克

  • D-Bhatta (D-Bhatta)

  • 丹妮尔

  • 戴维斯·贝内特

  • Dhiren Serai

  • Dylan Cutler

  • 叶戈尔·潘菲洛夫

  • 伊曼纽尔·古利亚特

  • Eoghan O’Connell

  • 埃里克·杰利

  • 埃里克·珀尔曼

  • erjel (erjel)

  • Evan Widloski

  • 弗朗索瓦·布洛涅

  • 格雷戈里·R·李

  • 哈森·巴布科克

  • 扬·埃格林格

  • 约书亚·贝特森

  • Juan Nunez-Iglesias

  • 贾斯汀·特里

  • kalvdans (kalvdans)

  • Karthikeyan Singaravelan

  • Lars Grüter

  • Leengit (Leengit)

  • leGIT-bot (leGIT-bot)

  • LGiki

  • 玛丽安·科尔维莱克

  • 马克·哈福克

  • 马文·阿尔伯特

  • mellertd (Dave Mellert)

  • Miguel de la Varga

  • 穆斯塔法·阿拉

  • Mojdeh Rastgoo (mrastgoo)

  • notmatthancock (matt)

  • Ole Streicher

  • Riadh Fezzani

  • robroooh (robroooh)

  • SamirNasibli

  • schneefux (schneefux)

  • 斯科特·西弗特

  • 斯蒂芬·范·德·瓦特

  • 塔利·兰伯特

  • Tim Head (betatim)

  • 托马斯·A·卡斯韦尔

  • 蒂莫西·斯威策

  • Tony Tung

  • 乌韦·施密特

  • VolkerH (VolkerH)

  • Xiaoyu Wu

  • Yuanqin Lu

  • Zaccharie Ramzi

  • Zhōu Bówēi 周伯威

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

  • 亚历山大·德·西奎拉

  • 阿萨夫·卡利

  • D-Bhatta

  • 叶戈尔·潘菲洛夫

  • 伊曼纽尔·古利亚特

  • Eoghan O’Connell

  • erjel

  • 弗朗索瓦·布洛涅

  • 格雷戈里·R·李

  • 哈森·巴布科克

  • 雅各布·奎因·申克

  • Jirka Borovec

  • 乔什·华纳

  • 约书亚·贝特森

  • Juan Nunez-Iglesias

  • 贾斯汀·特里

  • Lars Grüter

  • Leengit

  • leGIT-bot

  • 玛丽安·科尔维莱克

  • 马克·哈福克

  • 马文·阿尔伯特

  • mellertd

  • Miguel de la Varga

  • Riadh Fezzani

  • robroooh

  • SamirNasibli

  • 斯蒂芬·范·德·瓦特

  • 蒂莫西·斯威策

  • Tony Tung

  • 乌韦·施密特

  • VolkerH

  • Xiaoyu Wu

  • Zhōu Bówēi 周伯威

其他拉取请求#

  • [WIP] DOC 更改 plot_glcm 中的文档 (#2789)

  • 在图库中记录顶帽 (#3609)

  • 在区域属性中为布尔图像提供更详细的错误信息 (#4156)

  • 重构/修复 threshold_multiotsu (#4178)

  • 按字母顺序排列生成的API文档 (#4208)

  • 修复travis CI中的随机Linux构建失败问题 (#4227)

  • scipy.sparse.linalg.eigsh 初始化起始向量以确保图割中的可重复性 (#4251)

  • 添加直方图匹配测试 (#4254)

  • MAINT: 使用 SciPy 的卷积方法实现 (#4267)

  • 改进 SKIP 渲染的 CSS (#4271)

  • 在文档字符串示例旁边的复制按钮中添加切换提示 (#4273)

  • 图库中glcm示例的紧凑布局(#4285)

  • 前向端口 0.16.2 版本说明 (#4290)

  • 修复 hog 文档字符串中的拼写错误 (#4302)

  • 金字塔函数接受 preserve_range kwarg (#4310)

  • 创建测试并修复类型 (#4311)

  • 弃用 numpy.pad 包装 (#4313)

  • 在核心贡献者指南中明确合并政策 (#4315)

  • Regionprops 为空错误 (#4316)

  • 添加检查以避免导入崩溃 (#4319)

  • 修复 simple_metrics 文档字符串中的拼写错误 (#4323)

  • 使 peak_local_max 的 exclude_border 独立且各向异性 (#4325)

  • 修复 blob_log/blob_dog 及其对应的测试 (#4327)

  • 在核心开发者指南中添加关于关闭问题的章节 (#4328)

  • 如果提供,使用高斯滤波器输出数组 (#4329)

  • 将cython的固定版本更新(#4330)

  • 将 Python 3.8 添加到构建矩阵 (#4331)

  • 避免从 scipy 导入数学函数,如所述 ;) (#4332)

  • 为 block reduce 添加 dtype 关键字参数并进行少量文档修改 (#4334)

  • 在 fast_exp 中显式使用 32 位整数 (#4338)

  • 修复 slic 中的单精度转换为双精度问题 (#4339)

  • measure.block_reduce 更改为接受显式的 func_kwargs 关键字参数 (#4341)

  • 修复 equalize_adapthist 边界伪影 (#4349)

  • 使 hough_circle_peaks 尊重 min_xdistance, min_ydistance (#4350)

  • 弃用 CONTRIBUTORS.txt 并替换为 git shortlog 命令 (#4351)

  • 在读取MPO图像时添加对Pillow版本的警告(#4354)

  • measure.block_reduce 中的小幅文档改进 (#4355)

  • 添加示例以突出显示 regionprops_table (#4356)

  • 从 setup.py 中移除试图避免升级大型依赖的代码 (#4362)

  • 修复立方插值中的 float32 提升问题 (#4363)

  • 更新到生成 Sphinx 搜索框的新方法 (#4367)

  • 澄清 register_translation 示例描述 (#4368)

  • 将 scipy 最低版本提升至 1.0.1 (#4372)

  • 通过跳过使用 numpy 1.18.0 进行构建来修复 OSX 构建 (#4376)

  • 将 pywavelets 升级到 0.5.2 (#4377)

  • API 文档中类的迷你图库 (#4381)

  • gallery: 修正拼写错误 + 将角度减少到合理值 (#4386)

  • setup: 从 README 读取长描述 (#4392)

  • 不要依赖测试执行顺序来确保成功 (#4393)

  • _adapthist 模块重构和内存使用减少 (#4395)

  • transform (rescale, warp_polar) 的文档修复 (#4401)

  • 文档:指定ransac公式中m的含义 (#4404)

  • 更新核心开发者指南中的链接至值 (#4405)

  • 修复减均值下溢校正 (#4409)

  • 修复Azure中的文档构建挂起问题 (#4411)

  • 修复关于无效转义序列的警告。(#4414)

  • 修复 skimage.transform.pyramids 中的 URL (#4415)

  • 修复 profile_line 插值错误 (#4416)

  • MAINT: 将 circle_level_set 替换为 disk_level_set (#4421)

  • 在 skimage.measure.marching_cubes 中的弃用警告添加 stacklevel=2 (#4422)

  • 弃用 rank.tophat 和 rank.bottomhat (#4423)

  • 添加 gray2rgba 并弃用 gray2rgb 中的 RGBA 支持 (#4424)

  • ISSUE_TEMPLATE: 添加关于 image.sc 论坛的说明 (#4429)

  • 修复 skips.1-governance 中的链接 (#4432)

  • 修复 skimage.feature.canny 中的死链接 (#4433)

  • 修复 canny 中的 use_quantiles 行为 (#4437)

  • 在Canny中移除对阈值的多余检查(#4441)

  • 高斯差分函数 (#4445)

  • 修复 denoise_tv_bregman 接受 float32 和 float64 作为输入的测试 (#4448)

  • 标准化文档字符串中的冒号用法 (#4449)

  • 将 numpy 版本升级到 1.15.1 (#4452)

  • 设置最小 tifffile 版本以修复 numpy 不兼容问题 (#4453)

  • 清理关于去噪小波的警告 (#4456)

  • 在reginoprops中处理子类型检查时解决numpy的FutureWarning (#4457)

  • 在警告模块的doctests中跳过警告 (#4458)

  • 跳过已弃用函数 rank.tophat 和 rank.bottomhat 的 doctests,因为它们会发出警告 (#4459)

  • 跳过 morphology.watershed 的 doctest,因为它已被移动并发出警告 (#4460)

  • 在推断 rgb 类型的地方直接使用 rgba2rgb (#4461)

  • 清理角落峰值警告 (#4463)

  • 修复分割中的边缘情况错误。重新标记顺序 (#4465)

  • 修复 deltaE cmc 接近颜色 bug (#4469)

  • 修复布尔数组扭曲问题 (#4470)

  • 修复布尔数组 profile_line (#4471)

  • 修复治理中的值链接 (#4472)

  • 改进过滤器的示例 (#4479)

  • 减少非局部均值测试的运行时间 (#4480)

  • 添加赞助按钮 (#4481)

  • 缩短了最长测试的持续时间 (#4487)

  • 对 Haar 特征示例的小改进 (#4490)

  • 将 sphinx-gallery 的最低版本添加到 >= 0.3.1 以与 py3.8 兼容 (#4498)

  • 修复 find_contours 中的 KeyError (#4505)

  • 修复使用 imageio 插件保存布尔数组的问题 (#4512)

  • 修复 skimage/color/colorconv 文档字符串中元素的顺序 (#4518)

  • 修复当 clip_limit == 1 时 exposure_adapthist 的返回值 (#4519)

  • 在Windows上添加关于venv激活的信息 (#4521)

  • 修复相似变换比例 (#4524)

  • segmentation/plot_label.py 的示例中添加了解释,使背景透明 (#4527)

  • 添加生成结构化元素的示例代码。(#4528)

  • 由于构建失败(#4529),块 imread 版本 0.7.2

  • 维护:编辑以抑制一些警告(未使用的导入、空白行)(#4530)

  • MNT: 移除重复的 nogil 声明 (#4546)

  • 块枕头 7.1.0,见 #4548 (#4551)

  • 修复绑定器需求 (#4555)

  • 不要在 skimage.data 中强制使用 pil 插件 (#4560)

  • 在github模板中移除“回溯到0.14” (#4561)

  • 修复文档字符串中的不一致性 (filters.median) (#4562)

  • 在travis-mac中禁用texlive的键检查作为临时解决方案 (#4565)

  • 将 Pywavelets 的最低要求提升至 1.1.1 (#4568)

  • 在sphinx 3.0.0中去除反斜杠 (#4569)

  • 从 match_descriptors 文档字符串中移除二进制规范 (#4571)

  • 移除导入 skimage.transform 作为 tf (#4576)

  • 在 numpydoc 被修复后(#4578),在文档配置中添加注释以移除选项

  • 更新 TODO.txt 中的任务 (#4579)

  • 将 convert 重命名为 _convert,因为它是一个私有函数 (#4590)

  • 不要覆盖 plot_skeleton.py 中的数据模块 (#4591)

  • [CI 修复] 在 cython 文件中添加 import_array,其中 numpy 被 cimport 导入 (#4592)

  • 在贡献指南中推荐使用 cnp.import_array (#4593)

  • 在文档中添加 natsort 使用的示例 (#4599)

  • 修复损坏和永久移动的链接 (#4600)

  • 修复cython import_array中的拼写错误 (#4602)

  • 更新 sphinx-copybutton 所需的最小 Sphinx 版本 (#4604)

  • 当拼接多通道nD图像且multichannel=False时,澄清错误信息 (#4607)

  • 修复 register_translation 警告信息 (#4609)

  • 在 marching_cube_* 和 gray2rgb 中添加关于弃用警告的注释 (#4610)

  • 通过减小缩略图尺寸来提高我们的图库加载速度(#4613)

  • 修复了 exposure.rescale_intensity 在输入为常数时的错误行为。(#4615)

  • 更改文档字符串中的数学格式(#4617)

  • 将 .mypy_cache 添加到 gitignore 中 (#4620)

  • 修复注册旋转画廊示例的拼写错误 (#4623)

  • 用户指南:添加一个可视化章节 (#4627)

  • 修复由于无效转义序列导致的弃用警告。 (#4628)

  • 为 moments_hu 和 centroid 添加文档字符串示例 (#4632)

  • 更新 pooch 注册表以包含新文件位置 (#4635)

  • 蒙太奇中的误导性“ValueError: 输入数组必须是3维或4维的” (#4638)

  • 修复断开的链接 (#4639)

  • AffineTransform: 允许为 ‘scale’ 设置单个值,以同时应用于 sx 和 sy (#4642)

  • 修复 CI - cython 3.0a4 (#4643)

  • 修复 sphinx (#4644)

  • 修复 ArrayMap 测试 (#4645)

  • 删除 tifffile 的副本;从 pip 安装 (#4235)

  • 重构/移动形态学中的邻域实用函数 (#4209)