我已经从skimage包中导入了度量模块。我想要执行测量函数marching cubes。下面是我进行的函数调用:
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个参数(vert、faces、normals和values)。
我做错了什么,我应该怎么做才能从measure.marching_cubes()获得预期的行为
发布于 2017-04-20 01:24:37
我怀疑您正在使用的skimage库存在版本问题。
您提供的documentation link是针对skimage 0.14版本的。在此版本中,提供了参数'step_size'。
但是,在skimage版本0.12中,除了step_size之外,还提供了measure.marching_cubes()函数,但只有4个参数。我怀疑您使用的可能是0.12版本。
您还指出:“__marching_cubes只返回2个参数(__vert和faces),而我期望它返回4个参数(verts__、faces__、normal__和values__)。”在0.12版中,该函数仅返回两个参数。因此,我强烈怀疑您使用的是较旧版本的skimage
我可以通过查看documentation for version 0.12来解决这个问题
解决方案:
尝试将skimage库升级到最新版本(当前版本为0.14),希望它能正常工作。
干杯!
发布于 2019-01-09 11:49:46
在较新版本的skimage (它在更新scikit-image时更新)中,存在step_size参数。但是旧的方法被两个方法所取代: marching_cubes_lewiner和marching_cubes_classic。方法marching_cubes_lewiner接受step_size参数。请在更新后尝试。
https://stackoverflow.com/questions/43439272
复制相似问题