My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

载入标量数据: ``heart.vtk`` 例子
-----------------------------------------------

本章介绍一个使用 ``heart.vtk`` 文件的简单例子。这是一个 32 x 32 x 12 个点的3D 数据,每个点处是标量数据,并且这些点在空间平均分布。这是一个结构化数据集(structured dataset),事实上是 `ImageData`\ 。以后我们会读入很多这样的数据,但是现在只要将其当作空间上平均分布的点,每个点有标量数据与之相对应。此数据显然是心脏的CT扫描数据--我不知道这是谁的心脏。此文件是一个易读的文本文件,如果你愿意,可以使用文本编辑器查看。

1. 确保 ``mayavi2`` 已经启动。首先打开数据文件。使用 `File->Load data->Open file` 菜单项,在打开的文件对话框内,找到包含例子数据的目录,选中 ``heart.vtk`` 文件。

一旦选中数据,可以在 Mayavi 左面的显示树中看到新节点,\ `VTK file (heart.vtk)`\ 。注意,在 TVTK 场景中还\ **看不到**\ 任何图形。

2. 2. 为了查看轮廓(outline)——一个方框,找到 `Visualize->Modules` 菜单项,选择 `Outline` 模块。在 TVTK 场景中可以立刻看到一个白色方框。在显示树中,也应看到两个新节点,`Colors and legends` 和其下面的 `Outline`\ 。

3. 单击左面的 `Outline` 节点可以改变轮廓的属性。这将在窗口的左下部,显示树的下面,生成“对象编辑窗口”。试着修改其设置,并查看结果。如果你双击左面的节点,将弹出编辑器对话框,而不是嵌入的对象编辑器。

注意,通常 `Module` 的编辑器窗口有一部分是 `Actor`(角色),一部分为 `Mapper`(映射器),一部分为 `Property`(属性)。这些对应于 TVTK/VTK 术语。可以将 `Property` 看作与颜色、表示(representation)(曲面、线框等等)、线宽等等相关。\ `Actor` 部分与屏幕上渲染的对象有关,编辑器通常可设置其是否显示。 在 VTK 术语中,\ `Mapper` 是指将数据转换为图元(graphics primitive)的对象。与其相关的属性包含在 `Mapper` 部分。

4. 关于与 TVTK 场景交互的详细信息,请参考此章节
:ref:`interaction-with-the-scene`\ 并尝试其例子直到熟悉为止。

5. 现在,保持选中 Outline 节点,选择 `Visualize->Modules->IsoSurface` 菜单项,生成 等值面。在左面可以看到一个新节点 `IsoSurface`\ ,在场景中可以看到标量数据的等值轮廓。当选中某个 iso数值时,此 等值面被相应地染上颜色。试试修改此模块的各项设置。

6. 要产生有意义的可视化图形,需要了解每种颜色代表什么。单击显示树的 `Colors and legends` 节点,在对象编辑器内选中 `Show scalar bar`,将在 TVTK 场景中显示颜色图例。单击并拖动图例可以将其在场景中任意移动,单击并拖动其边缘,可以改变其大小。在对象编辑器中选择不同的选项可以改变颜色映射特性。

7. 生成一个简单的"网格平面(grid plane)"来查看点在网格上的情况。这可以通过 `Visualize->Modules->GridPlane` 菜单项,使用 `GridPlane` 模块来实现。

8. 右键单击一个特定模块并选择"删除"可将其删除。请在 `GridPlane` 模块中试试删除以及其他右键菜单选项。

9. 试试 `ContourGridPlane` 模块和 `ScalarCutPlane` 模块。

`ScalarCutPlane` 模块有个很强大的特性,称为 *三维小部件(3D widgets)*\ 。在 TVTK 场景窗口中,可以看到一个剖面(cut plane) 以不同颜色表示切片上的数据。此剖面轮廓为红色,有一个箭头伸出来。可以直接点击并拖动此剖面;点击并拖动箭头可以转动此剖面。也可以使用对象编辑器窗口重设标量剖面。

10. 单击 TVTK 场景中的保存图标或使用 `File->Save Scene As` 菜单项可以将可视化结果保存为图片。

你应该得到一个如下所示的图像。

.. image:: images/heart.jpg
:alt: 从数据集 ``heart.vtk`` 获得的可视化例子

mayavi 的一个优点是:虽然这里所有的操作都通过用户界面完成,但是所有这些操作都可以通过 Python 脚本完成。相关的更多信息请参考这里\ :ref:`simple-scripting-with-mlab` (更深入的内容请参考\ :ref:`advanced-scripting-with-mayavi`)。

打开数据文件和启动模块也可以通过命令行完成。例如,可以简单的使用下面的命令\ ::

$ mayavi2 -d /path/to/heart.vtk -m Outline -m IsoSurface \
> -m GridPlane -m ScalarCutPlane

更多信息在此章\ :ref:`command-line-arguments`\ 。

Change log

r13 by esnmlt on Apr 21, 2009   Diff
finished
mayavi/example_using_with_scipy.rst
mayavi/example_heart.rst
mayavi/example_fire.rst
Go to: 
Project members, sign in to write a code review

Older revisions

r12 by esnmlt on Apr 12, 2009   Diff
Modify mayavi/example_heart.rst
r11 by esnmlt on Apr 12, 2009   Diff
finish
mayavi/example_parametric_surface.rst,
mayavi/example_heart.rst,
mayavi/examples.rst
r4 by esnmlt on Feb 10, 2009   Diff
Initialize documents in English
All revisions of this file

File info

Size: 4694 bytes, 47 lines
Powered by Google Project Hosting