ParaView

From Wikipedia, the free encyclopedia
Jump to: navigation, search
ParaView
ParaViewLogo.png
Screenshot OpenFOAM smallPoolFire2D ParaView 3.12.0.png
Paraview 3.12
Developer(s) Sandia National Laboratory,
Kitware Inc,
Los Alamos National Laboratory
Stable release 4.1 [1] / 2014-01-11 [2]
Operating system Unix/Linux, Mac OS X, Microsoft Windows
Type Scientific visualization, Interactive visualization
License BSD
Website www.paraview.org

ParaView is an open source multiple-platform application for interactive, scientific visualization. It has a client–server architecture to facilitate remote visualization of datasets, and generates level of detail (LOD) models to maintain interactive frame rates for large datasets. It is an application built on top of the Visualization Tool Kit (VTK) libraries. Where VTK is a set of libraries that provide visualization services for data, task, and pipeline parallelism, ParaView is an application designed for data parallelism on shared-memory or distributed-memory multicomputers and clusters. It can also be run as a single-computer application.

Summary[edit]

ParaView is an open source, multi-platform data analysis and visualization application. ParaView users can quickly build visualizations to analyze their data using qualitative and quantitative techniques. The data exploration can be done interactively in 3D or programmatically using ParaView's batch processing capabilities.

ParaView was developed to analyze extremely large datasets using distributed memory computing resources. It can be run on supercomputers to analyze datasets of terascale as well as on laptops for smaller data.

ParaView is an application framework as well as a turn-key application. The ParaView code base is designed in such a way that all of its components can be reused to quickly develop vertical applications. This flexibility allows ParaView developers to quickly develop applications that have specific functionality for a specific problem domain.

ParaView runs on distributed and shared memory parallel and single processor systems. It has been successfully tested on Windows, Mac OS X, Linux, IBM Blue Gene, Cray Xt3 and various Unix workstations, clusters and supercomputers. Under the hood, ParaView uses Visualization Tool Kit (VTK) as the data processing and rendering engine and has a user interface written using Qt.

The goals of the ParaView team include the following:

  • Develop an open-source, multi-platform visualization application.
  • Support distributed computation models to process large data sets.
  • Create an open, flexible, and intuitive user interface.
  • Develop an extensible architecture based on open standards.

History[edit]

The ParaView project started in 2000 as a collaborative effort between Kitware, Inc. and Los Alamos National Laboratory through funding provided by the US Department of Energy ASCI Views program. The first public release was announced in October 2002.

Independent of ParaView, Kitware developed a web-based visualization system in December 2001. This project was funded by Phase I and II SBIRs from the US Army Research Laboratory and eventually became the ParaView Enterprise Edition. PVEE significantly contributed to the development of ParaView's client/server architecture.

In September 2005, Kitware, Sandia National Labs and CSimSoft started the development of ParaView 3.0. ParaView 3.0 was released in May 2007.

Features[edit]

Visualization capabilities[edit]

  • Handles structured (uniform rectilinear, non-uniform rectilinear, and curvilinear grids), unstructured, polygonal, image, multi-block and AMR data types.
  • All processing operations (filters) produce datasets. This allows the user to either further process the result of every operation or the results as a data file. For example, the user can extract a cut surface, reduce the number of points on this surface by masking and apply glyphs (i.e. vector arrows) to the result.
  • Vectors fields can be inspected by applying glyphs (arrows, cones, lines, spheres, and various 2D glyphs) to the points in a dataset. The glyphs can be scaled by scalars, vector component or vector magnitude and can be oriented using a vector field.
  • Contours and isosurfaces can be extracted from all data types using scalars or vector components. The results can be colored by any other variable or processed further. When possible, structured data contours/isosurfaces are extracted with fast and efficient algorithms which make use of the efficient data layout.
  • A sub-region of a dataset can be extracted by cutting or clipping with an arbitrary plane (all data types), specifying a threshold criteria to exclude cells (all data types) and/or specifying a VOI (volume of interest - structured data types only).
  • Streamlines can be generated using constant step or adaptive integrators. The results can be displayed as points, lines, tubes, ribbons, etc., and can be processed by a multitude of filters. Particle paths can be extracted from temporal datasets.
  • The points in a dataset can be warped (displaced) with scalars (given a user defined displacement vector) or with vectors (unavailable for non-linear rectilinear grids).
  • With the array calculator, new variables can be computed using existing point or cell field arrays. A multitude of scalar and vector operations are supported.
  • Advanced data processing can be done using the Python Programmable filter with VTK, NumPy, SciPy and other Python modules.
  • Data can be probed at a point or along a line. The results are displayed either graphically or as text and can be exported for further analysis. Data can also be extracted over time (including statistical information such as minimum, maximum and standard deviation).
  • Data can be inspected quantitatively using the powerful selection mechanism and the spreadsheet view: The selection mechanism allows the user to focus on an important subset of a dataset using either interactive selection by picking a point or selecting a rectangular area as well quantitive selection mechanisms.
  • The spreadsheet view allows the user to inspect either the whole dataset or the selected subset as raw numbers.
  • ParaView provides many other data sources and filters by default. Any VTK source or filter can be added by providing a simple XML description (VTK provides hundreds of algorithms, see the VTK documentation for a complete list).

