我正在使用 Mayavi 显示 3D 体积,并尝试添加一些模块来帮助可视化对象的尺寸。我打算添加一个网格平面对象,但不知道如何。我尝试了以下方法:
from mayavi import mlab
from mayavi.modules.api import GridPlane
import numpy as np
scf = mlab.pipeline.scalar_field(np.load("volume.3d.npy"))
volume = mlab.pipeline.volume(scf)
gp = GridPlane()
gp.grid_plane.axis="x"
mlab.add_module(gp)
mlab.text(0, 0, "My volume")
mlab.show()
我没有收到任何错误,但没有将网格平面添加到可视化中。我也试过:
scf = mlab.pipeline.scalar_field(np.load("volume.3d.npy"))
gp = mlab.pipeline.CustomGridPlaneFactory(scf.mlab_source)
volume = mlab.pipeline.volume(scf)
mlab.text(0, 0, "My volume")
mlab.show()
但也没有任何显示。我觉得第二种方法应该是要走的路,因为我正在使用mlab.pipeline
调用,但我无法说出为什么它没有显示任何内容。另外,我认为可以这样做,因为一旦调用我就可以简单地转到场景参数mlab.show()
,然后手动添加一个模块(GridPlane 是建议的模块之一),但我无法以与我相同的方式做到这一点用于在场景中添加文本(参见mlab.text
上面的调用)。所以我想知道应该怎么做。