Python 试图用NumPy阵列制作的tvtk保存vtk文件

Python 试图用NumPy阵列制作的tvtk保存vtk文件,python,numpy,vtk,enthought,Python,Numpy,Vtk,Enthought,我正试图使用tvtk软件包(Enthough's Canopy附带的软件包)将一些阵列转换为.vtk数据,我可以将这些数据扔到我的操作系统Mac OS X上访问mayavi。我在这里找到了类似的解决方案,但我没有恢复答案作者的输出,我想知道是否有人能告诉我我做错了什么。所以我在天篷笔记本上输入命令 import numpy as np from enthought.tvtk.api import tvtk, write_data data = np.random.random((10,10,1

我正试图使用tvtk软件包(Enthough's Canopy附带的软件包)将一些阵列转换为.vtk数据,我可以将这些数据扔到我的操作系统Mac OS X上访问mayavi。我在这里找到了类似的解决方案,但我没有恢复答案作者的输出,我想知道是否有人能告诉我我做错了什么。所以我在天篷笔记本上输入命令

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从来都不是我的专长

干杯

-用户2275987更改行

grid.point_data.scalars = np.ravel([], order='F')

您的网格没有任何数据,因此不会将任何内容保存到vtk文件中!:-

换行

grid.point_data.scalars = np.ravel([], order='F')

您的网格没有任何数据,因此不会将任何内容保存到vtk文件中!:-

导入现在是:从tvtk.api导入tvtk,写入数据导入现在是:从tvtk.api导入tvtk,写入数据