scikit-image 0.13.1 (2017-09-27)#

scikit-image 0.13.1 是一個錯誤修復和相容性更新版本。有關 0.13.0 中許多新功能,請參閱下文。

0.13.1 的主要貢獻是 Jarrod Millman 的努力工作,確保 scikit-image 可以同時與 NetworkX 1.11 和 2.0 (#2766) 搭配使用。其他更新包括

  • 由 GitHub 使用者 @zhongzyd (#2690) 修正的相似轉換估計中的錯誤

  • Gregory Lee (#2650, #2640) 修正 skimage.util.plot_matchesdenoise_wavelet 中的錯誤

  • Egor Panfilov (#2716) 和 Jirka Borovec (#2524) 的文件更新

  • Gregory Lee (#2666, #2731)、Nelle Varoquaux (#2722) 和 Stéfan van der Walt (#2723, #2810) 修正的文件建置問題

scikit-image 0.13.0 (2017-03-29)#

我們很高興(終於)宣佈發布 scikit-image v0.13.0!

scikit-image 是一個用於 SciPy 的影像處理工具箱,包含用於分割、幾何轉換、色彩空間操作、分析、濾波、形態學、特徵偵測等演算法。

如需更多資訊、範例和文件,請造訪我們的網站

https://scikit-image.dev.org.tw

以及我們的範例圖庫

https://scikit-image.dev.org.tw/docs/dev/auto_examples/

重點#

此版本是經過一年的努力,由 82 位貢獻者提交超過 200 個提取請求的成果。重點包括

  • 改進的 n 維影像支援。此版本增加了 nD 對以下項目的支援

    • 用於質心的 regionprops 計算 (#2083)

    • segmentation.clear_border (#2087)

    • Hessian 矩陣 (#2194)

  • 此外,以下新函數支援 nD 影像

    • 新的小波去噪函數 restoration.denoise_wavelet (#1833, #2190, #2238, #2240, #2241, #2242, #2462)

    • 新的閾值函數 filters.threshold_sauvolafilters.threshold_niblack (#2266, #2441)

    • 新的局部最大值、局部最小值、hmaxima、hminima 函數 (#2449)

  • 灰階共生矩陣 (GLCM) 現在可與 uint16 影像搭配使用

  • filters.try_all_threshold 可快速查看各種閾值方法的輸出

  • Frangi 和 Hessian 濾波器(僅限 2D)(#2153)

  • segmentation.watershed 中的新*緊湊分水嶺*演算法 (#2211)

  • feature.shape_index 中的新*形狀索引*演算法 (#2312)

新函數和功能#

  • 新增最小閾值演算法 (#2104)

  • 實作平均值和三角形閾值處理 (#2126)

  • 新增 Frangi 和 Hessian 濾波器 (#2153)

  • 將 bbox_area 新增至區域屬性 (#2187)

  • colorconv:新增 rgba2rgb() (#2181)

  • Lewiner 行進立方體演算法 (#2052)

  • 影像反轉 (#2199)

  • 小波去噪(來自 #1833)(#2190)

  • 從影像估計雜訊標準差的常式 (#1837)

  • 新增緊湊分水嶺並清除現有的分水嶺 (#2211)

  • 新增遺失的「grey2rgb」函數。 (#2316)

  • 形狀索引 (#2312)

  • 基本和必要矩陣 8 點演算法 (#1357)

  • 新增 YUV、YIQ、YPbPr、YCbCr 色彩空間

  • 從形態學偵測局部極值 (#2449)

  • 夏儂熵 (#2416)

文件改進#

  • 在貢獻頁面中新增有關 GitHub SSH 金鑰的詳細資訊 (#2073)

  • 新增 Felzenszwalb 影像分割的範例 (#2096)

  • 用於範例圖庫的 Sphinx 圖庫 (#2078)

  • 改進的區域邊界 RAG 文件 (#2106)

  • 新增圖庫 Lucy-Richardson 反褶積演算法 (#2376)

  • 圖庫:使用馬來說明凸包 (#2431)

  • 在使用者指南中新增使用 OpenCV 的說明 (#2519)

程式碼改進#

  • 從測試套件中移除 lena 影像 (#1985)

  • 移除 skimage.feature.match_template 中的重複平均值計算 (#1980)

  • 將 nD 支援新增至 clear_border (#2087)

  • 新增共生矩陣的 uint16 影像支援 (#2095)

  • 新增高斯和中值濾波器的預設參數 (#2151)

  • try_all 以選擇最佳閾值演算法 (#2110)

  • 在 Felzenszwalb 分割中新增多通道支援 (#2134)

  • 改進的 SimilarityTransform,新的 EuclideanTransform 類別 (#2044)

  • ENH:加快 Hessian 矩陣計算速度 (#2194)

  • 將 n 維支援新增至 denoise_wavelet (#2242)

  • 加快 inpaint_biharmonic 速度 (#2234)

  • 更新 Hessian 矩陣程式碼以包含 order kwarg (#2327)

  • 處理 label2rgb 的情況,其中輸入標籤為負值和/或不連續 (#2370)

  • 新增 watershed_line 參數 (#2393)

API 變更#

  • 移除已淘汰的 filter 模組。改用 filters。 (#2023)

  • 移除 skimage.filters.canny 連結。改用 feature.canny。 (#2024)

  • 移除 Python 2.6 支援和相關檢查 (#2033)

  • 移除已淘汰的 {h/v}sobel、{h/v}prewitt、{h/v}scharr、roberts_{positive/negative} 濾波器 (#2159)

  • 移除已淘汰的 _mode_deprecations (#2156)

  • 移除 rescale_intensity 中已淘汰的 None 預設值 (#2161)

  • 參數 ntiles_xntiles_y 已從 exposure.equalize_adapthist 中移除

  • 現在 NumPy 的最低版本為 1.11,SciPy 的最低版本為 0.17

淘汰#

  • clip_negative 在版本 0.15 中預設值將設為 false (func: dtype_limits) (#2228)

  • 淘汰「dynamic_range」,改用「data_range」(#2384)

  • 在 0.15 版中,radoniradon 轉換的 circle 引數的預設值將為 True (#2235)

  • 在 0.15 版中,denoise_bilateraldenoise_nl_meansmultichannel 預設值將為 False

  • 在 0.15 版中,feature.hog 中的 block_norm 預設值將為 L2-Hysteresis。

  • 已淘汰 threshold_adaptive 函數。改用 threshold_local

  • 在 0.15 版中,transform.swirlresizerescale 中的 mode 預設值將為「reflect」。

此版本的貢獻者#

  • AbdealiJK

  • Rodrigo Benenson

  • Vighnesh Birodkar

  • Jirka Borovec

  • François Boulogne

  • Matthew Brett

  • Sarwat Fatima

  • Rachel Finck

  • Joe Futrelle

  • Jeroen Van Goey

  • Christoph Gohlke

  • Roman Golovanov

  • Emmanuelle Gouillart

  • Anshita Gupta

  • David Haberthür

  • Jeff Hemmelgarn

  • Hiyorimi

  • Daniel Hyams

  • Alex Izvorski

  • Kyle Jackson

  • Jirka

  • JohnnyTeutonic

  • Kevin Keraudren

  • Almar Klein

  • Yu Kobayashi

  • Moriyoshi Koizumi

  • Lachlan

  • LachlanD

  • George Laurent

  • Gregory R. Lee

  • Evan Limanto

  • Ben Longo

  • Victor MARTIN

  • Oliver Mader

  • Ken’ichi Matsui

  • Jeremy Metz

  • Jeyson Molina

  • Michael Mueller

  • Juan Nunez-Iglesias

  • Egor Panfilov

  • Paul

  • PengchengAi

  • Francisco de la Peña

  • Pavlin Poličar

  • Orion Poplawski

  • Zoe Richards

  • Todd V. Rovito

  • Christian Sachs

  • Sanya

  • Johannes Schönberger

  • Pavel Shevchuk

  • Scott Sievert

  • Steven Silvester

  • Shaun Singh

  • Sourav Singh

  • Alexandre Fioravante de Siqueira

  • Samuel St-Jean

  • Noah Stier

  • Ole Streicher

  • Martin Thoma

  • Matěj Týč

  • Viraj

  • Stefan van der Walt

  • Josh Warner

  • Olivia Wilson

  • Robin Wilson

  • Martin Zackrisson

  • Yue Zheng

  • Nick Zoghb

  • alexandrejaguar

  • almar

  • cespenel

  • danielballan

  • dmesejo

  • eli

  • jwittenbach

  • lgeorge

  • mljli

  • rjeli

  • skrish13

  • tseclaudia

  • walter

此版本中合併的提取請求#

  • 若使用者嘗試使用較舊的 Cython 版本建置時發出警告 (#1986)

  • 從測試套件中移除 lena 影像 (#1985)

  • 將 inpaint 加入模組初始化 (#1987)

  • 預先計算範本平均值 (#1980)

  • rgb2grey -> grey2rgb (#1989)

  • 也將 rgb2gray 作為 rgb2grey 公開 (#1990)

  • 在清除時移除所有 .md5 檔案 (#1992)

  • 當使用 multichannel=True 呼叫 compute_ssim 時,避免出現棄用警告 (#1994)

  • DOC:在 compute_ssim 錯誤中建議使用 multichannel=True (#1999)

  • [DOC] 新增指南連結 (#2001)

  • 修正 CONTRIBUTING 中的 docs–>doc (#2009)

  • dask 變成可選的相依性 (#2013)

  • 修正捕捉 mpl 警告的正規表示式 (#2014)

  • BUILD:在 Travis pip 安裝中使用 –pre 標記 (#1938)

  • Github 範本 (#1954)

  • 為 PaintTool 新增文件 (#1934)

  • skimage.segmentation.quickshift 簽名從 API 文件中遺失 (#2017)

  • MAINT:升級 tifffile (#2016)

  • 修改 .gitignore 以正確忽略 auto_example 檔案 (#1966)

  • MAINT:在 CI 建置中從 coveralls 切換到 codecov (#2015)

  • skimage.segmentation.quickshift 簽名從 API 文件中遺失,第三次嘗試 (#2021)

  • MAINT:移除已棄用的 filter 模組 (#2023)

  • 移除 skimage.filters.canny 連結 (#2024)

  • 記錄 regionprops bbox 屬性。 (#2030)

  • 修正 texturematch 論文的 URL (#2031)

  • 改進 skimage.segmentation.active_contour 輸入參數的 dtype 支援 (#2032)

  • 修正本地測試函式 (#2034)

  • 移除 Python 2.6 支援和相關檢查 (#2033)

  • 在 OSX 上測試 (#2038)

  • 將覆蓋率徽章變更為 codecov (#2055)

  • TST:加速雙邊濾波器測試 (#2061)

  • 加速 colorconv._convert (#2064)

  • FIX:修正 qt_plugin 中 'warn' 的導入 (#2070)

  • 新增 YUV、YIQ、YPbPr、YCbCr 色彩空間

  • 在 contributing 頁面中新增有關 github SSH 金鑰的詳細資訊 (#2073)

  • ENH:將 np.random.RandomState 傳遞給 RANSAC (#2072)

  • 使用 tifffile 處理 IO 物件 (#2046)

  • 更新質心以使用座標 - 在 3D 中運作 (#2083)

  • [WIP] 區域邊界 RAG 的階層式合併 (#2058)

  • 將 nD 支援新增至 clear_border (#2087)

  • DOC:更新為新的 API(次要)(#2090)

  • 新增 Felzenszwalb 影像分割的範例 (#2096)

  • DOC:在變數定義的欄位前新增空格(次要...)(#2102)

  • DOC:引導新貢獻者使用 HTTPS,而非 SSH (#2082)

  • 將 François Boulogne 加入 mailmap (#2117)

  • 將 skimage.filters.rank 描述和 todos 從 README 移至文件字串。 (#2115)

  • 修正 Otsu 閾值的錯誤和文件 (#2118)

  • 將 scuinto 的第二個電子郵件地址加入 mailmap (#2122)

  • MAINT:關於標籤和 regionprops 函式。 (#2100)

  • 新增最小閾值演算法 (#2104)

  • 用於範例圖庫的 Sphinx 圖庫 (#2078)

  • DOC:縮短圖庫中的標題 (#2128)

  • DOC:使用清單重構軸 (#2129)

  • DOC ENH + houghline 轉換的 API 修正 (#2089)

  • 修正範例指令碼的縮排 (#2136)

  • 實作平均值和三角形閾值處理 (#2126)

  • skimage.measure.label 參考移至文件字串 (#2143)

  • 修正過時的 GraphicsGems 連結 (#2149)

  • 文件字串 (#2145)

  • 新增共生矩陣的 uint16 影像支援 (#2095)

  • 移除已棄用的 {h/v}sobel, {h/v}prewitt, {h/v}scharr, roberts_{positive/negative} 濾波器 (#2159)

  • 移除已淘汰的 _mode_deprecations (#2156)

  • 預設參數 (#2151)

  • ENH:try_all 選擇最佳閾值演算法和 DOC 重構 (#2110)

  • BUGFIX:inverse_map 不應為 None (#2160)

  • 將 felzenszwalb 灰階切換為多通道版本 (#2134)

  • greycomatrix 的寫作、樣式和 PEP8 修正 (#2157)

  • 新增 Frangi 和 Hessian 濾波器 (#2153)

  • 改進的 SimilarityTransform,新的 EuclideanTransform 類別 (#2044)

  • color.colorconv:修正 rgb2gray() 的文件 (#2169)

  • 修正 segmentation.felzenszwalb 中的區域合併 (#2164)

  • 移除 rescale_intensity 中已淘汰的 None 預設值 (#2161)

  • DOC:在 template_match 中新增註解 (#2176)

  • 為 numpy_images.rst 新增章節標題格式 (#2177)

  • 修正 threshold_triangle 以適用於非整數影像。 (#2171)

  • 改進的區域邊界 RAG 文件 (#2106)

  • ENH 將 bbox_area 加入區域屬性 (#2187)

  • colorconv:新增 rgba2rgb() (#2181)

  • DOC:將 DOI 加入參考文獻 (#2188)

  • 移除 try_all_threshold 中的本地閾值 (#2180)

  • DOC:新增關於警告處理的註解 (#2198)

  • ENH:加快 Hessian 矩陣計算速度 (#2194)

  • 為資料新增遺失的單元測試,並將馬轉換為二進位 (#2196)

  • 修正 ssim 範例 (#2208)

  • [MRG] MAINT:以 filters.gaussian 取代 gaussian_filter (#2210)

  • [MRG] DOC:更正 mssim 文件字串以傳回 float (#2218)

  • FEAT:Lewiner 行進立方體演算法 (#2052)

  • 修正鹽和胡椒雜訊中的錯誤 (#2223)

  • TST:更新 AppVeyor 以使用 Conda,新增 msvc_runtime (#2217)

  • 改進標題的文件字串 (#2185)

  • 新增維基百科上的任務更新版本 (#2230)

  • NEW + DOC:影像反轉 (#2199)

  • ENH:實作小波去噪(來自 #1833)(#2190)

  • TEST:在 setup() 中定義 seed / 修正隨機測試失敗 (#2227)

  • 將 n 維支援新增至 denoise_wavelet (#2242)

  • API:clip_negative 將在 0.15 版本中預設設定為 false(函式:dtype_limits)(#2228)

  • 加快 inpaint_biharmonic 速度 (#2234)

  • MAINT dtype.py (PEP8) (#2231)

  • 移除未使用的 extend_image (#2251)

  • ENH:從影像估計雜訊標準差的常式 (#1837)

  • 將 sphinx 建置限制為單一程序。移除供應商 numpydoc。 (#2257)

  • 在 threshold_otsu 警告中新增更具體的影像形狀檢查 (#2259)

  • 允許在未安裝 numpy 的情況下執行 setup.py egg_info。 (#2260)

  • 新增緊湊分水嶺並清除現有的分水嶺 (#2211)

  • 直接使用 numpy.pad,移除 util.pad 中的大部分已出貨程式碼 (#2265)

  • DOC:修正參考文獻 (#2262)

  • DOC:圖庫中的微小修正 (#2226)

  • DOC:修正錯字 (#2274)

  • 更新 Manifest.in (#2255)

  • 修正無界限相關性 – Dhyams 修正範本比對 (#2263)

  • DOC:重構圖庫中的骨架化範例 (#2141)

  • [MRG+1] 在 skimage.data.* 中的影像文件字串中插入中繼資料 (#2236)

  • MAINT:Radon(文件字串、API、PEP8)(#2235)

  • [MRG+2] MAINT:修正 numpy 棄用 (#2283)

  • 減少繪圖周圍的空白 (#2144)

  • [MRG+1] 預設情況下,clear_border 不是就地執行 (#2285)

  • 移除 transform.{pyx/pxd} 中未使用的導入 (#2288)

  • [MRG+1] 在文件導覽中新增社群指南 (#2287)

  • 將色彩新增至 IHC (#2279)

  • FIX:如果指定了標籤,則選擇 num_peaks (#2098)

  • [MRG+1] 新增 felzenszwalb 形狀驗證 (#2286)

  • [MRG+1] 在 _wavelet_threshold 中更緊密地比對 BayesShrink 論文 (#2241)

  • 移除 subplots_adjust 的使用 (#2289)

  • [MRG+1] 變更文件頁面圖示 (#2291)

  • [MRG+1] TST:偏好使用 numpy.testing 中的 assert_ 而非 assert (#2298)

  • TSTFIX:針對 scipy 的開發版本修正錯誤 (#2302)

  • 增強 compare_ssim 文件字串 (#2314)

  • 新增遺失的「grey2rgb」函數。 (#2316)

  • PEP8 (#2304)

  • 為公開的 Cython 函式建立 Python 包裝函式 (#2303)

  • 更新郵寄清單位置 (#2328)

  • 形狀索引 (#2312)

  • 在 DEPENDS.txt 中將 pywavelets 新增至執行階段需求 (#2238)

  • 重構 skimage.draw 中的變數名稱 (#2321)

  • 修正列印錯誤訊息時的顯示問題 (#2326)

  • 在 threshold_li 中新增對零影像的捕獲 (#2338)

  • FIX:修改 peak_local_max 以使用 relabel_sequential (#2341)

  • 更新 _static 中的圖示 (#2355)

  • 移除 rgb2hsv 和 h… 的文件字串中不正確的輸入類型假設 (#2354)

  • 更新 transform.swirl 中的預設邊界模式 (#2331)

  • 更新 imread() 文件 (#2358)

  • 檢查 random_walker() 中的有效模式。 (#2362)

  • 修正 nose/travis 未執行的 _shared 中 1 個損壞的測試 (#2229)

  • 更新 Hessian 矩陣程式碼以包含 order kwarg (#2327)

  • 釐清 sk… 文件中 beta1 和 beta2 參數的用途 (#2382)

  • 處理 label2rgb 的情況,其中輸入標籤為負值和/或不連續 (#2370)

  • 更新 exposure.equalize_adapthist 引數和文件字串 (#2220)

  • 修正使用者指南中 (x, y) 原點描述 (#2385)

  • 更新 show_rag 方法的文件字串 (#2375)

  • 修正列印錯誤訊息時的顯示問題 (#2372)

  • 在 _shared.utils.py 中新增對空陣列的檢查 (#2364)

  • 修正無峰值 blob log (#2349)

  • ENH:使用 orientation kwarg 擴充 draw.ellipse (#2366)

  • 基本和必要矩陣 8 點演算法 (#1357)

  • 修正 Travis 註解的參考 (#2403)

  • 修正 sphinx 中已棄用的選項,該選項會在 travis 中導致警告視為錯誤 (#2395)

  • 更新 Travis 指令碼 (#2374)

  • 移除 freeimage 外掛程式 (#1933)

  • 修正直方圖的形狀類型 (#2417)

  • 將照明體和觀察者參數新增至 rgb2lab 和 lab2rgb 函式。 (#2306)

  • PEP8 (#2413)

  • MAINT:合併 dtype 清單 (#2420)

  • (部分)符合 pep8 標準 (#2392)

  • 新增標題和文字,使 plot_brief.py 範例更清晰 (#2193)

  • DOC:新增標準照明體參考 (#2418)

  • 在子圖中新增標題和文字,使 plot_censure.py 範例更容易讓新手理解 (#2191)

  • 淘汰「dynamic_range」,改用「data_range」(#2384)

  • 使 PR 2266 與 n-D 相容 (#4)

  • 根據 Guo 和 Hall 1989 新增新的「細線化」方法 (#2294)

  • 本地閾值 niblack sauvola(來自 Jeysonmc PR)(#2266)

  • 穩定的橢圓擬合 (#2394)

  • 新增圖庫 Lucy-Richardson 反褶積演算法 (#2376)

  • 根據註解和 StackOverflow 改進 SIFT 載入器文件字串 (#2404)

  • 變更為 Javascript 載入搜尋索引(Julian Taylor 的修補程式)(#2438)

  • 修正連通元件中的分段錯誤(Yaroslav Halchenko 的修補程式)(#2437)

  • 重構 util/dtype.py (#2425)

  • ENH:圖庫,各種小樣式修正 (DFT 範例)。 (#2430)

  • 使 peak_local_max 傳回已排序的索引,一律如此 (#2435)

  • 更正 probabilistic_hough_line() 的註解。 (#2448)

  • 新增 watershed_line 參數 (#2393)

  • 解決 Gaussian 值範圍 #2383 (#2388)

  • 圖庫:使用馬來說明凸包 (#2431)

  • MRG:更新 Python 3.6 的建置矩陣 (#2451)

  • YCbCr 色彩空間中的小波去噪 (#2240)

  • 圖庫:為硬幣使用灰階色彩對應 (#2459)

  • 修正 Sauvola 和 Niblack 閾值的錯誤 (#2441)

  • MAINT:移除 _wavelet_threshold 文件字串 (#2460)

  • BUG:修正奇數長度輸入的 denoise_wavelet (#2462)

  • MAINT:針對 denoise_{bilateral, nl_means} 中的新多通道預設值發出警告 (#2467)

  • 圖庫中針對去噪的各種增強功能 (#2461)

  • 用於檢查 sdist 完整性的工具 (#2085)

  • 新增不同的 skimage.hog 區塊正規化方法 (#2040)

  • DOC:修正錯字並新增參考文獻 (#2478)

  • 將 sphinx 圖庫更新至 0.1.8 (#2474)

  • DOC:修正 Gaussian 濾波器文件字串中的錯字 (#2487)

  • 新增 threshold_local,棄用舊的 threshold_adaptive API (#2490)

  • 調整大小和縮放的預設邊緣模式變更 (#2484)

  • dask[array] 新增至可選需求 (#2494)

  • DOC:在 CONTRIBUTING.txt 中新增指示,並更新 Windows 的 git 安裝連結 (#2495)

  • ENH:一般化 hough_peak 函式 (#2109)

  • 修正圖庫範例 (#2504)

  • 提高最低 scipy 版本 (#2254)

  • DOC:img_as_float 如果輸入 dtype 為 float,則新增關於範圍的註解 (#2499)

  • 更新 tifffile 以進行 2017.01.12 變更 (#2497)

  • 在文件字串中以 block_reduce 取代 local_sum。 (#2498)

  • MAINT:將 scipy 的 truncate 參數傳遞至 Gaussian 濾波器 API (#2508)

  • DOC:圖庫:加入分割:增強 (#2507)

  • 整理開發文件部署 (#2516)

  • 對於正常建置,不要求 cython (#2509)

  • 修正 Python 3.6 的損壞 test_ncut_stable_subgraph,在 Travis 中啟用 Python 3.6 (#2511)

  • 改進背景標記 (#2381)

  • 對於 imread 的 load_func,使 img_num 引數成為可選 (#2054)

  • 使其與目前的 networkx master 相容 (#2455)

  • HOG 程式碼中的雜項整理 (#2526)

  • BUG:修正當 ORB 未傳回任何描述子時的 NumPy 錯誤 (#2537)

  • BUG:零影像的 restoration.denoise_bilateral 中的 ValueError (#2533)

  • 修正 Python XY 的連結 (#2542)

  • TST:修正 scipy-0.19.0rc2 的 ValueError (#2544)

  • DOC:更新 data.coins() 的 URL (#2548)

  • 以 Flickr URL 取代 GRIN URL (#2547)

  • 使 threshold_minimum 在 i686 和 x86_64 上傳回相同的結果 (#2549)

  • 次要修正 (Issue #2554) (#2556)

  • filters.threshold_sauvola 文件字串中移除 offset 參數 (#2566)

  • 閱讀影片檔案的實用指南 (#1012)

  • requirements.txt 中移除 dask (#2572)

  • 修正 morphology.watershed 錯誤訊息 (#2570)

  • DOC:在使用者指南中新增使用 OpenCV 的說明 (#2519)

  • NEW:新增 shannon entropy (#2416)

  • 修正 GLCM 示範的 ylabel 中的錯字 (#2576)

  • 從形態學偵測局部極值 (#2449)

  • 將極值函數加入 __init__ (#2588)