ParaView:FAQ

From KitwarePublic
Revision as of 15:02, 12 June 2007 by Zack (talk | contribs) (Reverted edits by Xdrs (Talk); changed back to last version by Andy)
Jump to navigationJump to search

General information and availability

How do I compile ParaView ?

See the Building and Installation instructions page.

Can I use volume rendering to see my data ?

ParaView 2.4 and older support volume rendering of unstructured grid data sets. ParaView 2.6 will support parallel volume rendering of image data.

User interface issues

Where are the scalars/vectors I expect?

The array may not have a name. ParaView does not recognize attributes without names. VTK is being converted so that all data arrays are named.

Why can't I change the filename on my reader ?

Once a ParaView data set is created, it is assigned a vtk dataset type (i.e vtkPolyData). This cannot be changed. Since changing the file name of a reader could change the output type, we do not allow it. You have to load other data as an separated data object.

Viewing / Interaction issues

Why is rotation acting like translation ?

If the center of rotation is far away from the current view, then rotation acts like translation. Just press the reset button in the center of rotation toolbar.

How do I show the surface of my volume ?

ParaView defaults to showing the outlines of 3D volume data sets. Selecting "Surface" in the data page will display the surface of the volume instead.

I cannot see my data, what do I do?

You can press the reset-view button at the top left corner of the application. This will change the view to best display all of the visible data. You can also press the "Set View to Data" button on the individual data objects "Display" pages. This will change the view to show the data in that individual data object.

How can I move my dataset relative to another data set ?

Use the "Actor control" in the datasets Display page. Note that moving the dataset using these controls only moves the displayed polygons (the actor) and does not transform the actual data. Filters applied to the dataset act on the original data.

How do I annotate the current frame in Animation

Add the following TCL string to the annotation text:

[[[[$Application GetMainWindow] GetAnimationManager] GetAnimationScene] GetAnimationTime]

Running ParaView in parallel / Processing large data

What does "Save Data" entry in the file menu do when you are running more than one process ?

When running one process, "Save Data" creates a file from the current data set in ParaView. When running more than one process, save data creates spatially distributed files. Each process writes its own data in a file. A single meta-file pointing to these pieces is also created.

Which readers/filters work in parallel ?

Currently there are only a few readers that truly work in parallel: VTK files (not legacy), partitioned legacy VTK files, ParaView data files, HDF5 files, EnSight master server files, and raw (binary) files can be read in parallel. For demonstration purposes, ParaView will distribute pieces of a data set when the reader cannot. Unfortunatley, this is an inefficient process.

All the filters in ParaView will work in parallel. Some like Clean (vtkCleanPolyData) have global agorithms that when run in parallel will produce seams. Others like Loop Subdivision (vtkLoopSubdivisionFilter) algorithms work on local neighborhoods of cells. These filters can operate in parallel with no seams (result invarience) if their input can generate ghost cells. Otherwise, there may be noticeable boundaries between pieces handled by the different processes.

Can ParaView stream my data sets (process then out-of-core) ?

VTK has some useful streaming features that allow you to process a large data set without ever having to load the entire data set into memory. ParaView has not yet been set up to take advantage of this VTK feature. I would suggest creating a visualization in ParaView using a smaller/lower resolution data set. You could then save out the pipeline into a Tcl script, add a streaming filter and use VTK to process the large data set.

How does ParaView render when running in parallel ?

ParaView supports two rendering modes:

  1. Sort first (collection): Small objects can be collected to the first node and rendered locally. In this mode, the polygons are collected only when the source generating them is modified. Although this collection might take time, it is done only once and rendering is fast.
  2. Sort last (distributed rendering): In this mode, first, each process renders their scene, then these scenes are composited using the depth buffer. This is done every render. Although this is slower for smaller datasets, it is the only scalable solution when the dataset become large.

Why does it take so long to read my files in parallel ?

NOTE: This information has to be revised.

If you are running on multiple processes and are using a reader that cannot read in parallel, you will pay a penalty. The default behavior is that every process will read all of the data and throw away the pieces it does not need. Since every process is trying to read the file at the same time, you may have file contention. There is an option in ParaView that helps this situation, but it still has a couple of issues. When the environment variable "PV_USE_TRANSMIT" is set to "True" (or any value), then ParaView will read the file on the first process, and will distribute the pieces using MPI calls. This is much more efficient because only the first process reads the file. Unfortunately, there is a remote chance that ParaView might hang because of a deadlock.

How is my data partitioned across processes ?

You may notice seems in the LOD version of the data when you are interactively rotating the view. These show the partition between the different processes. For a better display of processor assignment, you can use the Process Id Scalars (vtkPieceScalars) filter in the Filter menu. This will assign each process a different color.

