【问题标题】:TypeError: marching_cubes() got unexpected keyword argumentTypeError: marching_cubes() 得到了意外的关键字参数
【发布时间】:2019-01-09 11:49:45
【问题描述】:

我已经从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_sizeallow_degenerate 参数(它们具有默认值),那么调用可以正常工作,但是marching_cubes 在我期望它返回4 个参数时只返回2 个参数(垂直和面) (顶点、面、法线和值)。

我做错了什么,我应该怎么做才能从measure.marching_cubes() 获得预期的行为?

【问题讨论】:

  • 你用的是什么版本?
  • 我使用 Python 2.7.12
  • @YohanSumatipala 您是否尝试升级 skimage 库的版本?请参阅下面的答案.. :)
  • @YohanSumatipala Peter 实际上指的是skimage 的版本,而不是python ....

标签: python scikit-image


【解决方案1】:

我怀疑您使用的skimage 库存在版本问题。

您提供的documentation link 是针对skimage 0.14 版本的。在这个版本中,参数'step_size' 存在。

但是在 skimage 0.12 版中,measure.marching_cubes() 函数也存在,但只有 4 个参数,不包括 step_size。我怀疑你可能使用的是 0.12 版。

您还说过 'marching_cubes 在我希望它返回 4 个参数(vertsfacesnormalvalues)。' 在 0.12 版中,该函数仅返回两个参数。因此我强烈怀疑您使用的是旧版本的skimage

我可以通过查看documentation for version 0.12 来解决这个问题

解决方案:

尝试将skimage 库升级到最新版本(当前为 v0.14),希望它能正常工作。

干杯!!!

【讨论】:

    【解决方案2】:

    在较新版本的 skimage 中(在更新 scikit-image 时会更新) step_size 参数存在。但是旧方法被两种方法代替; Marching_cubes_lewiner 和 marching_cubes_classic。 Marching_cubes_lewiner 方法采用 step_size 参数。请更新后尝试。

    【讨论】:

      猜你喜欢
      • 2016-09-17
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2020-11-16
      相关资源
      最近更新 更多