基于 Paraview 扩展与实现——(2)

Paraview程序的架构

Paraview 支持多种数据格式和显示方式,目前包括网格绘制,面绘制,体绘制等方法。若要扩展 Paraview 的功能,必须了解其绘制的固定流水线,并且必须要编写符合 Paraview 接口规范的代码。

可视化包含三个基本的步骤:数据读取,数据过滤和数据渲染。首先,数据需要被读取到可视化应用程序 ParaView 中;接着,根据分析需要选择若干种过滤器来处理这些数据以获得具有某种特定形式的子数据集数据特征。最后,在用户窗口界面中,将这些数据特征以一种形象的和直观的图形图像渲染出来。

ParaView 基于 VTK作为数据处理和渲染核心算法,并应用跨平台的图形用户界面应用程序框架 Qt设计了开放和直观的用户界面。ParaView 是开源的,并且具有较好的可扩展性,允许使用者根据实际应用需要对其进行二次开发工作,比如使用者利用 VTK 编写具有特定功能的数据处理插件等加入到ParaView 中,提供新的功能。

在这个架构顶层是 ParaView客户端应用程序,第二层是用户界面 UI,包含 Qt 部件,Python 脚本等,第三层是 ParaView 服务器,管理着用户界面与可视化功能函数库之间的数据通信,第四层是可视化核心算法库 VTK,最底层包含了基础的图形库 OpenGL,用于并行计算的 MPI,用于图像合成的 IceT 等等。

基于 Paraview 扩展与实现——(2)_第1张图片

Paraview的架构

要想能够驾驭整个框架,最起码能对相关的知识领域都有一定的了解,本人使用Qt的实际项目实际可发经验两年,关于OPenGl部分的知识正在参考《OPenGl编程指南》第七版,关于Py脚本,目前处于初级阶段,能够看懂他的基本实现,还没有实际写过一行,关于VTK的部分可以参考http://blog.csdn.net/www_doling_net博主写的资料!我目前也在研究VTK,综上可知,本人实属菜鸟一只,希望大牛能指点一二 。

你可能感兴趣的:(Paraview,可视化)