【发布时间】:2014-07-25 14:58:26
【问题描述】:
我目前正在尝试保存我的模拟生成的 mayavi 动画,因此我不必每次都重新运行代码来查看它。
plt = points3d(x_coord, y_coord, z_coord)
msplt = plt.mlab_source
@mlab.animate(delay=100)
def anim():
f = mlab.gcf()
while True:
#animation updates here
msplt.set(x = x_coord, y = y_coord, z = z_coord)
yield
anim()
mlab.savefig(filename = 'ani.mp4')
mlab.show()
我尝试通过管道编辑器保存它,只是得到它所在的帧的静止状态,而 mlab.savefig 不会生成文件。任何帮助表示赞赏。
【问题讨论】:
-
很有创意,使用
mlab.savefig()尝试导出为.mp4。您可能会猜到,VTK 不是这样工作的。您可以改为使用屏幕截图制作电影。例如,在 X11 系统上,这可以通过ffmpeg -x11grab完成 -
有具体的代码示例吗?
-
我在依赖 ffmpeg 的神经影像可视化程序中写了一些类似的东西(尽管没有经过持续使用的审查)。查看github.com/aestrivex/cvu/blob/master/cvu/dataview.py 中的
make_movie函数。这不像“给我代码让它工作”那么简单。没关系,因为这很棘手,而且您的问题并不是关于 mayavi,因为 mayavi 不支持这一点。