ParaView
Encyclopedia
ParaView is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, freely available program for parallel, interactive
Interactive visualization
Interactive visualization is a branch of graphic visualization in computer science that involves studying how humans interact with computers to create graphic illustrations of information and how this process can be made more efficient....

, scientific visualization
Scientific visualization
Scientific visualization is an interdisciplinary branch of science according to Friendly "primarily concerned with the visualization of three-dimensional phenomena , where the emphasis is on realistic renderings of volumes, surfaces, illumination sources, and so forth, perhaps...

. It has a client–server architecture to facilitate remote visualization of datasets, and generates level of detail
Level of detail
In computer graphics, accounting for level of detail involves decreasing the complexity of a 3D object representation as it moves away from the viewer or according other metrics such as object importance, eye-space speed or position....

 (LOD) models to maintain interactive framerates for large datasets. It is an application built on top of the Visualization Tool Kit (VTK)
VTK
The Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...

 libraries. Where VTK
VTK
The Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...

 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

ParaView is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, multi-platform data analysis and visualization application. It has a client–server architecture to facilitate remote visualization of datasets, and generates level of detail
Level of detail
In computer graphics, accounting for level of detail involves decreasing the complexity of a 3D object representation as it moves away from the viewer or according other metrics such as object importance, eye-space speed or position....

 (LOD) models to maintain interactive framerates for large datasets. 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)
VTK
The Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...

 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.

The History of ParaView

The ParaView project started in 2000 as a collaborative effort between Kitware, Inc. and Los Alamos National Laboratory
Los Alamos National Laboratory
Los Alamos National Laboratory is a United States Department of Energy national laboratory, managed and operated by Los Alamos National Security , located in Los Alamos, New Mexico...

 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

