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' 函数所做的事情。
此外,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=500
或 num_peaks=np.inf
时相同数量的峰。请问我在这里缺少什么?
正如@a_guest 所指出的,我的 skimage
版本与我所指的文档版本不匹配。 num_peaks_per_label
参数目前仅在 v0.13dev 版本中可用。将我的版本更新为开发版本也解决了 num_peaks
参数的问题。
下面的代码给出了标题中的错误:
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' 函数所做的事情。
此外,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=500
或 num_peaks=np.inf
时相同数量的峰。请问我在这里缺少什么?
正如@a_guest 所指出的,我的 skimage
版本与我所指的文档版本不匹配。 num_peaks_per_label
参数目前仅在 v0.13dev 版本中可用。将我的版本更新为开发版本也解决了 num_peaks
参数的问题。