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)
允许任何范围的浮点数到浮点数的转换 (#3052)
让低精度浮点数组通过
img_as_float
(#3110)懒惰的 apply_parallel(允许优化 dask 数组操作)(#3121)
为直方图添加范围选项。(#2479)
添加直方图匹配 (#3568)
改进#
将
morphology.local_maxima
替换为基于洪水填充的更快的 Cython 版本 (#3022)skivi
现在使用qtpy
来实现 Qt4/Qt5/PySide/PySide2 的兼容性(一个新的可选依赖项)。性能现在由 Airspeed Velocity 监控。基准测试结果将出现在 https://pandas.pydata.org/speed/ 上 (#3137)
加速GLCM的内部循环(#3378)
允许使用元组在 threshold_niblack 和 threshold_sauvola 中定义内核 (#3596)
在 blob_log 和 blob_dog 中添加对各向异性斑点检测的支持 (#3690)
API 变更#
skimage.transform.seam_carve
已被移除,因为该算法已获得专利。(#3751)参数
dynamic_range
在skimage.measure.compare_psnr
中已被移除。请改用参数data_range
。(#3313)imageio 现在是读取和写入图像的首选插件。(#3126)
imageio 现在是 scikit-image 的一个依赖项。(#3126)
regular_grid
现在返回一个元组而不是列表,以与 numpy 1.15 兼容 (#3238)colorconv.separate_stains
和colorconv.combine_stains
现在使用以10为底的对数,而不是自然对数,如问题 #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)
错误修复#
Frangi滤波器的正确亮脊检测 (#2700)
skimage.morphology.local_maxima
和skimage.morphology.local_minima
如果图像的任何维度小于3且关键字allow_borders
为假,则不再引发错误。skimage.morphology.local_maxima
和skimage.morphology.local_minima
如果参数indices
为 false,将返回一个布尔数组,而不是一个由 0 和 1 组成的数组。当
compare_ssim
与gaussian_weights
设置为 True 时,计算平均结构相似性时使用的边界裁剪现在将精确匹配所使用的高斯宽度。高斯滤波窗口现在也在 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 版本中移除并导致错误。这一变化有许多后果。具体来说,“方向”区域属性将测量从 垂直 线逆时针的角度,即在行-列坐标中从向量 (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
)。
文档改进#
正确的旋转方法中心参数文档 (#3341)
添加 Sphinx 复制按钮 (#3530)
将术语表添加到文档中 (#3626)
将视网膜图像添加到我们的数据中 (#3748)
将 microaneurysms() 添加到图库 (#3765)
更好地记录 remove_small_objects 行为:int 与 bool (#2830)
将 preserve_range 参数调用链接到文档 (#3109)
更新关于数据局部性的文档 (#3127)
为 scikit-image conda 安装指定 conda-forge 频道 (#3189)
在文档字符串中将DOI转换为网页链接 (#3367)
更新 regionprops 的文档 (#3602)
文档:改进RANSAC图库示例(#3554)
DOC: “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: 更改位深度和最大二进制数的计算方式以确保精确的警告。(#3501)
等级:优化 OTSU 滤波器 (#3504)
排名 - 修复排名熵和 OTSU 测试 (#3506)
在手动分割中延迟导入 pyplot (#3533)
去除 requirements-parser 依赖 (#3534)
在测试中过滤来自
correct_mesh_orientation
的警告 (#3549)cloudpickle 实际上是一个文档依赖,而不是核心依赖 (#3634)
pip 的依赖项是可选的 (#3645)
3.7 版本中测试警告减少 (#3687)
collections.abc 细节 (#3692)
简化的议题模板 (#3697)
收紧PR模板 (#3701)
在cython中使用3级语言以确保未来的兼容性(#3707)
更新 ISSUE_TEMPLATE.md 文件,添加关于 numpy 和 skimage 版本的信息 (#3730)
对许多 Cython 模块使用相对导入 (#3759)
在arm架构上通过不引发浮点异常的测试(#3337)
其他改进#
BUG: 修复 greycoprops 相关性总是返回 1 的问题 (#2532)
通过
skimage.lookfor
添加 API 发现部分 (#2539)加速二维仿射变换的扭曲处理 (#2902)
在发布说明中感谢评审者 (#2927)
在API中添加了小型图库 (#2940)
使用 skimage 高斯滤波器以避免整数舍入伪影 (#2983)
移除 Python 2 兼容性 (#3000)
将
rectangle_perimeter
功能添加到skimage.draw
中 (#3069)更新安装说明以引用现有的需求规范(#3113)
更新了 0.13.1 版本之前的发布说明 (#3114)
发布指南更新 (#3115)
确保我们在Python 3上安装/运行 (#3119)
在 test_unsharp_mask 中隐藏警告 (#3130)
处理 0.15 版本的弃用功能 (#3132)
文档:始终使用 dev 分支的 JavaScript (#3136)
添加初始的airspeed velocity (asv)框架 (#3137)
在io测试期间抑制扁平化警告 (#3143)
恢复过滤器中 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)
为meeseeksdev添加PR模板指令 (#3194)
移除视频包的安装说明(#3197)
大图像标签修复 (#3202)
在 cycle_spin 中处理 dask 弃用问题 (#3205)
修复 Qt 查看器绘图工具索引 (#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)
为形态学.分水岭添加基准测试 (#3234)
修正文档字符串格式,以便代码块显示为代码 (#3236)
延迟导入 matplotlib.pyplot 到需要时(#3243)
为 Sobel 滤波器添加基准测试 (#3249)
移除 cython md5 哈希,因为它破坏了构建过程 (#3254)
修复文档中的拼写错误。(#3262)
问题 3156: skimage/__init__.py 更新文档字符串并修复导入 * (#3265)
对象检测模块 (#3267)
在构建时不要导入子模块 (#3270)
为 canny 添加基准测试套件 (#3271)
改进分割。felzenszwalb 文档 #3264 (#3272)
更新 _canny.py (#3276)
为直方图均衡化添加基准测试套件 (#3285)
修复指向 equalist_hist 博客参考的链接 (#3287)
.gitignore: 初学者: 忽略 save-demo.jpg (#3289)
指导 denoise_wavelet 的用户选择一个正交小波。(#3290)
移除 skimage/__init__.py 中未使用的库 (#3291)
BUILD: 添加 pyproject.toml 以确保 cython 存在 (#3295)
在文档中处理 intersphinx 和 mpl 弃用警告 (#3300)
小的 PEP8 修复 (#3305)
cython: 在从sdist安装期间检查cpp文件的存在性 (#3311)
appveyor: 不要上传任何制品 (#3315)
为 hough_line() 添加基准测试套件 (#3319)
新手跳过URL测试 (#3320)
从轮子中移除基准测试 (#3321)
将许可证文件添加到轮子(二进制)分发中 (#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图像页面中的语法进行了小更新 (#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: 将使用 http 的链接转换为 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)
构建工具:在类固定装置中不再使用 pytest.fixtures 装饰器 (#3458)
保留掩码数组的 fill_value (#3461)
修复 np.histogram 的 VisibleDeprecationWarning,normed=True (#3463)
构建工具:文档:现在 PYTHONOPTMIZE 构建被 SciPy 阻止 (#3470)
DOC: 将损坏的链接替换为等效的webarchive链接 (#3471)
修复:使 plot_marching_cubes 示例可见。(#3474)
避免 Travis 失败关于
skimage.lookfor
(#3477)修复docs Makefile中sphinx-build的Python可执行文件 (#3478)
构建工具:屏蔽特定 Cython 版本 (#3479)
修复拼写错误 (#3480)
在文档字符串中添加“可选”指示 (#3495)
将 ‘mnxc’(掩码归一化互相关)重命名为更具描述性的名称 (#3497)
随机游走者错误修复:当没有操作时不应引发错误 (#3500)
各种小的编辑用于活动轮廓 (#3508)
修复用户指南中uint32数据类型的范围 (#3512)
在图像为空时在扭曲中引发有意义的异常 (#3518)
文档:Ubuntu 的开发安装说明中缺少 tkinter (#3520)
更好的图库示例和掩码翻译注册的测试 (#3528)
DOC: 使更多文档字符串符合我们的标准 (#3529)
构建工具:移除对 Python 3.7 的 SimpleITK 限制 (#3535)
加速并添加
skeletonize_3d
的基准测试 (#3536)更新 requirements/README.md 以说明选择 matplotlib 3.0.0 而不是 #3476 的理由 (#3542)
关于去噪功能的文档改进。(#3553)
在文档的 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)清除边界的附加掩码选项 (#3610)
使用 Azure Pipelines 设置 CI (#3612)
[MRG] EHN: 中值滤波器将接受浮点图像 (#3616)
将 Travis-CI 更新到 xcode 10.1 (#3617)
对 _mean_std 代码的小调整 (#3619)
添加画廊部分的显式排序 (#3627)
删除损坏的链接 (#3628)
构建工具:修复 test_mpl_imshow 以兼容 matplotlib 2.2.3 和 numpy 1.16 (#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)
MAINT 小幅代码风格改进 (#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.tensordot 替换 np.einsum (#3710)
修复潜在的空指针使用问题 (#3717)
修复潜在的内存泄漏问题 (#3718)
修复潜在的空指针使用问题 (#3719)
修复并改进 core_cy.pyx (#3720)
构建工具:在主分支上将Xcode降级到9.4 (#3723)
改进 visual_test.py (#3732)
更新了painttool以处理彩色图像并正确缩放标签。(#3733)
在README中添加image.sc论坛徽章 (#3738)
在 Travis 上阻止 PyQt 5.12.0 (#3743)
构建工具:以与上游相同的方式修复 matplotlib + qt 5.12 (#3744)
gallery: 移除 xx 或 yy 排序的目录名称 (#3761)
允许在 convex_hull_image 中使用 f-contiguous 的二维数组 (#3762)
构建工具:将 astropy 的最低要求设置为 1.2 以帮助 CI。(#3767)
避免在堆叠数组时出现NumPy警告。(#3768)
为微动脉瘤设置CC0 (#3778)
统一 LICENSE 文件以方便解释 (#3791)
自述文件:从 matplotlib 中移除对未来修复的期望(#3794)
改进了
flood()
中的文档/测试 (#3796)在去噪 cython 中使用 ssize_t (#3800)
移除了文档字符串中不存在的参数 (#3803)
删除 draw.polygon 文档字符串示例中的冗余点 (#3806)
确保流域自动标记器尊重掩码 (#3809)
46 位评审者添加到此版本 [按名字或登录名首字母排序]#
Abhishek Arya
阿德里安·罗斯
亚历山大·德·西奎拉
安布罗斯·J·卡尔
亚瑟·因伯特
布莱恩·史密斯
克里斯蒂安·劳赫
克里斯托夫·戈尔克
大卫·布劳尔
叶戈尔·潘菲洛夫
伊曼纽尔·古利亚特
Evan Putra Limanto
弗朗索瓦·布洛涅
François Cokelaer
格雷戈里·R·李
格雷戈里·斯塔克
纪尧姆·勒梅特
伊利亚·弗莱梅尔
jakirkham
Jarrod Millman
Johannes Schönberger
乔什·华纳
Jotham Apaloo
Juan Nunez-Iglesias
贾斯汀
Lars Grueter
洛朗·P·勒内·德·科特雷
马塞尔·贝宁
马克·哈福克
马修·布雷特
马修·罗克林
Matti Picus
mrastgoo
拟声词
PeterJackNaylor
罗布
罗马·尤尔恰克
斯科特·斯坦尼茨
斯蒂芬·范·德·瓦特
Thein Oo
托马斯·A·卡斯韦尔
托马斯·沃尔特
汤姆·奥格斯珀格
Tomas Kazmar
Tommy Löfstedt
维利姆·什蒂赫