vtkMarchingCubes :: SetValue()如何工作?

时间:2017-09-08 16:24:01

标签: vtk

我正在使用VTK从CT图像构建网格。我发现自己一直试图理解神秘的vtkMarchingCubes::SetValue()。根据{{​​3}}第一个参数被称为轮廓编号,第二个参数是"轮廓值",我的问题是"轮廓值"?是一个强度值?

如果它确实是一个强度值,那么VTK只是寻找那个确切的值还是环顾四周?有什么方法可以指定范围而不是单个数字?我的最后一个问题是,如何在一次传递中使用vtkMarchingCubes从图像中提取多个轮廓?

1 个答案:

答案 0 :(得分:2)

是的,这是图像强度,即。水平集的水平。

图像强度是插值的,因此如果您有一个强度为0的体素和一个强度为1的相邻体素,并将该值设置为0.5,则生成的曲面将介于其间。如果将值设置为0.9,则曲面将更接近1个体素。

要提取多个轮廓,您需要指定多个值,即

mc->SetValue(0, 60); mc->SetValue(1, 600);

我不确定你想通过指定一个范围来实现什么?