ParaView
ParaView is an open-source, multi-platform application designed to visualize data sets of size varying from small to very large. The goals of the ParaView project include developing an open-source, multi-platform visualization application that support distributed computational models to process large data sets. It has an open, flexible, and intuitive user interface. Furthermore, ParaView is built on an extensible architecture based on open standards. ParaView runs on distributed and shared memory parallel as well as single processor systems and has been succesfully tested on Windows, Linux, Mac OS X, IBM Blue Gene, Cray XT3 and various Unix workstations and clusters. Under the hood, ParaView uses the Visualization Toolkit as the data processing and rendering engine and has a user interface written using the Qt cross-platform application framework.
The goal of this Wiki is to provide up-to-date documentation maintained by the developer and user communities. As such, we welcome volunteers that would like to contribute. If you are interested in contributing, please contact us on the ParaView mailing list http://public.kitware.com/mailman/listinfo/paraview.
You can find more information about ParaView on the ParaView web site: http://paraview.org. For more help, check out http://paraview.org/New/help.html.
Real world concept -> Paraview terminology map
Often new users may say "Surely Paraview can do X... but I can't find it!". This terminology map should help!
Complete list/description of paraview filters
If you're looking through the list of filters in paraview, you may want to know what they all do! Here is a complete list.
Short HowTos
These howtos are instructions for some common operations.
Description/Explanation of Sources
- Point Source - Generate a set of NumberOfPoints random points inside a sphere of radius Radius centered at Point. This is an interface for the VTK filter http://www.vtk.org/doc/nightly/html/classvtkPointSource.html#_details
- Plane - the plane is specified by three corners. This allows the flexibility of having a non-rectangular planar patch. However, it is quite confusing to make simple planes. You can vote for an easier to use plane source at http://paraview.uservoice.com/pages/11350-general/suggestions/360110-easier-to-use-plane-source?ref=title.
- Origin - The origin of the plane to be created. When viewing the plane orthogonally, this could be interpreted as the "lower left corner" of the plane.
- Point1 - the "bottom right" corner of the plane.
- Point2 - the "top left" corner of the plane.
- X Resolution - how many divisions will be created in the X direction. You can see what is going on by switching to wireframe mode.
- Y Resolution - how many divisions will be created in the Y direction. You can see what is going on by switching to wireframe mode.
- The Apply button must be pressed before the plane will be generated.
- Line - hover the mouse and press 'p'. This seems to move the closest endpoint of the line to the current mouse position.
- Ruler - acts just like the line source - hover the mouse and press 'p' to snap the nearest endpoint of the ruler's indicator line to the current mouse position. The distance between the two points is displayed.
- Sphere - create a sphere by creating a discrete set of points on the surface of a sphere and then creating a mesh on them.
- Center - the coordinate of the center of the sphere
- Radius - the radius of the sphere
- Theta Resolution - how many points to use on cross sections of the sphere in the XY plane. You can see what is going on by switching to wireframe mode.
- Start Theta - the angle from +x (in the counter clockwise direction) in the XY plane to start creating points on the sphere. If this is > 0, there will be a "cut" out of the sphere
- End Theta - the angle from +x (in the clockwise direction) in the XY plane to finish creating points on the sphere. If this is < 360, there will be a "cut" out of the sphere
- Phi Resolution - how many points to use (minus the poles) on the cross sections of the sphere in the XZ plane. You can see what is going on by switching to wireframe mode.
- Start Phi - the angle from +z to start the sphere. There will be a missing "cap" on the top of the sphere if this is >0.
- End Phi - the angle from -z to finish the sphere. There will be a missing "cap" on the bottom of the sphere if this is < 180.
- Arrow - Create an arrow. The arrow always has length 1. It is commonly used as a glyph source, so the final length of the arrow is determined by a scaling factor. To change the size of an arrow, use the "scaling" in the display tab of the object inspector or apply a transform filter.
- Tip Resolution - The number of faces which are used to draw the tip. The more faces, the "rounder" the tip will look.
- Tip Radius - The width of the tip.
- Tip Length - The proportional size of the arrow tip to the whole arrow.
- Shaft Resolution - The number of faces used to draw the cylinder (shaft) of the arrow. The more faces, the "rounder" the cylinder will be.
- Shaft Radius - The width of the cylinder (shaft) of the arrow.
ParaView In Use
- Some examples of how ParaView is used
- Screenshots generated by ParaView
Documentation
Compile/Install
Server Setup
Generating Data
Python Scripting
Animation
Plugins
|
Other Features
Books and Tutorials
|
Design & Implementation
ParaView based Applications
Miscellaneous
|
Wiki Sandbox
Developers Corner
Mailing List
The developers mailing list is here: http://public.kitware.com/mailman/subscribe/paraview-developers This should be used for questions about modifying the Paraview code, not using Paraview.
Pitfalls
- When writing a VTK filter for use with Paraview, any variable declarations involving vtkSmartPointer in the filter's header file must be wrapped in BTX ETX tags to tell the parser to ignore these lines. As an example:
<source lang="cpp"> private: //BTX vtkSmartPointer<vtkPolyData> Source; vtkSmartPointer<vtkPolyData> Target; vtkSmartPointer<vtkIterativeClosestPointTransform> ICPTransform; //ETX </source>
If these tags are not added, when building the plugin you will get an error: <source lang="text">
- SYNTAX ERROR found in parsing the header file vtkICPFilter.h before line 34 ***
</source>
- TypeRevisionMacro
If you get an error like: <source lang="text"> vtkICPFilterClientServer.cxx:97: error: invalid conversion from ‘vtkYourFiltersSuperClass*’ to ‘vtkYourFilter*’ </source>
For example: <source lang="text"> vtkICPFilterClientServer.cxx:97: error: invalid conversion from ‘vtkPolyDataAlgorithm*’ to ‘vtkICPFilter*’ </source>
You need to add this: <source lang="cpp"> vtkTypeRevisionMacro(vtkYourFilter,vtkYourFiltersSuperClass); </source> In this example: <source lang="cpp"> vtkTypeRevisionMacro(vtkICPFilter,vtkPolyDataAlgorithm); </source>
to the public: section of vtkYourFilter.h.