What modes can be used when running pvbatch ?

pvbatch (the executable for running ParaView batch scripts) can be run in stand-alone mode -- either single or multiple processes (using MPI). pvbatch cannot be run in client / server or client / data server / render server mode.

Questions about filters

Why can't I find the filters I want ?

Some filters do not currently have a parallel implementation. Others have unusual methods that are not currently defined in the XML interface descriptions. We are working to include these filters in future releases. Some filters have just been left out because we wanted to keep the menu of filters short. You can easily add these filters to ParaView by adding an XML description in the XML source file.

How do I add my own vtk filter/reader to ParaView?

Here are a few tips to get started:

1. Read http://public.kitware.com/pipermail/paraview/2003-September/000290.html Adding a filter is very similar to adding readers.

2. Read ParaView/GUI/Client/Resources/Filters.xml and ParaView/Servers/ServerManager/Resources/filters.xml in the source distribution. These are the default filters config files for ParaView.

3. Read this.

Compilation questions

How do I compile ParaView for Mac OS X?

To build ParaView (version 2.2) on the Mac OS X (Panther), using X11, do the following.
1) Get the ParaView source (either from CVS or from a source tarball available from ParaView's website.
2) Create a binary directory beside the one for the source code.
3) Run ccmake. Set BUILD_SHARED_LIBS to ON; set VTK_USE_CARBON to OFF; set VTK_USE_X to ON; check that CMAKE_CXX_COMPILER is set to c++ and that CMAKE_C_COMPILER is set to gcc. Also make sure that OPENGL_INCLUDE_DIR is set to a directory that contains GL/gl.h, and set OPENGL_gl_LIBRARY and OPENGL_glu_LIBRARY accordingly. Then configure and generate.
4) Run make.

To build ParaView 2.4 on Mac OS X 10.4 (Tiger) on PowerPC, you should also set CMAKE_EXE_LINKER_FLAGS and CMAKE_SHARED_LINKER_FLAGS to "-Wl,-search_paths_first" before generating in ccmake. The following settings allowed ParaView 2.4.4 to compile successfully on Mac OS X 10.4.7 on a G4 using CMake 2.4.2 with GCC 3.3 and with GCC 4.0. The ones in bold are different from the default settings in CMake.

BUILD_SHARED_LIBS: ON
CMAKE_EXE_LINKER_FLAGS: -Wl,-search_paths_first
CMAKE_SHARED_LINKER_FLAGS: -Wl,-search_paths_first
OPENGL_INCLUDE_DIR: /usr/X11R6/include
OPENGL_gl_LIBRARY: /System/Library/Frameworks/OpenGL.framework
OPENGL_glu_LIBRARY: /System/Library/Frameworks/AGL.framework
VTK_USE_CARBON: OFF
VTK_USE_COCOA: OFF
VTK_USE_RPATH: OFF
VTK_USE_X: ON
X11_X11_INCLUDE_PATH: /usr/include
X11_X11_LIB: /usr/X11R6/lib/libX11.dylib
X11_Xext_LIB: /usr/X11R6/lib/libXext.dylib

Command-line questions

How do I specify the list of machines in the render server in ParaView 2.2 and later?

The list of machines making up the render server (or data server if the render server is connecting to the data server) is now specified in a configuration XML file (*.pvx) instead of in a separate machines file. The format for this portion of the XML file is shown below. The "<Machine ... />" line is repeated for each machine in the render server (with the Name specified appropriately for each machine).

<?xml version="1.0" ?>
<pvx>
  <Process Type="client" />
  <Process Type="data-server" />
  <Process Type="render-server">
   <Machine Name="rs_m1" /> 
   <Machine Name="rs_m2" />
  </Process>
</pvx>

The .pvx file is passed as a command-line argument to each executable being run for this ParaView session.

./pvdataserver "foo.pvx"
./pvrenderserver "foo.pvx"
./client "foo.pvx"

How do I specify cave parameters in ParaView 2.2 and later?

Cave parameter specification has been moved from a separate cave configuration file into the XML configuration file (*.pvx). The format for specifying cave parameters in the XML file is shown below. The parameters will be specified for the render server if you are using separate data and render servers; otherwise specify the cave parameters for the server. The "<Machine ..." lines are repeated for each machine involved in rendering in the cave (with the Name, Environment, LowerLeft, LowerRight, and UpperLeft entries changed to reflect the appropriate values for each machine).

<?xml version="1.0" ?>
<pvx>
  <Process Type="client" />
  <Process Type="server">
   <Machine Name="m1" 
            Environment="DISPLAY=m1:0"
            LowerLeft="-1.0 -1.0 -1.0"
            LowerRight="1.0 -1.0 -1.0"
            UpperLeft="-1.0  1.0 -1.0" /> 
  </Process>
