Python skimage-TypeError:peak_local_max()得到一个意外的关键字参数';每个标签的峰值数';
以下代码给出了标题中存在的错误:Python skimage-TypeError:peak_local_max()得到一个意外的关键字参数';每个标签的峰值数';,python,image-processing,scikit-image,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_tran
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\u peaks
参数。例如,当我这样做时:
local_maxi = peak_local_max(imd,labels=iml,
indices=True,num_peaks=1)
我总是得到与设置
num\u peaks=500
或num\u peaks=np.inf
时相同数量的峰值。我在这里遗漏了什么?正如@a_guest所指出的,我的skimage
版本与我所指的文档版本不匹配。num\u peaks\u per\u label
参数当前仅在v0.13dev版本中可用。将我的版本更新为dev版本还修复了我的num\u peaks
参数问题 您确定正在运行最新版本的skimage
?似乎这个关键字最近被添加了。我想您的版本与最新版本的文档不符。你能检查一下你运行的是哪个版本吗?@a_guest你好,根据Anaconda Navigator,我的版本是0.12.3。我没有手动安装scikit映像。这似乎与scikit图像网站上提供的版本相同。但是,他们没有提到Anaconda发行版中包含了最新的稳定版本,就像Python(x,y)和Enthound Python发行版一样。我将尝试手动安装,谢谢您的建议。@a_guest你好。我试图pip安装他们在站点上提供的.whl文件,但只得到了“需求已经满足”行的响应。我想我的版本是最新的?与比较表明,在v0.13中添加了num\u peaks\u per\u标签。仅包含v0.12.3。您需要手动操作。@a_客人非常感谢您的回答,我只是在阅读错误版本的文档。。。更新到v0.13dev后,一切正常!您可以验证这一点作为您问题的答案!