ParaView/Users Guide/Plugins: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
No edit summary
Line 24: Line 24:


== Included Plugins ==
== Included Plugins ==
ParaView comes with a collection of plugins.
ParaView comes with a collection of plugins that the community has developed.
 
* Analyze NifTI Reader and Writer
* Analyze NifTI Reader and Writer
* [[CoProcessing | CoProcessing]]
** Adds extensions to enable exporting state files that can be used by ParaView [[CoProcessing | CoProcessing]]library.
* Eye Dome Lighting
* Eye Dome Lighting
* H5Part Reader
* H5Part Reader
Line 31: Line 34:
* Moments
* Moments
* Point Sprite
* Point Sprite
** Adds support for rendering glyphs using point-sprites which makes it possible to achieve better frame rates when rendering a large number of glyphs.
* Prism
* Prism
* SLAC Tools
* SLAC Tools
Line 36: Line 40:
* Streaming View
* Streaming View
* Surface LIC
* Surface LIC
** Adds support for Line Integral Convolution over arbitrary surfaces.


== Loading Plugins ==
== Loading Plugins ==

Revision as of 18:39, 26 January 2011

Introduction

ParaView comes with plethora of functionality bundled in: several readers, multitude of filters, quite a few different types of views etc. However, it is not uncommon for developers to add new functionality to ParaView. For example to add support for their new file format, incorporate a new filter, etc. ParaView makes it possible to add new functionlity by using an extensive plugin mechanism.

Plugins can be used to extend ParaView in several ways:

  • Add new readers
  • Add new writers
  • Add new filters
  • Add new GUI components
  • Add new views
  • Add new representations

Plugin Types

Plugins are distributed as shared libraries (*.so on Unix, *.dylib on Mac, *.dll on Windows etc). For a plugin to be loadable in ParaView, it must be built with the same version of ParaView as it is expected to be deployed on. Plugins can be classified into two broad categories:

  • Server-side plugins
These are plugins that extend the algorithmic capabilities for ParaView eg. new filters, readers, writers etc. Since in ParaView data is processed on the server-side, these plugins need to be loaded on the server.
  • Client-side plugins
These are plugins that extend the ParaView GUI eg. property panels for new filters, toolbars, views etc. These plugins need to be loaded on the client.

Oftentimes a plugin has both server-side as well as client-side components to it eg. a plugin that adds a new filter and a property panel that goes with that filter. Such plugins need to be loaded both on the server as well as the client.

Generally, users don't have to worry whether a plugin is a server-side or client-side plugin. Simply load the plugin on the server as well as the client. ParaView will include relevant components from plugin on each of the processes.

Included Plugins

ParaView comes with a collection of plugins that the community has developed.

  • Analyze NifTI Reader and Writer
  • CoProcessing
  • Eye Dome Lighting
  • H5Part Reader
  • Manta
  • Moments
  • Point Sprite
    • Adds support for rendering glyphs using point-sprites which makes it possible to achieve better frame rates when rendering a large number of glyphs.
  • Prism
  • SLAC Tools
  • Sierra Plot Tools
  • Streaming View
  • Surface LIC
    • Adds support for Line Integral Convolution over arbitrary surfaces.

Loading Plugins

There are three ways for loading plugins:

  • Using the GUI (Plugin Manager)
Plugins can be loaded into ParaView using the Plugin Manager accessible from Tools | Manage Plugins/Extensions menu. The Plugin Manager has two sections for loading local plugins and remote plugins (enabled only when connected to a server). To load a plugin on the local as well as remote side, simply browse to the plugin shared library. If the loading is successful, the plugin will appear in the list of loaded plugins. The Plugin manager also lists the paths it searched to load plugins automatically.
The Plugin Manager remembers all loaded plugins, so next time to load the plugin, simply locate it in the list and click "Load Selected" button.
You can set up ParaView to automatically load the plugin at startup (in case of client-side plugins) or on connecting to the server (in case of server-side plugins) by checking the "Auto Load" checkbox on a loaded plugin.
Figure 1: Plugin Manager when not connected to a remote server, showing loaded plugins on the local site.
Figure 2: Plugin Manager when connected to a server showing loaded plugins on the local as well as remote sites.
  • Using environment variable (Auto-loading plugins)
If one wants ParaView to automatically load a set of plugins on startup, one can use the PV_PLUGIN_PATH environment variable. PV_PLUGIN_PATH can be used to list a set of directories (separated by colon (:) or semi-colon (;)) which ParaView will search on startup to load plugins. This enviromnent variable needs to be set on both the client node to load local plugins as well as the remote server to load remote plugins. Note that plugins in PV_PLUGIN_PATH are always auto-loaded irrespective of the status of the "Auto Load" checkbox in the Plugin Manager.
  • Placing the plugins in a recognized location. Recognized locations are:
    • A plugins subdirectory beneath the directory containing the paraview client or server executables. This can be a system-wide location if installed as such.
    • A Plugins subdirectory in the user's home area. On Unix/Linux/Mac, $HOME/.config/ParaView/ParaView<version>/Plugins. On Windows %APPDATA$\ParaView\ParaView<version>\Plugins.