2017-01-09 46 views
0

下面的代碼給我本標題中的錯誤:skimage - 類型錯誤:peak_local_max()得到了意想不到的關鍵字參數「num_peaks_per_label」

from skimage.feature import peak_local_max 
local_maxi = peak_local_max(imd,labels=iml, 
          indices=False,num_peaks_per_label=2) 

imd是將其與所獲得的「距離變換圖像」 :

from scipy import ndimage 
imd = ndimage.distance_transform_edt(im) 

im是,我想輸入的二進制圖像,隨後與scikit圖像的分水嶺功能段。但要正確使用這個功能,我首先需要找到將作爲起始氾濫點的標記:這就是我正在試圖用'peak_local_max'函數做的事情。

此外,imlim標記的版本,我用的了:

from skimage.measure import label 
iml = label(im) 

我不知道我已經做錯了。另外,我注意到,這個函數似乎完全忽略了它的num_peaks的說法。舉例來說,當我這樣做:

local_maxi = peak_local_max(imd,labels=iml, 
          indices=True,num_peaks=1) 

我總是得到相同數量的檢測,當我設置num_peaks=500num_peaks=np.inf峯。請問我在這裏錯過了什麼?

+0

你確定你正在運行'skimage'的最新版本嗎?似乎最近添加了這個關鍵字。我想你有一個版本與最新版本的文檔不同步。你能檢查你正在運行的是哪個版本嗎? –

+0

@ a_guest您好,根據Anaconda Navigator,我的版本是0.12.3。我沒有手動安裝scikit-image。看起來這是和scikit-image網站上提供的版本相同的版本。然而,他們沒有提到最新的穩定版本包含在Anaconda發行版中,就像Python(x,y)和Enthought Python Distribution一樣。我會嘗試手動安裝它,謝謝你的建議。 – kev

+0

@ a_guest再次嗨。我試圖小心地安裝他們在網站上提供的.whl文件,但只得到了「Requirement already satisfied」的要求。我猜我的版本是最新的? – kev

回答

0

正如@a_guest指出的,我的版本skimage與我所指的文檔版本不匹配。 num_peaks_per_label參數目前僅在v0.13dev版本中可用。將我的版本更新到dev版本也解決了我的問題,即num_peaks參數。

+0

你可以驗證這是你的問題的答案! –

相關問題