我正在尝试使用 tvtk(Enthought 的 Canopy 中包含的软件包)将一些数组转换为 .vtk 数据,我可以将这些数据扔给 VisIt(mayavi 在我的操作系统(Mac OS X)上抱怨。我在这里找到了看起来像解决方案的东西(将 3D numpy 导出到 VTK 文件以便在 Paraview/Mayavi 中查看)但我没有恢复答案作者所做的输出,并且想知道是否有人能告诉我我做错了什么。所以我输入Canopy 笔记本中的命令,
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, '/Users/Epictetus/Documents/Dropbox/Work/vtktest.vtk')
它确实创建了一个 vtk 文件,但与上一个答案的作者建议的输出不同,我只是得到一个空白输出,
# vtk DataFile Version 3.0
vtk output
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS 10 10 10
SPACING 10 5 -10
ORIGIN 100 350 200
我做错了什么很明显吗?文件 I/O 从来都不是我的强项……
干杯!
-user2275987