Input/output and file format[edit]

  • 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.

User interaction[edit]

  • 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.

Large data and distributed computing[edit]

  • 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.

Scripting and extensibility[edit]

  • ParaView is fully scriptable using the simple but powerful Python language. ParaView's data engine, called server manager, is fully accessible through the Python interface. All changes made to the engine through Python are automatically reflected to the user interface.
  • ParaView can be run as a batch application using the Python interface. We have successfully run ParaView on supercomputers include IBM Blue Gene and Cray Xt3 using the batch mode.
  • Distributed data processing can be done in Python using the Python Programmable Filter. This filter functions seamlessly with NumPy and SciPy.
  • Additional modules can be added by either writing an XML description of the interface or by writing C++ classes. The XML interface allows users/developers to add their own VTK filters to ParaView without writing any special code and/or re-compiling. See Plug-in How To and Extending ParaView at Compile Time for details.

ParaView in use[edit]

Related software[edit]

The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization used by thousands of researchers and developers around the world. VTK consists of a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. ParaView is built on top of VTK to provide additional functionality. ParaView utilizes the VTK pipeline architecture, and ParaView classes are generally derived from vtkObject.

CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. ParaView utilizes CMake for the software compilation process.

References[edit]

  1. ^ http://www.paraview.org/paraview/resources/software.php
  2. ^ http://paraview.org/Bug/changelog_page.php?version_id=102 Changelog for ParaView 4.1
  3. ^ http://www.kitware.com/news/home/browse/124
  4. ^ Press Release
  5. ^ Press Release
  6. ^ 7.1 paraFoam
  7. ^ http://www.cscs.ch/a-display.php?id=1168
  8. ^ EPFL-LMH Visualization
  9. ^ Logiciel ParaView pour PC
  10. ^ Pleiades Cluster - ParaView Visualization Software
  11. ^ TeraGrid [ User Info: Data: Visualization: Gallery ]
  12. ^ TeraGrid [ User Info: Data: Visualization: ParaView Overview ]
  13. ^ UofC/ANL TeraGrid Resources
  14. ^ Indiana University: SuperComputing 2005
  15. ^ Computational Fluid Dynamics Laboratory - Mission & Overview
  16. ^ Indiana University: SuperComputing 2006
  17. ^ Information about ParaView at NERSC
  18. ^ ARSC 2007 ParaView and ezVIZ Workshops
  19. ^ SDSC Thread: SDSC User Support Newsletter (Issue 2006-07, Visualization )
  20. ^ Comp/Phys/Mtsc 715, Visualization in the Sciences
  21. ^ Using ParaView to Visualize MFIX Scalar Variables
  22. ^ Using ParaView to Visualize MFIX Vector Variables
  23. ^ ParaView Tutorial
  24. ^ ARL MSRC Sci-Vis: Using ParaView to Visualize CTH Data
  25. ^ ARL MSRC eLink Fall 2005: What's all this Large Data Visualization Stuff Anyhow?
  26. ^ DAAC Supported Software List
  27. ^ National Center for Computational Sciences at Oak Ridge National Laboratory – ParaView software

External links[edit]