Scripting
The following sections discuss the different types of scripting. available in ParaView, in order of increasing complexity.
- The Calculator filter allows users to easily generate new scalar and vector data values in the visualization pipeline. While it doesn't use the Python scripting language, understanding this filter is a prerequisite for understanding the Python Calculator filter.
- The Python Calculator filter allows the results of a one line Python script to be stored as a data array in the visualization pipeline. The script can use functionality from the popular NumPy and SciPy libraries to perform the calculation.
- The Python Shell provides easy access to high level commands that wrap many of the most popular functionalities in ParaView. Python commands can be issued interactively in the shell, or a saved script can be loaded and executed there. Reusing scripts can save time when users must repeatedly perform the same actions in ParaView.
- The Programmable Source pipeline node allows users to generate both geometry and data arrays in the visualization pipeline using the API of the Visual ToolKit (VTK). Programmable Sources are often used to implement readers for proprietary data formats.
- The Programmable Filter pipeline node allows users to manipulate both the geometry and data arrays of the visualization pipeline using the API of the VTK. Programmable Filters can perform customized geometry and data manipulations that are not provided by ParaView's installed filters.
- The Python View allows users to customize the display of visualization pipeline data. Doing so requires becoming proficient with a separate part of the VTK API that is specific to rendering the pipeline data.
Because each of these subjects is quite deep, the following sections only attempt to introduce the fuctionality, not explain it in its entirety. Where possible, examples are used to demonstrate simple applications of the functionality. Links are provided to other resources that contain more detailed information on each subject.