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"函数做的事情。

另外,iml是我得到的im的标记版本:

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时相同数量的峰数。请问我在这里错过了什么?

> 正如@a_guest指出的那样,我的skimage版本与我所指的文档版本不匹配。num_peaks_per_label参数目前仅在 v0.13dev 版本中可用。将我的版本更新到 dev 版本也解决了我对 num_peaks 参数的问题。

相关内容

最新更新