问题标签 [mayavi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2848 浏览

python - 如何在 mayavi 中正确显示具有非立方体素的体积

我正在使用mayavi (3.3.2) 来显示体积等值面。

通常,我的体积没有立方体素;例如,采样网格可能在 X 和 Y 方向为 1mm x 1mm,但在 Z 方向为 1.4mm。

如何使用 mayavimlab.contour3d或以正确的空间比例显示这些卷mlab.pipeline.iso_surface?我真的不希望将卷重新采样为立方网格。

说明问题的另一种方式:我可以做些什么来让下面的代码显示一个球体而不是一个扁平的椭球体(将volume其预期的 1:1:2 纵横比体素作为给定的,并且不重新生成或重新采样体积)。

我猜应该有某种方法可以获取底层的 VTK 图形管道(它的变换等)并插入适当的各向异性缩放(如果没有某种方法可以通过 mlab API 更直接地做到这一点)。

0 投票
1 回答
1464 浏览

python - 如何在 Mayavi2/VTK 的绘图中添加比例尺?

我想在我用 mlab 创建的 mayavi 图中添加一个比例尺(例如显示微米的大小)。

例如,参考这个问题:How to display a volume with non-cubic voxels correct in mayavi

我可以使用设置图的体素大小

我想要一种自动化的方式来添加一些指标,表明我正在展示的对象的比例是多少。现在,我正在使用inkscape 为导出的图像手动添加比例尺,但必须有更好的方法。

一个简单的 mayavi 方法将是最有帮助的,但如果 vtk 中有任何东西可以做到这一点,我总是可以使用 mayavi 的包装器。

像 text3d 这样的东西可以让我添加文本,然后我想我也可以弄清楚如何画一条线并手动计算正确的缩放比例,但我希望有一种更简单的方法。

0 投票
5 回答
3644 浏览

python - 如何使用 LaTeX 数学符号在 Mayavi 中标记轴?

我在 python 脚本中导入 mayavi 以显示一些 3D 数据集,结果发现以下简单的标签不起作用

有任何想法吗?我无法从谷歌或用户手册中找到解决方案。

0 投票
1 回答
2071 浏览

python - 在 Qt4 上安装 MayaVi 会导致分段错误

我正在尝试在我的计算机上安装 MayaVi。我正在使用 OS X 10.6.8、4 GB RAM 的 MacBook Air。

我的 python 和我的大部分堆栈都是通过 Homebrew 或 pip 构建的。对于 python2.7、ipython、Qt4、numpy、scipy、vtk 等来说尤其如此。VTK 在 Homebrew 中安装了 --python 和 --qt-extern 标志,并且所有构建都很好。我没有安装 wxPython,因为我无法通过 pip、手动构建或二进制文件让它工作。

如果我运行ipython -q4thread,我无法成功执行from mayavi import mlab,因为我收到与 PyQt 使用两个不同 API 相关的错误:http ://groups.google.com/group/spyderlib/browse_thread/thread/36a35baec74ca144

但是,如果我ipython单独运行,我可以成功运行from mayavi import mlab. 然后我尝试按照这个例子:http://github.enthought.com/mayavi/mayavi/example_using_with_scipy.html,其中包括这些命令:

这一切都很好,我会弹出一个窗口,我可以旋转 3d 绘图等。但是,然后我单击图标打开管道,这会打开另一个窗口。本教程然后说双击“等值面”以更改其属性。一旦我这样做,我就会得到一个可重现的分段错误。

我不知道如何开始找出问题所在。

或者,我可以从命令行运行 MayaVi:,mayavi2然后弹出 GUI。当我这样做时,我得到以下输出:

虽然 GUI 确实会弹出,但如果我尝试执行任何操作,我会遇到段错误。

如果您对解决此问题有任何想法,或者可能有关于成功重新安装软件包的指导,请告诉我。

谢谢!

乌里

0 投票
1 回答
1193 浏览

python - 如何在mayavi中获取给定mlab.view()和mlab.roll()的相机的当前偏航和俯仰轴(矢量)?

我正在使用 mayavi 进行一些可视化,并尝试从 mlab.view() 和 mlab.roll() 计算偏航和俯仰的旋转轴。我不确定 mlab.roll() 是如何定义的,是否可以获得当前视图的上下左右方向?

相机处理功能

谢谢

0 投票
0 回答
275 浏览

python - 如何使用回调在相机更改时刷新 mlab 场景

我正在使用 Python 的 Mayavi2 模块来创建 3D 网格。每次旋转网格时,我还想显示网格在表面上的投影。我发现可以为此目的使用回调。http://github.enthought.com/mayavi/mayavi/auto/example_volume_slicer.html

但我找不到哪个回调可以满足我的目的。我对 Mayavi 很陌生,也许答案很明显,但到目前为止我还没有意识到。我会非常感谢任何帮助。

0 投票
2 回答
1459 浏览

python - 将纹理映射到 mayavi 网格

我在 python 中使用 mayavi 来可视化一些数据。我在 3D 空间中有一个表面,我想将图像映射到它。我查看了 mayavi 文档,我能找到的只是这个,这对我没有多大帮助。以前有人做过这样的事情吗?

0 投票
2 回答
14874 浏览

python - 使用 Mayavi / Python 从数据中绘制 3D 等高线图

我想以与本页第三个图(氢电子云模型)完全相同的方式使用 Mayavi 绘制 3D 等高线图:

http://www.sethanil.com/python-for-reseach/5

我有一组数据点,这些数据点是使用我自己的模型创建的,我想使用它们。数据点存储在一个多维 numpy 数组中,如下所示:

数据点不是均匀分布在 XYZ 空间中,也不是以任何特定顺序存储的。我认为该示例使用网格网格来生成数据点 - 我已经查过了,但完全不明白。任何帮助将非常感激?

H
(来源:sethanil.com

0 投票
1 回答
1627 浏览

python - mayavi:如何放大非常接近(改变接近剪裁距离)

我正在尝试使用 mlab 到 mayavi 的界面来可视化地球表面上的一个点。主要问题是地球很大,但我希望能够放大看到它的一个非常小的区域。

似乎在 mayavi 窗口中使用滚轮会改变相机与其焦点的距离。如果我把注意力集中在我感兴趣的点上并放大,最终相机到焦点的距离小于近裁剪距离,我就看不到感兴趣的点了。

我可以像这样以编程方式设置相机的近剪切点:

并且正确显示了我想看到的点,但是如果我用鼠标做任何事情(通过拖动旋转视图,移动滚轮),剪切平面会被重置,我什么也看不到。这中途破坏了 mayavi 窗口的目的。

问题:我怎样才能使这个例子工作,以便我可以看到我正在绘制的点(字形是 1 米宽)并且仍然与窗口交互?

这是我的代码(为了便于阅读,drawSphere函数如下):

这是drawSphere函数:

0 投票
2 回答
5678 浏览

python - 如何在 Python Mayavi 中画一条线?

如何在 Python Mayavi 中在 3D 空间中画一条线?MLAB 模块中是否有一个函数允许我指定将要绘制的线的起点和终点?