scikit-image 0.15.0 (2019-04-03)#
我們很高興宣布 scikit-image v0.15.0 的發布!
scikit-image 是一個用於 SciPy 的圖像處理工具箱,包含用於分割、幾何變換、色彩空間操作、分析、濾波、形態學、特徵檢測等的演算法。
如需更多資訊、範例和文件,請造訪我們的網站
https://scikit-image.dev.org.tw
0.15 是第一個僅與 Python 3.5 及以上版本相容的 scikit-image 發行版。Python 2.7 使用者應強烈考慮升級到 Python 3.5+,或使用 0.14 長期支援版本。
新功能#
N 維度洪水填充,具有容差 (#3245)
屬性運算子 (#2680)
擴展 register_translation 以在 3D 中啟用次像素精度,並可選擇停用錯誤計算 (#2880)
unsharp mask 濾波 (#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)Lazy apply_parallel (允許最佳化 dask 陣列運算) (#3121)
為直方圖新增範圍選項。 (#2479)
新增直方圖匹配 (#3568)
改進#
將
morphology.local_maxima
取代為更快的基於洪水填充的 Cython 版本 (#3022)skivi
現在使用qtpy
以實現 Qt4/Qt5/PySide/PySide2 相容性(一個新的可選依賴項)。現在透過 Airspeed Velocity 監控效能。基準測試結果將顯示在 https://pandas.dev.org.tw/speed/ (#3137)
加快 GLCM 的內部迴圈 (#3378)
允許元組在 threshold_niblack 和 threshold_sauvola 中定義核心 (#3596)
在 blob_log 和 blob_dog 中新增對異向性 blob 偵測的支援 (#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)
錯誤修正#
修正 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
一起使用時,用於計算平均結構相似性的邊界裁剪現在將與所使用的 Gaussian 的寬度完全匹配。Gaussian 濾波器視窗現在也會在 3.5 而不是 4.0 個標準差處截斷,以與原始 SSIM 出版物完全匹配。這些變更僅應在計算的 SSIM 值中產生非常小的變更。當gaussian_weights
為 False 時,現有行為不會變更。 (#3802)錯誤使用 cython 包裝 (#3481)
透過向 numpy 提供適當的參數來加速區塊縮減 (#3522)
再次新增 urllib.request (#3766)
當影像的維度為 1 時,在 reflect 模式下重複像素 (#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
)。
文件改進#
修正 rotate 方法的 center 參數文件 (#3341)
新增 Sphinx copybutton (#3530)
在文件中新增詞彙表 (#3626)
將視網膜影像新增至我們的資料中 (#3748)
將 microaneurysms() 新增至範例集 (#3765)
更好地記錄 remove_small_objects 的行為:int vs bool (#2830)
將 preserve_range 參數呼叫連結至文件 (#3109)
更新有關資料區域性的文件 (#3127)
指定 scikit-image conda 安裝的 conda-forge 通道 (#3189)
將 docstring 中的 DOI 轉換為網頁連結 (#3367)
更新 regionprops 的文件 (#3602)
DOC:改進 RANSAC 範例集範例 (#3554)
DOC:「feature.peak_local_max」:說明函數傳回的多個相同強度峰值;新增關於
exclude_border
參數的詳細資訊 (#3600)
改進#
MNT:處理 np.linspace 的棄用警告以及 num 參數的浮點數 (#3453)
TST:numpy 空陣列並非固有地為 False (#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)
其他改進#
錯誤:修正 greycoprops 相關性總是傳回 1 的問題 (#2532)
新增關於透過
skimage.lookfor
進行 API 探索的章節 (#2539)加速仿射變換的 2D 扭曲 (#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 測試期間抑制 flatten 的警告 (#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)
將 meeseeksdev 的指示新增至 PR 範本 (#3194)
移除視訊套件的安裝指示 (#3197)
大型影像標記修正 (#3202)
處理 cycle_spin 中的 dask 棄用 (#3205)
修正 Qt 檢視器 painttool 索引 (#3210)
build_versions.py 不再是硬式編碼。 (#3211)
移除 exposure.rescale_intensity 中的 dtype 建構函式呼叫 (#3213)
對 ASV 基準進行各種更新 (#3215)
在 github README 上新增堆疊溢位連結 (#3217)
MAINT:移除檔案標頭中的編碼資訊 (python 3) (#3219)
建置工具:在 appveyor 中專門使用 –pre 建置,並確保其他建置不會下載 –pre (#3222)
修正錯誤建置上的使用者可讀錯誤訊息。 (#3223)
依預設在 apply_parallel 中尊重輸入陣列類型 (#3225)
Travis 清理 pip 命令 (#3227)
為 morphology.watershed 新增基準 (#3234)
修正 docstring 格式,使程式碼區塊顯示為程式碼 (#3236)
延遲 skimage.io 匯入 matplotlib.pyplot,直到需要時才執行 (#3243)
為 Sobel 篩選器新增基準 (#3249)
移除 Cython md5 雜湊,因為它會中斷建置程序 (#3254)
修正文件中的錯字。 (#3262)
問題 3156:skimage/__init__.py 更新 docstring 並修正 import * (#3265)
物件偵測器模組 (#3267)
在建置時不要匯入子模組 (#3270)
為 canny 新增基準套件 (#3271)
改進 segmentation.felzenszwalb 文件 #3264 (#3272)
更新 _canny.py (#3276)
為直方圖等化新增基準套件 (#3285)
修正等化直方圖部落格參考的連結 (#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 影像頁面中的小型文法更新 (#3389)
assert_all_close 不存在,將其設為
assert_array_equal
(#3391)針對具有大量維度的陣列,高斯篩選器有較好的行為 (#3394)
允許使用 -OO 匯入/執行 (#3398)
將已知在 32 位元架構上失敗的測試標記為 xfail (#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 轉換連結 (#3428)
MAINT:既然 matplotlib 已升級,現在使用上游色彩對應 (#3429)
建置工具:使 pyamg 成為可選依賴性並移除自訂邏輯 (#3431)
建置工具:修正安裝在最低需求建置中的 PyQt (#3432)
MNT:由於我們依賴 python >=2.7,因此多處理應該始終可用 (#3434)
MAINT 使用 np.full 而非 cst*np.ones (#3440)
DOC:透過
make latexpdf
修正 LaTeX 建置 (#3441)更新 0.14.1 之後版本的指示等 (#3442)
移除特定於 python 2 的程式碼 (#3443)
修正
_try_all
中methods
的預設值,以避免例外狀況 (#3444)修正任何維度 < 3 的輸入的 morphology.local_maxima (#3447)
使用原始字串以避免未知的跳脫符號警告 (#3450)
透過就地裁剪輸出加速 xyz2rgb (#3451)
MNT;處理 tifffile 中的棄用警告 (#3452)
建置工具:TST:在測試期間篩選掉新手棄用警告 (#3454)
建置工具:不要再在類別固定裝置中使用 pytest.fixtures 修飾詞 (#3458)
保留遮罩陣列的 fill_value (#3461)
修正 np.histogram 中 normed=True 的 VisibleDeprecationWarning (#3463)
建置工具:DOC:說明現在 PYTHONOPTMIZE 建置被 SciPy 封鎖 (#3470)
DOC:以網路封存等效連結取代損壞的連結 (#3471)
FIX:使 plot_marching_cubes 範例可見。 (#3474)
避開關於
skimage.lookfor
的 Travis 失敗 (#3477)修正文件 Makefile 中 sphinx-build 的 Python 可執行檔 (#3478)
建置工具:封鎖特定的 Cython 版本 (#3479)
修正錯字 (#3480)
將「可選」指示新增至 docstring (#3495)
將「mnxc」(遮罩正規化交叉相關)重新命名為更具描述性的名稱 (#3497)
隨機漫步者錯誤修正:當沒有任何事情可做時,不應引發錯誤 (#3500)
針對主動輪廓的各種小型編輯 (#3508)
修正使用者指南中 uint32 dtype 的範圍 (#3512)
當影像為空時,在扭曲中引發有意義的例外狀況 (#3518)
DOC:Ubuntu 的開發安裝指示缺少 tkinter (#3520)
針對遮罩平移註冊的較佳範例集和測試 (#3528)
DOC:使更多 docstring 符合我們的標準 (#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:將 char 標記為 signed (#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 以符合 match_histogram (#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.tensordot 取代 np.einsum (#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)
將微動脈瘤設定為 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