skimage - TypeError: peak_local_max() got an unexpected keyword argument 'num_peaks_per_label'

skimage - TypeError: peak_local_max() got an unexpected keyword argument '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 是一个 "distance transformed image",它是通过 :

获得的
from scipy import ndimage
imd = ndimage.distance_transform_edt(im) 

im 是输入二值图像,我想稍后使用 scikit-image 的分水岭函数对其进行分割。但是要正确使用此功能,我首先需要找到将用作起始泛滥点的标记:这就是我尝试使用 '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 时相同数量的峰。请问我在这里缺少什么?

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