scikit-image 0.15.0 (2019-04-03)#
我们很高兴宣布发布 scikit-image v0.15.0!
scikit-image 是 SciPy 的一个图像处理工具箱,包括用于分割、几何变换、色彩空间操作、分析、滤波、形态学、特征检测等算法。
有关更多信息、示例和文档,请访问我们的网站
0.15 是第一个仅与 Python 3.5 及更高版本兼容的 scikit-image 版本。Python 2.7 用户应强烈考虑升级到 Python 3.5+,或使用 0.14 长期支持版本。
新特性#
具有容差的 N 维洪水填充 (#3245)
属性运算符 (#2680)
扩展 register_translation 以在 3D 中实现亚像素精度,并可选择禁用误差计算 (#2880)
锐化掩模滤波 (#2772)
为
skimage.morphology.local_maxima
和local_minima
添加新选项connectivity
、indices
和allow_borders
。 (#3022)用于掩码数据的图像平移配准 (
skimage.feature.masked_register_translation
) (#3334)Frangi(血管性)、Meijering(神经性)和 Sato(管状性)滤波器 (#3515)
允许任意范围的 float->float 转换 (#3052)
允许较低精度的浮点数组通过
img_as_float
(#3110)延迟 apply_parallel(允许优化 dask 数组操作)(#3121)
为直方图添加 range 选项。(#2479)
添加直方图匹配 (#3568)
改进#
用更快的基于洪水填充的 Cython 版本替换
morphology.local_maxima
(#3022)skivi
现在使用qtpy
以实现 Qt4/Qt5/PySide/PySide2 兼容性(一个新的可选依赖项)。现在使用 Airspeed Velocity 监控性能。基准测试结果将显示在 https://pandas.ac.cn/speed/ (#3137)
加速 GLCM 的内部循环 (#3378)
允许元组在 threshold_niblack 和 threshold_sauvola 中定义内核 (#3596)
在 blob_log 和 blob_dog 中添加对各向异性斑点检测的支持 (#3690)
API 变更#
skimage.transform.seam_carve
已被删除,因为该算法已获得专利。 (#3751)skimage.measure.compare_psnr
中的参数dynamic_range
已被删除。请改用参数data_range
。 (#3313)imageio 现在是读取和写入图像的首选插件。 (#3126)
imageio 现在是 scikit-image 的一个依赖项。 (#3126)
regular_grid
现在返回一个元组而不是一个列表,以兼容 numpy 1.15 (#3238)colorconv.separate_stains
和colorconv.combine_stains
现在使用 base10 而不是自然对数,如问题 #2995 中所述。 (#3146)skimage.util.dtype_limits
中clip_negative
参数的默认值已设置为False
。skimage.transform.radon
中circle
参数的默认值已设置为True
。skimage.transform.iradon
中circle
参数的默认值已设置为True
。skimage.transform.swirl
中mode
参数的默认值已设置为reflect
。已弃用的
skimage.filters.threshold_adaptive
已被删除。请改用skimage.filters.threshold_local
。skimage.restoration.denoise_bilateral
中multichannel
参数的默认值已设置为False
。skimage.restoration.denoise_nl_means
中multichannel
参数的默认值已设置为False
。skimage.transform.resize
和skimage.transform.rescale
中mode
参数的默认值已设置为reflect
。skimage.transform.resize
和skimage.transform.rescale
中anti_aliasing
参数的默认值已设置为True
。删除了
skimage.test
函数。此功能可以通过直接调用pytest
来实现。morphology.local_maxima
现在返回一个布尔数组 (#3749)
Bugfixes#
纠正 Frangi 滤波器的明亮脊检测 (#2700)
如果图像的任何维度小于 3 并且关键字
allow_borders
为 false,则skimage.morphology.local_maxima
和skimage.morphology.local_minima
不再引发错误。如果参数
indices
为 false,则skimage.morphology.local_maxima
和skimage.morphology.local_minima
将返回一个布尔数组而不是一个 0 和 1 的数组。当
compare_ssim
与设置为 True 的gaussian_weights
一起使用时,现在计算平均结构相似度时使用的边界裁剪将与所用高斯的宽度完全匹配。高斯滤波窗口现在也在 3.5 而不是 4.0 个标准偏差处截断,以完全匹配关于 SSIM 的原始出版物。这些更改只会对计算出的 SSIM 值产生很小的影响。当gaussian_weights
为 False 时,现有行为没有变化。 (#3802)错误地使用 cython 环绕 (#3481)
通过为 numpy 提供适当的参数来加速块减少 (#3522)
再次添加 urllib.request (#3766)
当图像的维度为 1 时,在反射模式下重复像素 (#3174)
改进 Li 阈值处理 (#3402, 3622)
弃用#
已删除 Python 2 支持。用户应使用 Python >= 3.5。 (#3000)
skimage.util.montage2d
已被删除。请改用skimage.util.montage
。skimage.novice
已弃用,将在 0.16 中删除。skimage.transform.resize
和skimage.transform.rescale
选项anti_aliasing
默认已启用。regionprops
将在 0.16 中使用行-列坐标。您现在可以使用regionprops(..., coordinates='rc')
开始使用它们。您可以使用regionprops(..., coordinates='xy')
来抑制警告消息并保留旧的行为。但是,该选项将在 0.16 中消失并导致错误。此更改会产生一些后果。具体来说,“orientation”区域属性将测量从垂直线(即从行-列坐标中的向量 (1, 0))开始的逆时针角度。skimage.morphology.remove_small_holes
min_size
参数已弃用,将在 0.16 中删除。请改用area_threshold
。skimage.filters.median
将来会更改行为,使其与scipy.ndimage.median_filter
的行为相同。可以使用behavior='ndimage'
预先设置此行为。在 0.16 中,它将是默认行为,并在 0.17 中删除,并且也将删除之前行为的参数(即mask
、shift_x
、shift_y
)。
文档改进#
修正 rotate 方法的中心参数文档 (#3341)
添加 Sphinx copybutton (#3530)
为文档添加词汇表 (#3626)
将视网膜图像添加到我们的数据中 (#3748)
将 microaneurysms() 添加到图库 (#3765)
更好地记录 remove_small_objects 的行为:int 与 bool (#2830)
链接 preserve_range 参数调用到文档 (#3109)
更新有关 datalocality 的文档 (#3127)
指定 scikit-image conda 安装的 conda-forge 频道 (#3189)
将 docstrings 中的 DOI 转换为 Web 链接 (#3367)
更新 regionprops 的文档 (#3602)
文档:改进 RANSAC 示例 (#3554)
文档:“feature.peak_local_max”:解释函数返回的多个相同强度峰值;添加了关于
exclude_border
参数的详细信息 (#3600)
改进#
MNT:处理 np.linspace 和 num 参数为浮点数的弃用警告 (#3453)
TST:numpy 空数组本质上不是 Falsy (#3455)
处理 scipy cdist 中未使用参数的警告 (#3456)
MNT:不要在测试套件中使用 filter_warnings (#3459)
添加关于设置构建环境的文档说明 (#3472)
在众多 cython 函数中释放 GIL (#3490)
Cython 润色以使用 float32 和 float64 (#3493)
rank_filters:更改计算位深度和 max_bin 的方式以确保准确的警告 (#3501)
Rank:优化 OTSU 滤波器 (#3504)
Rank - 修复 rank entropy 和 OTSU 测试 (#3506)
延迟在手动分割中导入 pyplot (#3533)
摆脱 requirements-parser 依赖项 (#3534)
过滤来自
correct_mesh_orientation
的测试警告 (#3549)cloudpickle 实际上是文档依赖项,而不是核心依赖项 (#3634)
pip 上的可选依赖项 (#3645)
3.7 中更少的测试警告 (#3687)
collections.abc nit (#3692)
精简的问题模板 (#3697)
收紧 PR 模板 (#3701)
在 cython 中使用语言级别 3 以获得未来兼容性 (#3707)
使用关于 numpy 和 skimage 版本的信息更新 ISSUE_TEMPLATE.md (#3730)
为许多 cython 模块使用相对导入 (#3759)
通过不引发带软浮点数的 arm 上的浮点异常的测试 (#3337)
其他改进#
BUG:修复 greycoprops 相关性始终返回 1 (#2532)
添加关于通过
skimage.lookfor
进行 API 发现的部分 (#2539)加速仿射变换的 2D 扭曲 (#2902)
在发行说明中感谢审阅者 (#2927)
在 API 中添加了小画廊 (#2940)
使用 skimage 高斯滤波器以避免整数舍入伪影 (#2983)
删除 Python 2 兼容性 (#3000)
将
rectangle_perimeter
功能添加到skimage.draw
(#3069)更新安装说明以引用现有的需求规范 (#3113)
更新了包含 pre 0.13.1 阶段的发行说明 (#3114)
发行指南更新 (#3115)
确保我们正在使用/运行 Python 3 进行安装 (#3119)
隐藏 test_unsharp_mask 中的警告 (#3130)
处理 0.15 的弃用 (#3132)
文档:始终使用开发分支 javascript (#3136)
添加初始空速速度 (asv) 框架 (#3137)
抑制 io 测试期间展平的警告 (#3143)
从 filters.try_all_threshold() 中的异常恢复 (#3149)
修复 skimage.test() 以运行单元测试 (#3152)
skivi:使用 qtpy 来处理不同的 Qt 版本 (#3157)
重构 Python 版本检查 (#3160)
将 data_dir 移动到
data/__init__.py
中 (#3161)将 lookfor 的定义移出 __init__.py (#3162)
将包编号规范化为 PEP440 (#3163)
删除从未使用的 skimage.test (#3164)
在 INSTALL.rst 中添加了关于 qtpy 的消息 (#3168)
回归修复:如果测试失败,Travis 应该失败 (#3170)
将最低 cython 版本设置为
0.23.4
(#3171)将 rgba2rgb 添加到 API 文档 (#3175)
在 video.rst 中进行次要的文档格式修复 (#3176)
降低测试的详细程度 (#3182)
使用矩阵乘法加速 rgb2gray (#3187)
向 PR 模板添加 meeseeksdev 的说明 (#3194)
删除视频包的安装说明 (#3197)
大图像标签修复 (#3202)
处理 cycle_spin 中的 dask 弃用 (#3205)
修复 Qt 查看器 painttool 索引 (#3210)
build_versions.py 不再是硬编码的 (#3211)
删除 exposure.rescale_intensity 中的 dtype 构造函数调用 (#3213)
ASV 基准的各种更新 (#3215)
在 github README 上添加指向 stack overflow 的链接 (#3217)
MAINT:删除文件头中的编码信息 (python 3) (#3219)
构建工具:在 appveyor 中专门设置一个 –pre 构建,并确保其他构建不会下载 –pre (#3222)
修复错误构建上的可读错误消息 (#3223)
默认情况下,在 apply_parallel 中遵守输入数组类型 (#3225)
Travis 清理 pip 命令 (#3227)
为 morphology.watershed 添加基准 (#3234)
更正文档字符串格式,以便代码块显示为代码 (#3236)
将 matplotlib.pyplot 的 skimage.io 导入推迟到需要时 (#3243)
为 Sobel 滤波器添加基准 (#3249)
删除 cython md5 哈希,因为它会破坏构建过程 (#3254)
修复文档中的拼写错误 (#3262)
问题 3156:skimage/__init__.py 更新文档字符串并修复 import * (#3265)
对象检测器模块 (#3267)
在构建时不导入子模块 (#3270)
为 canny 添加基准套件 (#3271)
改进 segmentation.felzenszwalb 文档 #3264 (#3272)
更新 _canny.py (#3276)
为直方图均衡化添加基准套件 (#3285)
修复指向 equalist_hist 博客引用的链接 (#3287)
.gitignore:新手:忽略 save-demo.jpg (#3289)
指导 denoise_wavelet 的用户选择正交小波 (#3290)
删除 skimage/__init__.py 中未使用的 lib (#3291)
BUILD:添加 pyproject.toml 以确保 cython 存在 (#3295)
在文档中处理 intersphinx 和 mpl 弃用警告 (#3300)
次要 PEP8 修复 (#3305)
cython:在从 sdist 安装期间检查 cpp 文件是否存在 (#3311)
appveyor:不上传任何工件 (#3315)
为 hough_line() 添加基准套件 (#3319)
新手跳过 url 测试 (#3320)
从 wheel 中删除基准 (#3321)
将许可证文件添加到 wheel(二进制)发行版 (#3322)
codecov:忽略覆盖率中的构建脚本,并且不在 PR 上发表评论 (#3326)
Matplotlib 2.2.3 + PyQt5.11 (#3345)
允许 @hmaarrfk 提及 MeeseeksDev 以进行反向移植 (#3357)
将 Python 3.7 添加到测试矩阵 (#3359)
修复来自 dask 的已弃用关键字 (#3366)
skimage.transform.resize 中与抗锯齿不兼容的模式 (#3368)
threshold_local 中缺少 cval 参数 (#3370)
避免 Sphinx 1.7.8 (#3381)
在画廊中显示我们的数据 (#3388)
对 numpy images 页面中的语法进行次要更新 (#3389)
assert_all_close 不存在,将其设置为
assert_array_equal
(#3391)高斯滤波器对于具有大量维度的数组的更好行为 (#3394)
允许使用 -OO 进行导入/执行 (#3398)
使用 xfail 标记已知在 32 位架构上失败的测试 (#3399)
硬编码 test_ssim_grad 的输入 (#3403)
TST:使 test_wavelet_denoising_levels 与 PyWavelets 1.0 兼容 (#3406)
允许 tifffile.py 处理 I/O (#3409)
为 Python 3 添加显式 Trove 分类器 (#3415)
修复 contribs.py 中的错误 (#3418)
MAINT:删除 pyside 限制,因为我们不再支持 Python 3.4 (#3421)
构建工具:简化 MPL_DIR 的获取方式 (#3422)
构建工具:不要在 travis 中运行两次测试 (#3423)
构建工具:添加具有可选依赖项的 OSX 构建 (#3424)
MAINT:恢复 #3300 中破坏了 MINIMIUM_REQUIREMENTS 测试的更改 (#3427)
MNT:使用 https 将链接转换为 https (#3428)
MAINT:既然 matplotlib 已经升级,现在使用上游颜色图 (#3429)
构建工具:使 pyamg 成为可选依赖项并删除自定义逻辑 (#3431)
构建工具:修复最低要求构建中安装的 PyQt (#3432)
MNT:由于我们依赖于 python >=2.7,多处理应该始终可用 (#3434)
MAINT 使用 np.full 而不是 cst*np.ones (#3440)
文档:修复通过
make latexpdf
进行的 LaTeX 构建 (#3441)更新 0.14.1 之后的发行版的说明等 (#3442)
删除特定于 python 2 的代码 (#3443)
修复
_try_all
中methods
的默认值以避免异常 (#3444)修复 morphology.local_maxima,使其适用于任何维度 < 3 的输入 (#3447)
使用原始字符串以避免未知的转义符号警告 (#3450)
通过就地裁剪输出加速 xyz2rgb (#3451)
MNT;处理 tifffile 中的弃用警告 (#3452)
构建工具:TST:在测试期间过滤掉新手弃用警告 (#3454)
构建工具:不要再在类 fixtures 中使用 pytest.fixtures 装饰器 (#3458)
保留掩码数组的 fill_value (#3461)
修复 np.histogram 中的 VisibleDeprecationWarning,normed=True (#3463)
构建工具:文档:记录现在 PYTHONOPTMIZE 构建被 SciPy 阻止 (#3470)
文档:将损坏的链接替换为 webarchive 等效链接 (#3471)
修复:使 plot_marching_cubes 示例可见 (#3474)
避免关于
skimage.lookfor
的 Travis 失败 (#3477)修复 docs Makefile 中 sphinx-build 的 Python 可执行文件 (#3478)
构建工具:阻止特定的 Cython 版本 (#3479)
修复拼写错误 (#3480)
向文档字符串添加“可选”指示 (#3495)
将 'mnxc'(掩码归一化互相关)重命名为更具描述性的名称 (#3497)
随机游走器错误修复:当没有可做的事情时,不应引发错误 (#3500)
活动轮廓的各种小编辑 (#3508)
修复用户指南中 uint32 dtype 的范围 (#3512)
当图像为空时,在扭曲中引发有意义的异常 (#3518)
文档:Ubuntu 的开发安装说明缺少 tkinter (#3520)
改进的蒙版平移配准的画廊示例和测试 (#3528)
文档:使更多文档字符串符合我们的标准 (#3529)
构建工具:删除对 python 3.7 的 simpleitk 限制 (#3535)
加速并为
skeletonize_3d
添加基准 (#3536)更新 requirements/README.md,以支持 #3476 的 matplotlib 3.0.0 的理由 (#3542)
围绕去噪功能的文档增强 (#3553)
在 docs 的 Makefile 中使用 ‘getconf _NPROCESSORS_ONLN’ 作为 nproc 的回退 (#3563)
修复 matplotlib set_*lim API 弃用 (#3564)
从 np.power 切换到 np.cbrt (#3570)
过滤掉矩阵子类的 DeprecationPendingWarning (#3572)
将 RGB 到灰度示例添加到画廊 (#3574)
构建工具:重构 check_sdist 以使其将文件名作为参数 (#3579)
将 dask 转换为可选要求 (#3582)
_marching_cubes_lewiner_cy:将字符标记为有符号 (#3587)
将 DOI 超链接到首选解析器 (#3589)
morphology.reconstruction
文档字符串中缺少参数描述 #3581 (#3591)更新聊天位置 (#3598)
移除孤立代码 (skimage/filters/_ctmf.pyx). (#3601)
更明确的示例标题,改进 plot_cycle_spinning.py 中的列表渲染 (#3606)
在图库中添加 rgb 到 hsv 的示例 (#3607)
更新
perimeter
的文档并添加输入验证 (#3608)为 clear_border 添加额外的 mask 选项 (#3610)
使用 Azure Pipelines 设置 CI (#3612)
[MRG] EHN: 中值滤波器将接受浮点图像 (#3616)
将 Travis-CI 更新到 xcode 10.1 (#3617)
对 _mean_std 代码的细微调整 (#3619)
添加图库章节的显式排序 (#3627)
删除损坏的链接 (#3628)
构建工具:修复 matplotlib 2.2.3 和 numpy 1.16 的 test_mpl_imshow (#3635)
核心开发指南的初稿 (#3636)
添加有关主页构建过程的更多详细信息 (#3639)
确保可以读取具有长查询字符串的图像资源 (#3642)
延迟 skimage/future/manual_segmentation.py 中的 matplotlib 导入 (#3648)
在保存图像时使低对比度检查成为可选的 (#3653)
正确忽略为文档自动生成的发行说明 (#3656)
制作“clean”目标时删除 MANIFEST 文件 (#3657)
在 feature/blob.py 中阐明 _overlap 文档字符串中的返回值 (#3660)
贡献脚本:允许指定 GitHub 开发分支 (#3661)
更新核心开发指南:弃用、贡献者指南、所需经验 (#3662)
添加 0.14.2 的发行说明 (#3664)
修复图库:添加 multichannel=True 以匹配直方图 (#3672)
维护:细微的代码风格改进 (#3673)
通过 tifffile 插件传递参数 (#3675)
DOC:示例中未使用的 im3d_t (#3677)
删除 Py_ssize_t 到 int 的错误转换 (#3682)
构建工具:允许 python 3.7 失败,但 Travis 继续 (#3683)
构建工具:删除 pyproject.toml (#3688)
修复 ValueError:解包的值不足 (#3703)
对 heap.pyx 的多项修复 (#3704)
在测试期间启用 faulthandler 模块 (#3708)
构建工具:修复 Travis 上 Python 3.7 的构建 (#3709)
在 _upsampled_dft 中将 np.einsum 替换为 np.tensordot (#3710)
修复可能使用 NULL 指针的问题 (#3717)
修复潜在的内存泄漏 (#3718)
修复可能使用 NULL 指针的问题 (#3719)
修复和改进 core_cy.pyx (#3720)
构建工具:将 Master 分支上的 Xcode 降级到 9.4 (#3723)
改进 visual_test.py (#3732)
更新 painttool 以处理彩色图像并正确缩放标签。 (#3733)
将 image.sc 论坛徽章添加到 README (#3738)
在 Travis 上阻止 PyQt 5.12.0 (#3743)
构建工具:以与上游相同的方式修复 matplotlib + qt 5.12 (#3744)
图库:删除 xx 或 yy 排序的目录名称 (#3761)
允许在 convex_hull_image 中使用 f-contiguous 2D 数组 (#3762)
构建工具:将 astropy 的最低要求设置为 1.2,以帮助 CI。 (#3767)
避免在堆叠数组时出现 NumPy 警告。 (#3768)
为 microaneurysms 设置 CC0 许可 (#3778)
统一 LICENSE 文件以便于解释 (#3791)
Readme:删除 matplotlib 中对未来修复的期望 (#3794)
改进
flood()
中的文档/测试 (#3796)在 denoise cython 中使用 ssize_t (#3800)
删除了文档字符串中不存在的参数 (#3803)
删除 draw.polygon 文档字符串示例中的冗余点 (#3806)
确保 watershed 自动标记尊重掩码 (#3809)
此版本添加了 46 位审阅者 [按名字或登录名首字母排序]#
Abhishek Arya
Adrian Roth
Alexandre de Siqueira
Ambrose J Carr
Arthur Imbert
Brian Smith
Christian Rauch
Christoph Gohlke
David Breuer
Egor Panfilov
Emmanuelle Gouillart
Evan Putra Limanto
François Boulogne
François Cokelaer
Gregory R. Lee
Grégory Starck
Guillaume Lemaitre
Ilya Flyamer
jakirkham
Jarrod Millman
Johannes Schönberger
Josh Warner
Jotham Apaloo
Juan Nunez-Iglesias
Justin
Lars Grueter
Laurent P. René de Cotret
Marcel Beining
Mark Harfouche
Matthew Brett
Matthew Rocklin
Matti Picus
mrastgoo
Onomatopeia
PeterJackNaylor
Rob
Roman Yurchak
Scott Staniewicz
Stefan van der Walt
Thein Oo
Thomas A Caswell
Thomas Walter
Tom Augspurger
Tomas Kazmar
Tommy Löfstedt
Vilim Štih