2026/2/25 21:50:37
网站建设
项目流程
狠狠做狠狠干免费网站,手机版怎么用百度快照,怎么看网站是否安装百度商桥代码,西安网站建设开发公司一#xff1a;主要的知识点
1、说明
本文只是教程内容的一小段#xff0c;因博客字数限制#xff0c;故进行拆分。主教程链接#xff1a;vtk教程——逐行解析官网所有Python示例-CSDN博客
2、知识点纪要
本段代码主要涉及的有①创建一个vtkStructuredPoints数据并进行渲…一主要的知识点1、说明本文只是教程内容的一小段因博客字数限制故进行拆分。主教程链接vtk教程——逐行解析官网所有Python示例-CSDN博客2、知识点纪要本段代码主要涉及的有①创建一个vtkStructuredPoints数据并进行渲染展示二代码及注释import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkCommonDataModel import vtkStructuredPoints from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkCommonCore import vtkDoubleArray from vtkmodules.vtkFiltersCore import vtkContourFilter from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors vtkNamedColors() vtkStructuredPoints 是 VTK 中最基础、最经典的规则体数据结构之一。在体数据volume data处理、医学影像CT、MRI、流场分析中用得非常多。 它和 vtkImageData 非常接近后者是它的现代替代版本。常用于医学图像距离场、密度场三维纹理数据 基本定义: vtkStructuredPoints 表示一个**在三维空间中均匀分布uniform spacing**的点阵数据。 也就是说网格点是规则排列的每个点在空间中的位置是通过原点 坐标间距计算出来的 每个点都可以有标量scalar、向量vector等数据。 它是一个“结构化、规则间距的点网格”“非结构化”网格如 vtkUnstructuredGrid不同 数据组织方式: 属性 | 含义 | Dimensions | 网格点的数量例如 (nx, ny, nz) | Origin | 起始点左下角/原点坐标 | Spacing | 各轴方向的网格间距 (dx, dy, dz) | vol vtkStructuredPoints() vol.SetOrigin(-0.5, -0.5, -0.5) vol.SetDimensions(26, 26, 26) sp 1.0 / 25.0 vol.SetSpacing(sp, sp, sp) scalars vtkDoubleArray() scalars.SetNumberOfComponents(1) scalars.SetNumberOfTuples(26 * 26 * 26) for k in range(0, 26): z -0.5 k * sp kOffset k * 26 * 26 for j in range(0, 26): y -0.5 j * sp jOffset j * 26 for i in range(0, 26): x -0.5 i * sp s x * x y * y z * z - (0.4 * 0.4) offset i jOffset kOffset scalars.InsertTuple1(offset, s) # offset 索引 s具体的标量值 # scalars.InsertNextTuple1(s) # 等价替代 vol.GetPointData().SetScalars(scalars) # 等值面提取 contour vtkContourFilter() contour.SetInputData(vol) contour.SetValue(0, 0.0) volMapper vtkPolyDataMapper() volMapper.SetInputConnection(contour.GetOutputPort()) volMapper.ScalarVisibilityOff() volActor vtkActor() volActor.SetMapper(volMapper) volActor.GetProperty().EdgeVisibilityOn() volActor.GetProperty().SetColor(colors.GetColor3d(Salmon)) renderer vtkRenderer() renWin vtkRenderWindow() renWin.AddRenderer(renderer) iren vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) renderer.AddActor(volActor) renderer.SetBackground(colors.GetColor3d(SlateGray)) renWin.SetSize(512, 512) renWin.SetWindowName(Vol) # Interact with the data. renWin.Render() iren.Start() if __name__ __main__: main()