gpt4 book ai didi

numpy - 将 3D numpy 导出到 VTK 文件以在 Paraview/Mayavi 中查看

转载 作者:行者123 更新时间:2023-12-04 13:16:55 31 4
gpt4 key购买 nike

对于那些想要将简单的 3D numpy 数组(连同轴)导出到 .vtk(或 .vtr)文件以进行后处理并在 Paraview 或 Mayavi 中显示的人,有一个名为 PyEVTK 的小模块正是这样做的。该模块支持结构化和非结构化数据等。
不幸的是,即使代码在基于 unix 的系统中运行良好,我也无法使其在任何 Windows 安装上运行(不断崩溃),这只会让事情变得复杂。我联系了开发商,但他的建议没有奏效

因此我的问题是:
如何使用 from vtk.util import numpy_support将 3D 数组(函数本身不支持 3D 数组)导出到 .vtk 文件的函数?有没有一种简单的方法可以在不创建 vtkDatasets 等的情况下做到这一点?

非常感谢!

最佳答案

这不是您问题的直接答案,但如果您有 tvtk (如果你有 mayavi,你应该有),你可以用它把你的数据写成 vtk 格式。 (见:http://code.enthought.com/projects/files/ETS3_API/enthought.tvtk.misc.html)

它不使用 PyEVTK ,并且它支持广泛的数据源(不仅仅是结构化和非结构化网格),因此它可能会在其他东西不适用的地方工作。

举个简单的例子(Mayavi 的 mlab 界面可以让这变得不那么冗长,特别是如果你已经在使用它的话。):

import numpy as np
from enthought.tvtk.api import tvtk, write_data

data = np.random.random((10,10,10))

grid = tvtk.ImageData(spacing=(10, 5, -10), origin=(100, 350, 200),
dimensions=data.shape)
grid.point_data.scalars = np.ravel(order='F')
grid.point_data.scalars.name = 'Test Data'

# Writes legacy ".vtk" format if filename ends with "vtk", otherwise
# this will write data using the newer xml-based format.
write_data(grid, 'test.vtk')

以及输出文件的一部分:
# vtk DataFile Version 3.0
vtk output
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS 10 10 10
SPACING 10 5 -10
ORIGIN 100 350 200
POINT_DATA 1000
SCALARS Test%20Data double
LOOKUP_TABLE default
0.598189 0.228948 0.346975 0.948916 0.0109774 0.30281 0.643976 0.17398 0.374673
0.295613 0.664072 0.307974 0.802966 0.836823 0.827732 0.895217 0.104437 0.292796
0.604939 0.96141 0.0837524 0.498616 0.608173 0.446545 0.364019 0.222914 0.514992
...
...

关于numpy - 将 3D numpy 导出到 VTK 文件以在 Paraview/Mayavi 中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749100/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com