Scikit图像行进立方体

时间:2016-09-05 11:48:21

标签: python mesh scikit-image marching-cubes

我使用行进立方体算法的Scikit Image实现来生成等值面。

verts, faces,normals,values = measure.marching_cubes(stack,0)

生成以下错误:

  

ValueError:解包需要2个以上的值

但是

 verts, faces = measure.marching_cubes(stack,0)

工作正常,因此算法似乎根本不生成normalsvalues的值。有没有人对这类问题有过任何经验?

此外,我不理解算法faces输出的必要性,因为网格中每个三角形的一组3个顶点应该足以描述等值面?

2 个答案:

答案 0 :(得分:4)

scikit-image开发版本的marching_cubes normals表明它应该返回valuesselect (case when count(distinct d.action_code) <> count(*) then 1 else max(case when d.action_code % 10 <> 0 then 1 else 0 end) end) 。然而,它最近才被引入。它们没有在版本0.12中返回,如docs中所示。要获得它们,您必须更新到当前的开发版本。可以找到有关如何安装开发版本的指南docs from that version

答案 1 :(得分:1)

版本0.14中的marching_cubes()已被删除

skimage.measure.marching_cubes已被删除,以支持skimage.measure.marching_cubes_lewiner

因此请确保您使用的是哪个版本。