</pvx>

The .pvx file is passed as a command-line argument to each executable being run for this ParaView session.

./pvserver "foo.pvx"
./pvclient "foo.pvx"

What file formats does ParaView support?

Note: This list is incomplete. New readers get added to ParaView routinely.

ParaView files: This is the default file format for ParaView. The data set created by this reader may be of any type supported by ParaView (polygonal, uniform rectilinear, nonuniform rectilinear, curvilinear, or unstructured). The file extension is .pvd. This format supports spatially partitioned and multi-block data. ParaView can write data files in this format. There are no modifiable parameters for reading ParaView files unless the file contains multiple time steps.

VTK files: This is the XML-based file format used by VTK. The data set created by this reader may be of any type supported by ParaView (polygonal, uniform rectilinear, nonuniform rectilinear, curvilinear, or unstructured). The file extensions are as follows: .vtp for polygonal data, .vti for image data (uniform rectilinear data sets), .vtr for rectilinear grids (nonuniform rectilinear data sets), .vts for structured grids (curvilinear data sets), and .vtu for unstructured grids. ParaView can write data files in this format. This file format allows you to select which data set attributes to load.

Parallel (partitioned) VTK files: This is the parallel version of the XML-based file format used by VTK. The parallel VTK files contain information about the spatial distribution of data and may point to multiple VTK files. The data set created by this reader may be of any type supported by ParaView (polygonal, uniform rectilinear, nonuniform rectilinear, curvilinear, or unstructured). The file extensions are as follows: .pvtp for polygonal data, .pvti for image data (uniform rectilinear data sets), .pvtr for rectilinear grids (nonuniform rectilinear data sets), .pvts for structured grids (curvilinear data sets), and .pvtu for unstructured data. ParaView can write data files in this format. This file format allows you to select which data set attributes to load.

VTK MultiBlock (MultiGroup, Hierarchical, Hierarchical Box) files: This is the XML-based file format used by VTK for reading multi-block (or multi-group, hierarchical, or hierarchical box) data sets. The file extension is .vtm. There are no modifiable parameters for reading files in this format.

Legacy VTK files: This is the legacy (before VTK 4.2, although still supported) VTK file format. All types of data are stored with the same file extension, .vtk. The data set created by this reader may be of any type supported by ParaView (polygonal, uniform rectilinear, nonuniform rectilinear, curvilinear, or unstructured). ParaView can write data files in this format. There are no modifiable parameters for reading legacy VTK files.

Parallel (partitioned) legacy VTK files: This is the parallel version of the legacy (before VTK 4.2, although still supported) VTK file format. All types of data are stored with the same file extension, .pvtk. The data set created by this reader may be of any type supported by ParaView (polygonal, uniform rectilinear, nonuniform rectilinear, curvilinear, or unstructured). There are no modifiable parameters for reading parallel legacy VTK files.

