ParaView整体介绍


1 概述
   ParaView是一个开源的,跨平台的数据处理和可视化程序。ParaView用户可以迅速的建立起可视化环境利用定量或者是定性的手段去分析数据。利用它的批量处理能力可以在三维或者是在报表中交互进行“数据挖掘”(这里不知道翻译的对不对)。
ParaView开发使用分布式的内存计算资源来对非常大的数据集进行分析。它可以在超级计算机上运行万亿次的数据集以及笔记本电脑更小的数据分析。

2 可视化应用
   ParaView基本的交互式可视化探索的过程证明,包括数据加载,数据处理,参数调整和数据交互。如切割,剪裁,轮廓,探测和glyphing的关键概念是在本课程的讨论。本课程提供了生成处理的数据的形式输出的例子,呈现的图像和动画。

3 特点
下面总结了ParaView的一些重要的特点。

 3.1可视化功能:
  1  处理结构(匀速直线,非匀速直线,曲线网格),非结构化的,多边形,图像,多块和AMR的数据类型。

  2  所有处理操作(过滤器)产生的数据集。这允许用户进一步处理的每一个操作或产生一个数据文件。例如,用户可以提取一个切割面,减少这种掩蔽表面上的点的数量和字形(即向量箭头)

  3  向量可以检查区域运用图形(箭头,锥、线、球体和各种各样的二维图形)转化成点的数据。符号可以按标量、矢量部件或矢量大小和可以使用一个矢量场导向。

  4  等高线 和等值面可以从所有数据类型中使用标量或者是矢量分量进行提取。任何其他变量的结果,可着色,或作进一步处理。如果可能的话,结构化数据的等高线/等值面提取与使用高效的数据布局的快速,高效的算法。

  5  可以提取一个数据集的分区域,进行切割或裁剪用任意平面(所有数据类型),指定的阈值标准,排除细胞(所有的数据类型)和/或指定VOI(感兴趣的体域-只限结构化数据类型)。

  6  可以生成流线。结果可以显示为点、线、管、带等,可以通过一些过滤器处理。粒子路径可以被提取。

  7  数据集中的点可以通过用标量(一个用户定义的位移矢量)被扭曲(替换),或与向量(非线性直线网格不可用)。

  8  与阵列的计算器,可以使用现有的点或细胞领域阵列计算出新的变数,。众多的标量和矢量运算的支持。

  9  可以利用VTK、NumPy|SciPy和其他的Python模块的可编程滤波进行高级数据处理。

  10  利用强大的选择机制和电子表格科技进行数据的定量检测:

  11  这种选择机制允许用户通道拾取一个点或者选择一个矩形区域去选择一个重要的数据区域,即定量选择机制

  12  数据表浏览(spreadsheet view)可以允许用户选择整个数据集合或者选择一块区域

  13  ParaView默认的提供了许多其他数据源接口和过滤,任何VTK过滤(filter)可以通过提供减慢的XML描述添加(VTK提供了上百个算法,可参考VTK文档)

 3.2 输入和输出格式
 
  1  VTK(已有的或将来添加的,包括并行的、二进制、ASCII都可以进行读写操作)
    Supports a variety of file formats including:
         VTK (new and legacy, all types including parallel, ascii and binary, can read and written).
    EnSight 6 and EnSight Gold (all types including parallel, ascii and binary; multiple parts are supported -each part is loaded separately and can be processed individually) (read only).
    Plot3D (ascii and binary, C or Fortran; support for multiple blocks, I blanking is currently partially supported) (read only).
    Various polygonal file formats including STL and BYU (by default, read only, other VTK writers can be added by writing XML description).
    Many other file formats are supported. See ParaView Readers and ParaView Writers for a full list.
    Any VTK source or filter can be added by providing a simple XML description (VTK provides many readers, see VTK documentation for a complete list).
    Since ParaView is open source, the user can easily provide her own readers and writers.

  2 User Interaction:
         Intuitive and flexible interface based on the Qt application framework.
    Allows changing the parameters of many filters by directly interacting with the 3D view using 3D widgets (manipulators). For example, the user can manipulate the seed line of a streamline filter by clicking on a control point and dragging the line to the new location.
    Compact user interface design. By default, all important tools are located in the main window. This eliminates the need for large number of windows which are often difficult to locate on a cluttered desktop. It is also possible to shear off inspectors from the main window.

    Maintains interactive frame rates even when working with large data through the use of level-of-detail (LOD) models. The user determines the threshold (number of points) beyond which a reduced version of the model is displayed during interaction (the size of the model can also be adjusted). Once the interaction is over, the large model is rendered.

  3. Large Data and Distributed Computing:
        Runs parallel on distributed and shared memory systems using MPI. These include workstation clusters, visualization systems, large servers, supercomputers, etc.
    The user interface is run on separate computer using the client/server mode.
    ParaView uses the data parallel model in which the data is broken into pieces to be processed by different processes. Most of the visualization algorithms function without any change when running in parallel. ParaView also supports ghost levels used to produce piece invariant results. Ghost levels are points/cells shared between processes and are used by algorithms which require neighborhood information.
    Supports both distributed rendering (where the results are rendered on each node and composited later using the depth buffer), local rendering (where the resulting polygons are collected on one node and rendered locally) and a combination of both (for example, the level-of-detail models can be rendered locally whereas the full model is rendered in a distributed manner). This provides scalable rendering for large data without sacrificing performance when working with smaller data.
    Distributed rendering and tiled-display is done using Sandia's Ice-T library.

  4. Scripting and Extensibility:
·        ParaView is fully scriptable using thesimple but powerful Python language. ParaView's data engine, called servermanager, is fully accessible through the Python interface. All changes made tothe engine through Python are
     automatically reflected to the user interface.
     ParaView can be run as a batch applicationusing the Python interface. We have successfully run ParaView on supercomputersinclude IBM Blue Gene and Cray Xt3 using the batch mode.
     Distributed data processing can be done inPython using the Python Programmable Filter. This filter functions seamlesslywith NumPy and SciPy.
     Additional modules can be added by eitherwriting an XML description of the interface or by writing C++ classes. The XMLinterface allows users/developers to add their own VTK filters to ParaViewwithout writing any special code and/or re-compiling. See Plug-in How To and Extending ParaView at Compile Time for details.

你可能感兴趣的:(ParaView)