skimage - TypeError:peak_local_max()得到了一个意外的关键字参数' num_peaks_per_label'

时间:2017-01-09 14:20:13

标签: python image-processing scikit-image

以下代码给出了标题中出现的错误:

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-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时相同的峰值数。我在这里想念的是什么?

1 个答案:

答案 0 :(得分:0)

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