Paraview and Python Paraview Offers Rich Scripting Support Through Python

Paraview and Python Paraview Offers Rich Scripting Support Through Python

Version 4.0 Contents Articles Introduction 1 About Paraview 1 Loading Data 9 Data Ingestion 9 Understanding Data 13 VTK Data Model 13 Information Panel 23 Statistics Inspector 27 Memory Inspector 28 Multi-block Inspector 32 Displaying Data 35 Views, Representations and Color Mapping 35 Filtering Data 70 Rationale 70 Filter Parameters 70 The Pipeline 72 Filter Categories 76 Best Practices 79 Custom Filters aka Macro Filters 82 Quantative Analysis 85 Drilling Down 85 Python Programmable Filter 85 Calculator 92 Python Calculator 94 Spreadsheet View 99 Selection 102 Querying for Data 111 Histogram 115 Plotting and Probing Data 116 Saving Data 118 Saving Data 118 Exporting Scenes 121 3D Widgets 123 Manipulating data in the 3D view 123 Annotation 130 Annotation 130 Animation 141 Animation View 141 Comparative Visualization 149 Comparative Views 149 Remote and Parallel Large Data Visualization 156 Parallel ParaView 156 Starting the Server(s) 159 Connecting to the Server 164 Distributing/Obtaining Server Connection Configurations 168 Parallel Rendering and Large Displays 172 About Parallel Rendering 172 Parallel Rendering 172 Tile Display Walls 178 CAVE Displays 180 Scripted Control 188 Interpreted ParaView 188 Python Scripting 188 Tools for Python Scripting 210 Batch Processing 212 In-Situ/CoProcessing 217 CoProcessing 217 C++ CoProcessing example 229 Python CoProcessing Example 236 Plugins 242 What are Plugins? 242 Included Plugins 243 Loading Plugins 245 Appendix 248 Command Line Arguments 248 Application Settings 255 List of Readers 264 List of Sources 293 List of Filters 308 List of Writers 397 How to build/compile/install 405 Building ParaView with Mesa3D 414 How to write parallel VTK readers 416 References Article Sources and Contributors 423 Image Sources, Licenses and Contributors 425 Article Licenses License 429 1 Introduction About Paraview What is ParaView? ParaView is an open-source, multi-platform application for the visualization and analysis of scientific datasets, primarily those that are defined natively in a two- or three-dimensional space including those that extend into the temporal dimension. The front end graphical user interface (GUI) has an open, flexible and intuitive user interface that still gives you fine-grained and open-ended control of the data manipulation and display processing needed to explore and present complex data as you see fit. ParaView has extensive scripting and batch processing capabilities. The standard scripting interface uses the widely used python programming language for scripted control. As with the GUI, the python scripted control is easy to learn, including the ability to record actions in the GUI and save them out as succinct human readable python programs. It is also powerful, with the ability to write scripted filters that run on the server that have access to every bit of your data on a large parallel machine. ParaView's data processing and rendering components are built upon a modular and scalable distributed-memory parallel architecture in which many processors operate synchronously on different portions of the data. ParaView's scalable architecture allows you to run ParaView directly on anything from a small netbook class machine up to the world's largest supercomputer. However, the size of the datasets ParaView can handle in practice varies widely depending on the size of the machine that ParaView's server components are run on. Thus people frequently do both, taking advantage of ParaView's client/server architecture to connect to and control the supercomputer from the netbook. ParaView is meant to be easily extended and customized into new applications and be used by or make use of other tools. Correspondingly there are a number of different interfaces to ParaView's data processing and visualization engine, for example the web-based ParaViewWeb [1]. This book does not focus on these nor does it describe in great detail the programmers' interface to the ParaView engine. The book instead focuses on understanding the standard ParaView GUI based application. About Paraview 2 User Interface The different sections of ParaView's Graphical User Interface (GUI) are shown below. Of particular importance in the following discussion are the: • File and Filter menus which allow you to open files and manipulate data • Pipeline Browser which displays the visualization pipeline • Properties panel where you can can control any given module within the pipeline • View area where data is displayed in one or more windows Figure 1.1 ParaView GUI Overview Modality One very important thing to keep in mind when using ParaView is that the GUI is very modal. At any given time you will have one "active" module within the visualization pipeline, one "active" view, and one "active" selection. For example, when you click on the name of a reader or source within the Pipeline Browser, it becomes the active module and the properties of that filter are displayed in the Properties panel. Likewise when you click within a different view, that view becomes the active view and the visibility "eye" icons in the Pipeline Browser are changed to show what filters are displayed within this View. These concepts will be described in detail in later chapters (Multiple Views [2],Pipeline Basics [3],Selection [4]). For now you should be aware that the information displayed in the GUI always pertains to these active entities. About Paraview 3 Features Modern graphical applications allow users to treat the GUI as a document where informations can be queried and used by Copy/Paste from one place to another and that's precisely where we are heading to with ParaView. Typically user can query any Tree/Table/List view widget in the UI by activating that component and by hitting the Ctrl+F or Command+F on Mac keyboard shortcut, while the view widget is in focus. This will enable a dynamic widget showing up which get illustrated in the following screenshot. This search-widget will be closed when the view widget lost focus, or the Esc button is pressed, or the Close button on the search-widget is clicked. Figure 1.2 Searching in lists Figure 1.3 Searching in trees In order to retrieve data from spreadsheet or complex UI, you will need to double click on the area that you are interested in and select the portion of text that you want to select to Copy. The set of screenshots below illustrate About Paraview 4 different selection use case across the UI components. Figure 1.4 Copying time values from Information Tab Figure 1.5 Copying values from trees on the Information Tab Figure 1.6 Copying values from Spreadsheet View About Paraview 5 Figure 1.7 Copying values from Information Tab Basics of Visualization Put simply, the process of visualization is taking raw data and converting it to a form that is viewable and understandable to humans. This enables a better cognitive understanding of our data. Scientific visualization is specifically concerned with the type of data that has a well-defined representation in 2D or 3D space. Data that comes from simulation meshes and scanner data is well suited for this type of analysis. There are three basic steps to visualizing your data: reading, filtering, and rendering. First, your data must be read into ParaView. Next, you may apply any number of filters that process the data to generate, extract, or derive features from the data. Finally, a viewable image is rendered from the data and you can then change the viewing parameters or rendering modality for best the visual effect. The Pipeline Concept In ParaView, these steps are made manifest in a visualization pipeline. That is, you visualize data by building up a set of modules, each of which takes in some data, operates on it, and presents the result as a new dataset. This begins with a reader module that ingests data off of files on disk. Reading data into ParaView is often as simple as selecting Open from the File menu, and then clicking the glowing Accept button on the Properties panel. ParaView comes with support for a large number of file formats [5], and its modular architecture makes it possible to add new file readers [6]. Once a file is read, ParaView automatically renders it in a view. In ParaView, a view is simply a window that shows data. There are different types of views, ranging from qualitative computer graphics rendering of the data to quantitative spreadsheet presentations of the data values as text. ParaView picks a suitable view type for your data automatically, but you are free to change the view type, modify the rendering parameters of the data in the view, and even create new views simultaneously as you see fit to better understand what you have read in. Additionally, high-level meta information about the data including names, types and ranges of arrays, temporal ranges, memory size and geometric extent can be found in the Information tab. You can learn a great deal about a given dataset with a one element visualization pipeline consisting of just a reader module. In ParaView, you can create arbitrarily complex visualization pipelines, including ones with multiple readers, merging and branching pipelines. You build up a pipeline by choosing the next filter in the sequence from the Filters menu. Once you click Accept, this new filter will read in the data produced by the formerly active filter and perform some processing on that data. The new filter then becomes the active one. Filters then are created differently from but operate in the same manner as readers. At all points you use the Pipeline Inspector to choose the active filter and then the Properties panel to configure it. The Pipeline Browser is where the overall visualization pipeline is displayed and controlled from. The Properties panel is where the specific parameters of one particular module within the pipeline are displayed and controlled from.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    433 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us