Desktop

 

image

Figure 1: ParaView Desktop

The most frequently used interface to ParaView is the desktop application. This Qt-based application is supported on the three common desktop operating systems – Windows, Linux, and OsX (or macOS). The application allows users to seamlessly use local desktop and remote HPC resources alike to analyze and visualize results. The application has undergone considerable evolution since it was first released in 2002, however the core spirit has remained the same – provide users the palette to analyze their data to glean insight and generate compelling visualizations.

ParaView Desktop (or paraview for short) is intended for post processing of simulation results. You can open data files written out by simulations in ParaView using File | Open. ParaView supports a multitude of file formats commonly used in scientific data processing. If the file format is not already supported, it’s possible to add new readers via plugins. Once your data is in paraview, you can transform the data to extract important information using filters and show the results in views. The multitude of filters available cover a wide gamut of operations commonly encountered in scientific data processing, including slicing, clipping, contouring, and thresholding. Different types of views provide the ability of view the results of such filtering in different forms including 3D rendering as surfaces or volumes, line plots, bar plots, and even as a spreadsheet of raw data values.

Figure 2: The visualization pipeline used by ParaView for data processing.

Figure 2: The visualization pipeline used by ParaView for data processing.

By connecting different filters together, users can create visualization pipelines that can easily handle complex use-cases and generate informative and insightful visualizations. While the flexibility offered by such pipelines can be a little overwhelming at first, using the ParaView Tutorial and ParaView Guide, one can quickly master these concepts and be well on their way to uncovering secrets in their data!

Loading Data

Right out of the box, ParaView supports reading over 100 file formats. Most common file formats encountered in scientific workflows are already supported. If you do encounter a format that is not supported, it is possible to add new readers through plugins or putting together a Python based scriptable data source. The expressive data model used by ParaView, the VTK data model, makes it possible to efficiently represent scientific meshes and their fields in a variety of shapes and sizes including rectilinear grids, curvilinear grids, volumetric datasets, surface meshes and 3D unstructured grids.

Displaying Data

Data can be visualized using any of the different views available in ParaView. Views provide a viewport in which the data can be displayed or plotted. You can create different views to view the data using different visualization techniques at the same time.

Figure 3: Multiple views in ParaView with linked selections highlighting selected elements in multiple views.

Figure 3: Multiple views in ParaView with linked selections highlighting selected elements in multiple views.

Features like linked selection, make it easy to identify corresponding data elements in different views.

Figure 4: Various types of representations of data that can be rendered by ParaView including surface, wireframe, and volume.

Figure 4: Various types of representations of data that can be rendered by ParaView including surface, wireframe, and volume.

Customizability is a core part of the ParaView design, and it applies to views as well. Not only can you create new C++ plugins to add new types of views, you can also write Python scripts to generate rendering using other libraries like matplotlib, for example.

Figure 5: ParaView with a Python scripted view using Matplotlib to generate the chart of the right.

Figure 5: ParaView with a Python scripted view using Matplotlib to generate the chart of the right.

Filtering Data

In ParaView, you use filters to transform your data to generate representations that are easier to understand. For example, for understanding the structure of scalar data in a volumetric dataset, one may want to use the Contour filter to generate iso-surfaces for certain scalars values. The large number of filters available in ParaView cover everything from contouring, slicing, clipping to extracting connected components, streamlines and much more. As in the case with file formats, if a filter for a specific operation is not available, you can write a plugin or put together a programmable filter using Python script.

The Pipeline Browser helps navigate complex pipelines, while the Properties Panel allows you to change parameters and configure the selected filter.

Figure 6: Pipeline Browser and Properties Panel in ParaView

Figure 6: Pipeline Browser and Properties Panel in ParaView

Figure 7: Properties panel in ParaView used to change filter parameters.

Figure 7: Properties panel in ParaView used to change filter parameters.

Here are some of the commonly used filters in action (left to right, top to bottom): Clip, Slice, Threshold, Glyph, Stream Tracer, Stream Tracer With Custom Source.

Figure 8: "Clip" filter used to clip a dataset using an clip plane.

Figure 8: “Clip” filter used to clip a dataset using an clip plane.

Figure 9: Comparison between using the "Clip" filter and the "Slice" filter with and without clipping or slicing cells.

Figure 9: Comparison between using the “Clip” filter and the “Slice” filter with and without clipping or slicing cells.

Figure 10: Threshold filter used to extract cells with data values in the specified range.

Figure 10: Threshold filter used to extract cells with data values in the specified range.

Figure 11: Glyph filter used to show vector data

Figure 11: Glyph filter used to show vector data

Figure 12: Stream Tracer used to generate streamlines from vector data.

Figure 12: Stream Tracer used to generate streamlines from vector data.

The ParaView Guide documents these filters and several others with details on the parameters available and how they can be used to control your visualizations.

Querying Data

Besides selecting data in various views interactively, ParaView provides a mechanism to inspect the data by querying for elements that satisfy certain criteria using the Find Data dialog.

Figure 13: Find Data dialog used to query data elements.

Figure 13: Find Data dialog used to query data elements.

The UI makes it easy to build simple queries to find matching elements. At the same time, advanced users can put together complex queries using a Python-based syntax.

Animations

Whenever you open a file with multiple timesteps, ParaView automatically sets up an animation allowing you to step through the timesteps available. At the same time, you can use the Animation View to setup complex animations involving changes to parameters of filters or sources, as well moving the camera to orbit around the dataset or along an arbitrary path.

Figure 14: Animation View in ParaView used to generate animations using key frames.

Figure 14: Animation View in ParaView used to generate animations using key frames.

Generated animations can exported in common video formats including AVI, OGG or as a series of PNG or JPEG image files.

Exporting Scenes

ParaView supports exporting rendered scenes in formats use by 3D rendering tools, e.g. VRML, X3D, and GEO (Houdini geometry files). These can then be imported into tools that support photorealistic rendering, for example. You can also save out the scene as a self-contained HTML page that uses WebGL to do all the rendering in a Web browser.

Getting Help

We can have been continuously improving the documentation for ParaView for both users and developers alike. The Help menu provides shortcuts to various guides and tutorials.

Figure 15: Help menu in ParaView

Figure 15: Help menu in ParaView

The ParaView Getting Started Guide provides a quick two-page summary for getting started with ParaView.


image11image12

The ParaView Guide, available freely as a PDF and for purchase in print, is the definitive guide for using ParaView Desktop and writing ParaView Python scripting. In over 250 pages, the guide details a wide gamut of basic and advanced features in ParaView.


image13 image14

The ParaView Tutorial provides step by step instructions along with introducing key concepts like parallel data processing and rendering.


image15 image16