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

    • beta1beta2 来自 skimage.filters.frangi

    • beta1beta2 来自 skimage.filters.hessian

    • dtype 来自 skimage.io.imread

    • img 来自 skimage.morphology.skeletonize_3d。

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

此版本新增了 6 位作者 [按名字或登录名首字母排序]#

  • Alexandre de Siqueira

  • Emmanuelle Gouillart

  • François Boulogne

  • Juan Nunez-Iglesias

  • Mark Harfouche

  • Riadh Fezzani

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

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

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

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

https://scikit-image.cn

非常感谢 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 动态下载数据集:由于 pooch 库,我们引入了在 data 子模块中包含更大数据集的可能性。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

  • 当在 exposure.intensity_range 中使用 NaN 进行重新缩放时发出警告 (#4265)

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

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

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

  • 防止 radon 将 float32 数组向上转换为 double (#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)

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

  • 将 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)

  • 修复 morphology.flood 对于 F 阶图像的问题 (#4556)

  • 修复浮点图像输入上 h_maxima/minima 的奇怪行为 (#4496)

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

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

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

  • 更新 rescale_intensity 以防止下溢/溢出并生成正确的输出 dtype (#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)

  • Alexandre de Siqueira

  • Asaf Kali

  • Cedric

  • D-Bhatta (D-Bhatta)

  • Danielle

  • Davis Bennett

  • Dhiren Serai

  • Dylan Cutler

  • Egor Panfilov

  • Emmanuelle Gouillart

  • Eoghan O’Connell

  • Eric Jelli

  • Eric Perlman

  • erjel (erjel)

  • Evan Widloski

  • François Boulogne

  • Gregory R. Lee

  • Hazen Babcock

  • Jan Eglinger

  • Joshua Batson

  • Juan Nunez-Iglesias

  • Justin Terry

  • kalvdans (kalvdans)

  • Karthikeyan Singaravelan

  • Lars Grüter

  • Leengit (Leengit)

  • leGIT-bot (leGIT-bot)

  • LGiki

  • Marianne Corvellec

  • Mark Harfouche

  • Marvin Albert

  • mellertd (Dave Mellert)

  • Miguel de la Varga

  • Mostafa Alaa

  • Mojdeh Rastgoo (mrastgoo)

  • notmatthancock (matt)

  • Ole Streicher

  • Riadh Fezzani

  • robroooh (robroooh)

  • SamirNasibli

  • schneefux (schneefux)

  • Scott Sievert

  • Stefan van der Walt

  • Talley Lambert

  • Tim Head (betatim)

  • Thomas A Caswell

  • Timothy Sweetser

  • Tony Tung

  • Uwe Schmidt

  • VolkerH (VolkerH)

  • Xiaoyu Wu

  • Yuanqin Lu

  • Zaccharie Ramzi

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

此版本新增 35 位审阅者 [按名字或登录名首字母排序]#

  • Alexandre de Siqueira

  • Asaf Kali

  • D-Bhatta

  • Egor Panfilov

  • Emmanuelle Gouillart

  • Eoghan O’Connell

  • erjel

  • François Boulogne

  • Gregory R. Lee

  • Hazen Babcock

  • Jacob Quinn Shenker

  • Jirka Borovec

  • Josh Warner

  • Joshua Batson

  • Juan Nunez-Iglesias

  • Justin Terry

  • Lars Grüter

  • Leengit

  • leGIT-bot

  • Marianne Corvellec

  • Mark Harfouche

  • Marvin Albert

  • mellertd

  • Miguel de la Varga

  • Riadh Fezzani

  • robroooh

  • SamirNasibli

  • Stefan van der Walt

  • Timothy Sweetser

  • Tony Tung

  • Uwe Schmidt

  • VolkerH

  • Xiaoyu Wu

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

其他拉取请求#

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

  • 在图库中记录 tophat (#3609)

  • 关于 regionprops 的布尔图像的更多信息性错误消息 (#4156)

  • 重构/修复 threshold_multiotsu (#4178)

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

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

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

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

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

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

  • 在 copybutton 旁边为文档字符串示例添加提示切换 (#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 排除边界独立且各向异性 (#4325)

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

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

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

  • 将 cython 固定向前移动 (#4330)

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

  • 避免从 scipy 导入数学函数,如告知的那样 ;) (#4332)

  • 向块减少添加 dtype 关键字参数和小的文档更改 (#4334)

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

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

  • 更改 measure.block_reduce 以接受显式 func_kwargs kwd (#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)

  • 图库:修复拼写错误 + 将角度减小到合理值 (#4386)

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

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

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

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

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

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

  • 修复 subtract_mean 下溢校正 (#4409)

  • 修复 Azure 中悬挂的文档构建 (#4411)

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

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

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

  • MAINT:用 disk_level_set 替换 circle_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)

  • 清理有关 denoise_wavelet 的警告 (#4456)

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

  • 跳过警告模块的文档测试中的警告 (#4458)

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

  • 跳过 morphology.watershed 文档测试,因为它已移动并发出警告 (#4460)

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

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

  • 修复 segmentation.relabel_sequential 中的边缘情况错误 (#4465)

  • 修复 deltaE cmc 接近颜色的错误 (#4469)

  • 修复 bool 数组变形 (#4470)

  • 修复 bool 数组 profile_line (#4471)

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

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

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

  • 添加赞助商按钮 (#4481)

  • 减少了最长测试的持续时间 (#4487)

  • 对 haar 特征示例进行微小的改进 (#4490)

  • 添加 sphinx-gallery >= 0.3.1 的最低版本,以与 py3.8 一起使用 (#4498)

  • 修复 find_contours 中的 KeyError (#4505)

  • 修复使用 imageio 插件保存的 bool 数组 (#4512)

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

  • 修复 clip_limit == 1 时 exposure_adapthist 返回的问题 (#4519)

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

  • 修复相似变换缩放 (#4524)

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

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

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

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

  • MNT:删除重复的 nogil 规范 (#4546)

  • 阻止 pillow 7.1.0,请参阅 #4548 (#4551)

  • 修复 binder 要求 (#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 as tf (#4576)

  • 当 numpydoc 将被修补时,添加注释以删除文档配置中的选项 (#4578)

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

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

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

  • [CI fix] 在 numpy 被 cimport 的 cython 文件中添加 import_array (#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)

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

  • 修复损坏的链接 (#4639)

  • AffineTransform:允许对“scale”使用单个值以应用于 sx 和 sy (#4642)

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

  • 修复 sphinx (#4644)

  • 修复 ArrayMap 测试 (#4645)

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

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