Visualization Capabilities
  • 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
  • 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
  • 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
  • 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
  • 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

  • For examples of a wide variety of ParaView uses please visit the Sandia National Laboratories
    Sandia National Laboratories
    The Sandia National Laboratories, managed and operated by the Sandia Corporation , are two major United States Department of Energy research and development national laboratories....

     webpage http://www.sandia.gov/ParaView and the Kitware
    Kitware
    Kitware, Inc. is a technology company headquartered in Clifton Park, New York. The company specializes in the research and development of open-source software in the fields of computer vision, medical imaging, visualization, 3D data publishing and technical software development...

     ParaView webpages http://paraview.org/paraview/resources/applications.html.
  • ParaView was used by Sandia National Laboratories
    Sandia National Laboratories
    The Sandia National Laboratories, managed and operated by the Sandia Corporation , are two major United States Department of Energy research and development national laboratories....

    , to visualize a 473 million triangle isosurface, a record dataset size at the time, generated from a Richtmyer-Meshkov
    Richtmyer-Meshkov instability
    The Richtmyer–Meshkov instability occurs when an interface between fluids of differing density is impulsively accelerated, e.g. by the passage of a shock wave. The development of the instability begins with small amplitude perturbations which initially grow linearly with time...

     simulation on a 128 node cluster.
  • In 2005 Sandia National Laboratories
    Sandia National Laboratories
    The Sandia National Laboratories, managed and operated by the Sandia Corporation , are two major United States Department of Energy research and development national laboratories....

    , NVidia
    NVIDIA
    Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

     and Kitware
    Kitware
    Kitware, Inc. is a technology company headquartered in Clifton Park, New York. The company specializes in the research and development of open-source software in the fields of computer vision, medical imaging, visualization, 3D data publishing and technical software development...

     had multiple press releases on the scalable visualization and rendering work done on ParaView. The releases announced breakthroughs in scalable performance attaining rendering rates of over 8 billion polygons per second using ParaView.
  • ParaView is used as the visualization platform for the Modeling software OpenFOAM
    OpenFOAM
    OpenFOAM is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, including computational fluid dynamics . The code is released as free and open source software under the GNU General Public License...

  • The Swiss National Supercomputing Center uses ParaView for visualizing the outcome of physical simulations.
  • The Swiss Federal Institute of Technology (EPFL) uses ParaView for visualizing fluid-dynamics simulations.
  • Computational Fluid Dynamics Simulation Data visualized with ParaView presented at the TeraGrid
    TeraGrid
    TeraGrid is an e-Science grid computing infrastructure combining resources at eleven partner sites. The project started in 2001 and operated from 2004 through 2011....

     2008 conference.
  • Tutorial on how to use ParaView on the University of California Argonne servers. One of the TeraGrid
    TeraGrid
    TeraGrid is an e-Science grid computing infrastructure combining resources at eleven partner sites. The project started in 2001 and operated from 2004 through 2011....

     resource sites funded by NSF
    National Science Foundation
    The National Science Foundation is a United States government agency that supports fundamental research and education in all the non-medical fields of science and engineering. Its medical counterpart is the National Institutes of Health...

  • Computational Fluid Dynamics Laboratory, Department of Mechanical Engineering at Indiana University-Purdue University Indianapolis (IUPUI)
  • Lawrence Berkeley National Laboratory
    Lawrence Berkeley National Laboratory
    The Lawrence Berkeley National Laboratory , is a U.S. Department of Energy national laboratory conducting unclassified scientific research. It is located on the grounds of the University of California, Berkeley, in the Berkeley Hills above the central campus...

     Visualization Group
  • Arctic Region Supercomputing Center
    Arctic Region Supercomputing Center
    The Arctic Region Supercomputing Center is a research facility organized under the University of Alaska Fairbanks. Located on the University of Alaska Fairbanks campus, the Arctic Region Supercomputing Center offers high-performance computing and mass storage to the UAF and State of Alaska...

  • San Diego Supercomputer Center
    San Diego Supercomputer Center
    The San Diego Supercomputer Center is an organized research unit of the University of California, San Diego . Physically, SDSC is located on the east end of Eleanor Roosevelt College on the campus of UCSD....

  • University of North Carolina at Chapel Hill
    University of North Carolina at Chapel Hill
    The University of North Carolina at Chapel Hill is a public research university located in Chapel Hill, North Carolina, United States...

     course on Visualization on the Sciences
  • Pittsburgh Supercomputing Center
    Pittsburgh Supercomputing Center
    The Pittsburgh Supercomputing Center is a high performance computing and networking center. PSC is a joint effort of Carnegie Mellon University and the University of Pittsburgh together with Westinghouse Electric Company in Pittsburgh, Pennsylvania, United States. It was founded in 1986 by...

     uses ParaView for visualizing the output of the MFIX (Multiphase Flow with Interphase eXchanges) simulation program. It also provides a ParaView Tutorial
  • Army Research Laboratory
    Army Research Laboratory
    The Army Research Laboratory is the U.S. Army's corporate research laboratory. ARL is headquartered at the Adelphi Laboratory Center in Adelphi, Maryland. Its largest single site is at Aberdeen Proving Ground, Maryland...

     uses ParaView to Visualize CTH
    Sandia National Laboratories
    The Sandia National Laboratories, managed and operated by the Sandia Corporation , are two major United States Department of Energy research and development national laboratories....

     Data
  • Data Analysis and Assessment Center of the Department of Defense
    United States Department of Defense
    The United States Department of Defense is the U.S...

     High Performance Computing Modernization Program (HPCMP)
  • The National Center for Computational Sciences at Oak Ridge National Laboratory
    Oak Ridge National Laboratory
    Oak Ridge National Laboratory is a multiprogram science and technology national laboratory managed for the United States Department of Energy by UT-Battelle. ORNL is the DOE's largest science and energy laboratory. ORNL is located in Oak Ridge, Tennessee, near Knoxville...

     uses ParaView for visualizing large datasets.

Related Software

The Visualization ToolKit
VTK
The Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...

 (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
CMake
CMake is a cross-platform, open-source system for managing the build process of software using a compiler-independent method. It is designed to support directory hierarchies and applications that depend on multiple libraries, and for use in conjunction with native build environments such as Make,...

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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK