我正在尝试为Mayavi管道卷制作动画:
src = mlab.pipeline.volume(mlab.pipeline.scalar_field(data),vmin=.1*np.max(data),vmax=.2*np.max(data))
在管道中由另一个表示为切割平面的数据集组合。
但是,我无法更新卷可视化 - 只显示第一帧。动画正在逐步浏览数据(我得到了下面np.max(data [t])的不同值)但是可视化中的任何内容都没有变化。
我的理解是mlab_source_set应该正确地重新渲染,并且网上没有任何描述这个的东西(据我所知)。
动画如下:
@mlab.show
@mlab.animate(delay=250,ui=True)
def anim(src,data,tax,fig):
"""Animate."""
t = 0
nt = len(tax)
while 1:
vmin = .1*np.max(data[t])
vmax = .2*np.max(data[t])
print 'animation t = ',tax[t],', max = ',np.max(data[t])
src.mlab_source.set(scalar = mlab.pipeline.scalar_field(data[t]), vmin=vmin,vmax=vmax)
t = mod(t+1,nt)
yield
有什么想法吗?