函数缺少 1 个必需的位置参数
missing 1 required positional argument for a function
我正在使用 Spyder IDE 并在定义输入后在 Ipython shell 中调用以下函数。但是,我得到了位置参数错误!也许有争论,但我仍然无法解决。你能帮忙吗?这是代码:
def get_confusion_matrix(label, ref_label, mask):
label = sitk.GetArrayFromImage(label)
ref_label = sitk.GetArrayFromImage(ref_label)
mask = sitk.GetArrayFromImage(mask)
ref_label[(mask == 2) & (label > 0)] = label[(mask == 2) & (label > 0)]
ref_label[(mask == 1) & (label == 0)] = 0
return get_confusion_matrix(label.flatten(), ref_label.flatten())
def get_dices(label, ref_label, mask):
cm = get_confusion_matrix(label, ref_label, mask)
dice_st = 2*cm[1,1]/(np.sum(cm[:,1]) + np.sum(cm[1,:]))
dice_sv = 2*cm[2,2]/(np.sum(cm[:,2]) + np.sum(cm[2,:]))
return dice_st, dice_sv
TypeError:get_confusion_matrix() 缺少 1 个必需的位置参数:'mask'
您已将 get_confusion_matrix
定义为采用 3 个参数:label
、ref_label
和 mask
。该错误是因为当您使用 get_confusion_matrix(label.flatten(), ref_label.flatten())
.
调用它时,您只向它传递了两个参数
我正在使用 Spyder IDE 并在定义输入后在 Ipython shell 中调用以下函数。但是,我得到了位置参数错误!也许有争论,但我仍然无法解决。你能帮忙吗?这是代码:
def get_confusion_matrix(label, ref_label, mask):
label = sitk.GetArrayFromImage(label)
ref_label = sitk.GetArrayFromImage(ref_label)
mask = sitk.GetArrayFromImage(mask)
ref_label[(mask == 2) & (label > 0)] = label[(mask == 2) & (label > 0)]
ref_label[(mask == 1) & (label == 0)] = 0
return get_confusion_matrix(label.flatten(), ref_label.flatten())
def get_dices(label, ref_label, mask):
cm = get_confusion_matrix(label, ref_label, mask)
dice_st = 2*cm[1,1]/(np.sum(cm[:,1]) + np.sum(cm[1,:]))
dice_sv = 2*cm[2,2]/(np.sum(cm[:,2]) + np.sum(cm[2,:]))
return dice_st, dice_sv
TypeError:get_confusion_matrix() 缺少 1 个必需的位置参数:'mask'
您已将 get_confusion_matrix
定义为采用 3 个参数:label
、ref_label
和 mask
。该错误是因为当您使用 get_confusion_matrix(label.flatten(), ref_label.flatten())
.