在ParaView中通过Python脚本保存动画

时间:2014-08-13 20:08:45

标签: python animation paraview

我试图通过python脚本在ParaView中保存.avi动画。我写的脚本有效,但动画对应一个稳定的帧。为了从paraView模型中获取所有10帧的动画,我应该更改什么?

这是我的脚本(movie.py):

from paraview.simple import *
movie = servermanager.animation.AnimationScene()
movie.ViewModules = [GetActiveView()]
movie.NumberOfFrames = 10
movie_writer = servermanager.vtkSMAnimationSceneImageWriter()
movie_writer.SetFileName("/Users/wbr/Desktop/movie.avi")
movie_writer.SetFrameRate(1)
movie_writer.SetQuality(2)
movie_writer.SetAnimationScene(movie.SMProxy)
movie_writer.Save()

3 个答案:

答案 0 :(得分:0)

以下是我发现以编程方式导出ParaView动画的解决方案:

reader = GetActiveSource()
view = GetActiveView()
AnimateReader(reader,view,filename="../movie.avi")

唯一的问题是我无法设置帧速率。有什么建议吗?

答案 1 :(得分:0)

使用ParaView 4.2(RC1),这是我为保存动画的动作生成Python跟踪时获得的脚本。

#### import the simple module from the paraview
from paraview.simple import *

# save animation images/movie
WriteAnimation('/tmp/movie.ogv', Magnification=1, FrameRate=15.0, Compression=True)

答案 2 :(得分:0)

最新版本(带白色背景的电影):

from paraview.simple import *
viewModel = GetActiveView()
viewModel.Background = [1,1,1]
Show()
Render()
paraview.simple.WriteAnimation(filename="/Users/wilsondasilva/Desktop/movie.avi",FrameRate=15.0)