在voxelize python中的VTU文件

问题描述 投票:0回答:1

如何使用来将附件的VTU非结构化文件()草化?理想情况下,我想定义区域(xmin=-9, xmax=9)(ymin=-9, ymax=9)以及像素数(例如,每个方向上的(256,256)),然后将该区域提取到像素网格上并存储在文件中(填充空心区域)。

VTUfile

这是我将文件读入polyData的方式

import vtk

# Read the source file.
reader = vtk.vtkXMLUnstructuredGridReader()
reader.SetFileName("internal.vtu")
reader.Update()  
polydata = reader.GetOutput()

如何将polydata转换为具有上述详细信息的文件?

谢谢

python pixel vtk
1个回答
0
投票
不确定是否有帮助,最近在使用vtkplotter时遇到了类似的问题,可能对您有用:

from vtkplotter import * import numpy as np g = load('internal.vtu') g.pointColors("p", cmap='terrain') pts = g.points() field = g.getPointArray('U') ars = Arrows(pts-field/5, pts+field/5, c='k') zpr = np.linspace(-15,15, num=25) probes = np.c_[np.zeros_like(zpr)-10, np.zeros_like(zpr), zpr] str_lns = streamLines(g, probes, activeVectors='U', maxPropagation=60, lw=2) str_lns.pointColors(cmap='jet') str_lns.GetProperty().LightingOff() str_lns.mapper().SetResolveCoincidentTopologyToPolygonOffset() show(g, ars, Points(probes), str_lns, elevation=90) vol = interpolateToVolume(g, dims=(50,2,50), bounds=(-9,9,0,0,-9,9)) # vol.imagedata() # retrieves the vtkImageData obj lego = vol.legosurface(cmap='terrain') show(lego, newPlotter=True, elevation=90)

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.