EnSight files: This is the file format used by CEI’s EnSight (http://www.ensight.com). ASCII and binary EnSight 6 and EnSight Gold formats are supported. These files have a .case extension. The data set created by this reader may be of any type supported by ParaView (polygonal, uniform rectilinear, nonuniform rectilinear, curvilinear, or unstructured). This format also supports multiple parts and time information. This file format allows you to select which data set attributes to load.

EnSight Master Server files: This is the parallel version of CEI’s EnSight format. The master file usually has a .sos extension and may point to multiple .case files. This file format allows you to select which data set attributes to load.

Exodus files: ParaView can read Exodus II files. Only unstructured grid files are produced. The expected file extensions for Exodus II files are .g, .e, .ex2, .ex2v2, .exo, .gen, or .exoII. This file format allows you to select which data set attributes to load. ParaView can write files in this format.

BYU files: ParaView can read MOVIE.BYU files. These files have a .g extension. Only polygonal data is produced. There are no modifiable parameters for reading BYU files.

XDMF files: The eXtensible Data Model and Format (XDMF) is an active, common data hub used to pass values and metadata in a standard fashion between application modules (http://www.arl.hpc.mil/ice/). These files have a .xmf extension. Metadata is stored in the XDMF file using an XML format, and large attribute arrays are stored in a corresponding HDF5 file. This format supports rectilinear and unstructured grids. ParaView can write files in this format. This file format also allows you to select which data set attributes to load.

PLOT3D files: This is the file format originally used by the PLOT3D plotting package developed at NASA. ParaView can read both ASCII and binary PLOT3D files. By default, ParaView assumes that the default file extension is .xyz for geometry files and .q for solution files, but files with other extensions can also be read. Only curvilinear output is produced, but it may be single- or multi-block.

SpyPlot CTH files: ParaView reads files in the SPCTH Spy Plot format through an ASCII meta file called the "case" file (extension .spcth). The case file lists all the binary files containing the data set. This reader produces multi-block composite data sets.

HDF5 raw image data files: This is the latest file format created by the Hierarchical Data Format (HDF) group at the National Center for Supercomputing Applications (NCSA) at the University of Illinois at Urbana-Champaign (http://hdf.ncsa.uiuc.edu/). Files of this type have a .h5 extension. This format only supports uniform rectilinear (image) data. This file format allows you to select which data set attributes to load.

DEM files: Digital Elevation Model files contain elevation values derived from the U. S. Geologic Survey. A thorough description of the file format is available from the USGS web site (http://www.usgs.gov). The default extension for DEM files is .dem. This reader produces uniform rectilinear (image) data output. There are no modifiable parameters for reading DEM files.

VRML files: This is the file format for the Virtual Reality Modeling Language (VRML). VRML 2.0 format is supported. Only the geometry from the VRML file is loaded. The extension for files of this type is .wrl. This reader produces polygonal data output. There are no modifiable parameters for reading VRML files.

PLY Polygonal files: The Stanford University PLY polygonal file format is described at http://graphics.stanford.edu/data/3Dscanrep/. ParaView expects files of this type to have a .ply extension. The PLY files that ParaView can read must have the elements “vertex” and “face” defined. The “vertex” elements must have the properties “x”, “y”, and “z”. The “face” elements must have the property “vertex_indices” defined. There are no modifiable parameters for reading PLY files.

Protein Data Bank files: This file format is used by the Protein Data Bank (PDB), an archive of experimentally determined three-dimensional structures of biological macromolecules (http://www.rcsb.org/pdb/). These files have a .pdb extension. The PDB reader produces polygonal data output. There are no modifiable parameters for reading Protein Data Bank files.

XMol Molecule files: This is the Minnesota Supercomputer Center’s XMol file format. XMol uses the simple XYZ file format for representing molecules. It describes atoms and bonds, but not values are stored on atoms. These files have a .xyz extension. The XMol reader produces polygonal data output. XMol Molecule files are automatically loaded when the file name is chosen from the file selection dialog.

Stereo Lithography files: ParaView can read binary or ASCII stereo lithography files. These files have a .stl extension. The output produced is polygonal. There are no modifiable parameters for reading Stereo Lithography files.

Gaussian Cube files: This is the file format used by the Gaussian software package (http://www.gaussian.com). The default file extension is .cube. The output produced is polygonal.

Raw (binary) files: ParaView supports reading raw uniform rectilinear data from a file. The default file extension is .raw. The user specifies the dimensions and data type, and the reader computes the header size.

AVS files: ParaView can read binary or ASCII files stored in AVS UCD format. These files have a .inp extension. The output of the AVS UCD reader is of type unstructured grid. This file format allows you to select which data set attributes to load.

Meta Image files: ParaView can read UNC meta image data. Files of this type have either a .mhd or .mha extension. This reader produces uniform rectilinear (image) data output. ParaView can write files of this type. There are no modifiable parameters for reading Meta Image files.

Facet files: The Facet format is a simple ASCII file format listing point coordinates and connectivity between these points. The default extension for Facet files is .facet. The output of the Facet file reader is polygonal. There are no modifiable parameters for reading Facet files.

PNG files: ParaView can load images in the PNG format. The expected file extension is .png. This reader outputs uniform rectilinear data sets. There are no modifiable parameters for loading PNG files.

SAF files: If ParaView is built with SAF support, ParaView can read SAF files. The SAF reader produces uniform rectilinear grid, nonuniform rectilinear grid, and unstructured grid output. This file format allows you to select which data set attributes to load.

LS-Dyna files: ParaView can load LS-Dyna d3plot (output) files. It can parse input decks for part names (but nothing else). The reader supports solid, thick shell, shell, beam, and smooth-particle hydrodynamic (SPH) data. Mesh adaptivity and cell death are supported. Auxiliary files (such as crack databases) are not supported. Because of some difficulties with file browsers that do not support opening files without extensions, you must (1) manually select the LSDyna reader after selecting d3plot OR (2) create a file ending in ".lsdyna" in the directory containing d3plot files and open that file OR (3) open an LSDyna input deck ending in ".k" in the same directory as the d3plot files. If a file ending in ".lsdyna" does not already exist or is empty, the reader will create this file (i.e., d3plot.lsdyna) and store an XML summary of the input deck or d3plot file.



ParaView: [Welcome | Site Map]