我已从skimage
包中导入了度量模块。我想执行测量功能行进多维数据集。这是我做的函数调用:
from skimage import measure
stuff = measure.marching_cubes(volume = p,
level = threshold, step_size = 1,
allow_degenerate = True)
此函数调用抛出一个回溯错误TypeError: marching_cubes() got an unexpected keyword argument 'step_size'
。但是,measure.marching_cubes()
函数确实接受step_size
参数(see docs)。
如果我注释掉step_size
和allow_degenerate
参数(它们有默认值),那么调用就可以正常工作,但是marching_cubes
只返回2个参数(vert和faces)期望它返回4个参数(顶点,面,法线和值)。
我做错了什么,我该怎样做才能从measure.marching_cubes()
获得预期的行为?
答案 0 :(得分:0)
我怀疑您正在使用的skimage
库存在版本问题。
您提供的documentation link适用于0.14版的skimage版本。在此版本中,参数'step_size'
存在。
然而,在skimage版本0.12中,measure.marching_cubes()
函数也存在,但只有4个参数,不包括step_size
。我怀疑你可能使用的是版本0.12。
您还声明'marching_cubes
只返回2个参数(vert
和faces
),我希望它返回4个参数(verts
,{ {1}},faces
和normal
)。'在版本0.12中,该函数仅返回两个参数。因此,我强烈怀疑您使用的是旧版values
我能够通过查看documentation for version 0.12
来解决这个问题尝试将skimage
库升级到最新版本(目前为v0.14),并希望它能够正常运行。
干杯!!!
答案 1 :(得分:0)
(在更新scikit-image时会更新),其中存在step_size参数。但是旧方法被两种方法代替; marching_cubes_lewiner和marching_cubes_classic。 marching_cubes_lewiner方法采用step_size参数。请在更新后尝试。