关于面绘制的一些说明

面绘制有两种,
1、基于断层轮廓线
先在不同切片上提取出感兴趣区域的轮廓线,然后,根据相邻切片的轮廓线构造出三角面片集。
这种方法弊端很明显:轮廓线之间的插值,轮廓线之间的对齐,同一个切片上的不同轮廓线。
2、基于体素(移动立方体 Marching Cube)
经典算法,其内涵在于“等值面提取”。
将已经读入内存中的、一系列按顺序罗列起来的二维切片,看作一个三维数据场
。从三维数据场中符合被设定阈值要求的点提取出来,然后将点依据法向量连接成三角面片集。

vtkSmoothPolyDataFilter 实现的是Laplacian 平滑,
示例中只指定迭代次数和放松因子,迭代次数越多,平滑的越厉害,同时细节损失越严重。
放松因子是Laplacian算法的一个参数,在所有的迭代算法中,这个参数控制迭代过程的稳定性。
一般情况下小的放松系数和大的迭代次数会使迭代算法的收敛过程更稳定。 

另外,可以使用其他变量控制平滑过程,BoundarySmoothing控制是否对边界点平滑。
FeatureEdgeSmoothing控制是否对特征边上的点平滑,需用SetFeatureAngle指定特征角阈值,
如一条边被两个相邻多边形公用,若这两个多边形的法向量的夹角(特征角)大于定义的阈值,则称该边为特征边。 
vtkPolyDataNormals 用于计算polydata的法向量,计算法向量之后会使可视化之后的数据更加平滑,
SetFeatureAngle用于设置特征角,两个相邻多边形的角度大于该角,
则称多边形的共用边是尖锐的,默认是30度,锐边分裂(splitting)开启,多边形顺序(consistency)一致性开启。 


其他说明:
RelaxationFactor--过程的稳定性对此参数敏感. 默认0.0
             通常,小松弛因子和大量迭代比较大的弛豫因子和较少的迭代次数更稳定
Convergence--为迭代过程指定收敛标准,较小的数字导致更平滑的迭代.默认0.01
FeatureEdgeSmoothing--沿着锋利的内部边缘平滑。默认0
FeatureAngle--指定锐边识别的特征角度。默认45
EdgeAngle--指定边缘角度以控制沿边缘(内部或边界)的平滑。默认15
BoundarySmoothing--网格边界上的顶点平滑。默认1
GenerateErrorScalars--标量距离值的生成。默认0
GenerateErrorVectors--生成错误向量。默认0

PassBand--设置窗口sinc滤波器的通带值。默认0.1
NormalizeCoordinates--打开/关闭坐标标准化。 默认0
可以平移和缩放位置,使得它们在平滑计算之前适合[-1,1] 
默认为关闭。 通过开启归一化可以提高解的数值稳定性。 
如果启用了标准化,则在平滑完成后,坐标将重新缩放到原始坐标系。
NonManifoldSmoothing--平滑非流形顶点。默认0

猜你喜欢

转载自blog.csdn.net/yuxing55555/article/details/81668897