ParaView/Users Guide/Introduction: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
m (moved Users Guide Introduction to ParaView/Users Guide/Introduction: move to satisfy shared wiki namespace convention)
(draft of new introduction chapter)
Line 1: Line 1:
= User Interface =
[[Image:]][[Image:]]
In this chapter, we will discuss the parts of the ParaView user interface. Shown below is the ParaView GUI as it appears at start-up on Windows after an initial data set is loaded.


<center></center>
== What is ParaView? ==
ParaView is an open-source application for visualizing, primarily, two- and three-dimensional data sets. The size of the data sets ParaView can handle varies widely depending on the architecture on which the application is run. The platforms supported by ParaView range from single-processor workstations to multiple-processor shared-memory supercomputers or workstation clusters. Using a parallel machine, ParaView can process very large data sets in parallel and later collect the results.


<center>'''Figure 1. Initial ParaView GUI'''</center>


The parts of the main window of the ParaView user interface labeled in the above image will be described in detail in this chapter. Following the sections about the labeled parts of the interface, we will discuss the '''Pipeline Browser''' for moving between data sets in ParaView. Then we will describe some application settings available for ParaView. We will end the chapter by discussing ParaView's rendering parameters.
ParaView is:


Because ParaView is built on top of VTK, it inherits its pipeline architecture. ParaView’s user interface is designed to make connecting the pieces of the pipeline more intuitive. A diagram of the current visualization pipeline is visible in the '''Pipeline Browser'''. Changing the connections in the pipeline can be done by right-clicking a filter in the '''Pipeline Browser''' and selecting '''Change Input''' from the context menu or by selecting '''Change Input''' from the '''Edit''' menu.


== Menus ==
* An open-source, multi-platform visualization application.
[[Image:]]
* That supports distributed computation to process large data sets.
* With an open, flexible, and intuitive user interface.
* All of which is extensible, due to its modular software architecture based on open standards.


There are eight menus in the menu bar at the top of the main ParaView window. The functionality in each of these menus is described below. The '''Filters''' menu is initially grayed out because no data has been loaded; filters can only be applied to data that has been loaded into the application.
== 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 one to open files and manipulate data, the Pipeline Browser which displays the Visualization Pipeline, the Object Inspector with its Properties, Display and Information tabs where one can control any given module within the pipeline, and the View area where data is displayed in one or more windows.


=== File Menu ===
<center>[[Image:]]</center>


<center>'''Figure 2. File menu'''</center>
== 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 allows us to get 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.


The '''File''' menu handles various tasks involving loading data, saving data, and server connections. Each entry in the '''File''' menu is described below.


'''Open''': This allows you to load data files. The data file formats ParaView supports are described in section Error: Reference source not found, Error: Reference source not found.
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.


'''Recent Files''': If you have previously loaded data into ParaView, a list of the most recently opened files will be available from the '''Recent Files''' submenu. Files are listed according to the server connection used when they were last loaded. Selecting a file from this submenu will load it into ParaView.
== The Pipeline Concept ==
In ParaView, these steps are made manifest in a Visualization Pipeline. That is one visualizes 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 who‚Äôs task it is to ingest data off of files on disk.  


'''Load State''' and '''Save State''': These entries handle saving and loading ParaView state files. These files capture the current state of the ParaView server manager, allowing the user to recreate a particular visualization and restore the state of the ParaView application.


'''Save Data''': This menu option allows you to save the data you are currently visualizing to a data file. ParaView allows you to save your data in a variety of data file formats. See section Error: Reference source not found.
<nowiki>Reading data into ParaView is often as simple as selecting Open from the File menu, and then clicking the glowing “Accept” button on the reader’s Object Inspector tab. ParaView comes with support for a large number of file formats, and its modular architecture makes it possible to add new file readers. See chapter <OPEN, READERS and WRITING NEW READERS> chapters for more information.</nowiki>


'''Save Screenshot''': This allows you to save the selected view (highlighted in red) to an image file. ParaView supports saving images in several standard image formats: PNG, BMP, TIFF, PPM, and JPG. Saving the view image to a PDF is also supported.


'''Save Animation''': This menu option allows you to save the result of an animation. The animation can be saved as a series of images (JPEG, TIFF, or PNG) or as an AVI movie file.
Once a file is read into ParaView, it will automatically be rendered 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 modify the rendering parameters, change the view type and even create new views simultaneously as you see fit to better understand what you’ve 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, which we will discuss below.


'''Save Geometry''': This entry allows you to save the geometry created by an animation in the PVD file format.


'''Connect''': Connect the ParaView client to a ParaView server. This menu option will disconnect ParaView from the server that it is connected to, and establish a new connection with a server that you choose. Chapter Error: Reference source not found describes the client and server components of ParaView and dialog that this button initiates to let you choose a server in detail.
One can learn a great deal about a given dataset with a one element Visualization Pipeline consisting of just a reader module. You can learn much more, and in fact perform arbitrarily complex analyses and data manipulations, by adding modules to the pipeline. In ParaView you can create arbitrarily complex visualization pipelines, including multiple readers, and merging and branching pipelines, by working with the Pipeline Inspector and Object Inspectors to add each module that you want in turn.


'''Disconnect''': Disconnect the ParaView client from a ParaView server, and establish a connection with the builtin server. Whenever you disconnect from a server, the server process is shut down and the datasets in its memory are destroyed. Before actually disconnecting, ParaView displays a dialog box that gives you the chance to verify that you have not attempted to disconnect accidentally.


'''Exit''': This last item on the '''File''' menu closes the ParaView application. Clicking the '''X''' in the upper right corner of the application window has the same effect.
The Pipeline Browser is where the overall Visualization Pipeline is displayed and controllable from. The Object Inspector is where the specific parameters of one particular module within the Pipeline are displayed and controllable from. The Object inspector has three tabs, one presents the parameters of the processing done within that module, another presents the parameters of how the output of that module will be displayed in a View, the last presents the meta information about the data produced by the module as described above.


=== Edit Menu ===
<center>[[Image:]]</center>


<center>'''Figure 3. Edit menu'''</center>
To add modules to the Visualization Pipeline, begin by selecting one or more modules in the pipeline inspector, the reader module for example. Next select the entry in the Filters menu that corresponds to the manipulation that you want to perform. Selecting a filter adds a new element to the Pipeline Browser and updates the Object Inspector to work with it. Change any of the parameters you need and then click accept to make it happen. Now the new data produced by the new filter will now be visible in the View.


'''Undo/Redo''': Undo the last action (or redo the last undone action) performed in ParaView not related to changing the point of view or orientation for viewing data in a 3D view. This is the same functionality provided by the Undo/Redo controls toolbar.


'''Undo/Redo Camera''': Undo the last camera-related action (or redo the last undone action of this type). Camera-related actions include changing the viewpoint for looking at the data in the 3D scene (rotating, panning, zooming, selecting one of the axis-aligned views) or changing the orientation for viewing the data (rolling).
<nowiki>There are more than one hundred filters available to choose from in total, all of which manipulate the data in different ways. The full list of filters is available in chapter <FILTER LIST CHAPTER> and within the application under the help menu<SPECIFIC LOCATION IN NEW HELP>. Note that many of the filters in the menu will be grayed out and not selectable at any given time. That is because any given filter may only operate on particular types of data. For example the <FILTER NAME> will only operate on <DATA TYPE> data so it is only enabled when the module you are building on top of produces <DATA TYPE> data. In this situation you can often find a similar filter which does accept your data, or apply a filter which transforms you data into the required format. The mechanics of applying filters are described fully in Chapter <FILTER CHAPTER>.</nowiki>


'''Change Input''': Choose a new input for the item selected in the '''Pipeline Browser'''. This only works for filters in the pipeline since sources and readers do not have inputs. The user interface for choosing a new input is discussed in section 1.6 later in this chapter.
== Making Mistakes ==
Frequently, new users of ParaView falter when they open their data, or apply a filter, and do not see it because they have not pressed the Accept button. Because ParaView is designed to operate on large data sets, for which any given operation could takes several minutes to perform, the apply button gives you a chance to make sure your change makes sense before it takes effect. The highlighted button is a reminder that the parameters of one or more pipeline objects are ``out of sync'' with the data that you are viewing. <nowiki>Hitting the Apply button accepts your change (or changes) whereas hitting the Reset button will revert the options back to the last time they were applied. If you are working with small data sets, feel free to turn off this behavior with the <INSERT PATH TO AUTO_APPLY OPTION>.</nowiki>


'''Delete''': Remove the item selected in the '''Pipeline Browser''' from the visualization pipeline. This can only be done if the selected item is at the end of the pipeline (i.e., no filters are connected to it).


'''Delete All''': This option removes any readers, sources, or filters you have created. This is the equivalent of going to the '''Properties''' tab for each data set and pressing the '''Delete''' button or selecting each data set in the '''Pipeline Browser''' and selecting '''Delete''' from the '''View''' menu (see above) for it
<nowiki>The apply behavior prevents a great number of mistakes but certainly not all of them. If you make apply some change to a filter or to the data processing pipeline itself and find that you are not satisfied with the result, you may undo your change with the Undo button. You can undo all the way back to the start of your ParaView session and redo all the way forward if you like. <INSERT PATH TO UNDO/REDO>. You can also undo and redo camera motion by using the camera undo and redo buttons located above each View window.</nowiki>


'''Interact''': Click and drag in a 3D view to change the point of view or orientation for viewing the data set. Changing which mouse and key bindings are associated with which interactions is discussed in section Error: Reference source not found.
== Persistent Sessions ==
<nowiki>If on the other hand you are satisfied with your visualization results, you may want to save off the session so that you can return to it at some future time. You can do so by using ParaView’s Save State and Save Trace features. In either case, ParaView produces human readable text files (XML files for State and Python Scripts for Trace) that can be modified and played later. This is very useful for batch processing, which is discussed in chapter <BATCH PROCESSING AND SCRIPTING CHAPTERS>.</nowiki>


The next four entries in the '''View''' menu change ParaView’s mouse interaction mode so that clicking and dragging in a 3D view draws a selection rectangle. Which points or cells are selected depends on which mode is chosen. Regardless, the appearance of the selection can be specified using the '''Selection Inspector''', discussed later in this chapter.


'''Select Cells On''': Draw a selection rectangle to select cells located on the surface of a data set.
To save state means to save enough information about the ParaView session to restore it later and thus show exactly the same result. ParaView does so by saving the current visualization pipeline and the parameters of the filters within it.  


'''Select Points On''': Draw a selection rectangle to select points located on the surface of a data set.


'''Select Cells Through''': Draw a selection rectangle to select cells through a data set regardless of their depth relative to the visible surface.
<nowiki>If you turn on a trace recording when you first start using ParaView, saving a trace can be used for the same purpose as saving state. However, a trace records all of your actions, including the ones that you later undo, as you do them. It is a more exact recording then of not only what you did, but how you did it. Traces are saved as python scripts, which ParaView can play back in either batch mode or within an interactive GUI session. You can use traces then to automate repetitive tasks by recording just that action. It is also an ideal tool to learn ParaView’s python scripting API. <REFERENCE SCRIPTING CHAPTER></nowiki>


'''Select Points Through''': Draw a selection rectangle to select points through a data set regardless of their depth relative to the visible surface.


'''Settings''': Selecting this option displays a dialog box that controls the settings for the ParaView application as a whole. In the left column of the dialog box is a tree structure for selecting which settings to view and/or change.
== Client/Server Visualization ==
 
With small datasets it is usually quite sufficient to run ParaView as a single process on a small laptop or desktop class machine. For large data sets, a single machine is not likely to have enough processing power and much more importantly memory to process the data. In this situation one runs an MPI parallel ParaView Server process <nowiki>on a large machine to do computationally and memory expensive data processing and optionally rendering tasks and then connects to that with the familiar GUI application. In this mode the only differences you will see will be that the Visualization Pipeline displayed in the Pipeline Browser will begin with the name of the server you are connected to rather than the word “builtin” which indicates that you are connected to a virtual server that lives within the same process as the client’s GUI. When connected to a remote server, the File Open dialog presents the list of files that live on the remote machine’s file system rather than the client’s. In this mode data can will be rendered by either the remote system or the local machine based dependent on the memory requirements of the visible data. Large data visualization is described fully in Chapter <REMOTE VIS CHAPTER>.</nowiki>
<center>[[Image:]]</center>
 
<center>'''Figure 4. General settings'''</center>
 
When '''General''' is selected in the left column, there is only one control in the main portion of the dialog. It is a drop-down menu for selecting which type of rendering view is the default. The options are '''3D View''', '''Bar Chart''', '''XY Plot''', '''3D View (Comparative)''', and '''Spreadsheet View'''. These different types of views are discussed later in this chapter. The initial value for '''Default View''' is '''3D View'''.
 
<center>[[Image:]]</center>
 
<center>'''Figure 5. General Render View settings'''</center>
 
'''Use Immediate Mode Rendering''': If immediate mode rendering is not used, then display lists are used during rendering. Display lists can improve rendering speed for small data sets or those whose geometry does not change. For cases other than these, using display lists can slow rendering times because of the memory they consume and the overhead of re-creating them.
 
'''Use triangle strips''': If this option is selected, then the triangles in your data set will be combined into triangle strips before they are drawn. This may improve rendering speed. However, it also changes how normals are generated during the rendering process if your data set does not already contain them, so the shading of the data set will be different depending on whether this option is selected. Also, you can not currently color by cell-centered attributes properly when triangle strips are enabled.
 
The '''LOD Parameters''' (in '''Render View, General''' settings) are described in section Error: Reference source not found.
 
The '''Camera''' settings of the '''Render View''' section are discussed in section Error: Reference source not found. These settings control the mapping between mouse movements and interactions in the 3D view.
 
The '''Server''' settings of the '''Render View''' section are discussed in sections Error: Reference source not found and Error: Reference source not found. These settings control various properties of remote rendering.
 
'''View Settings''': The '''View Settings''' entry in the '''Edit''' menu displays a dialog for changing properties of the selected view. The contents of this dialog change depending on which view type is selected. The various view types are discussed in chapter Error: Reference source not found.
 
=== View Menu ===
<center>[[Image:]]</center>
 
<center>'''Figure 6. View menu'''</center>
 
ParaView’s '''View''' menu controls which inspectors and views are displayed in the ParaView user interface. (See the next section for a description of inspectors and views.)
 
'''Camera''': Using the entries in this submenu, you can position the camera (viewing position) to view the 3D scene from any of the six major viewing directions. The first entry, Reset, positions the camera so that the objects in the selected view are all within the viewing frustum, making everything visible so long as it is not behind another object in the scene.
 
'''Show Center''': Toggle the visibility of the axes marking the center of rotation.
 
'''Reset Center''': Reposition the center of rotation so that it is at the center of the bounds of the data set selected in the '''Pipeline Browser'''.
 
'''Pick Center''': Left-click in the 3D view to select the center of rotation. If you click on a data set, the center of rotation will lie on the surface of the data set located at the location you clicked.
 
'''Show Color Legend''': Toggle the visibility of the color legend (scalar bar) for the selected data set in the selected view. The range of values displayed in the color legend is determined by the scalar or vector array chosen for coloring the selected data set.
 
'''Toolbars''': This submenu lists the various toolbars available in ParaView and allows you to toggle the visibility of each. See the Toolbars section later in this chapter for a description of each toolbar.
 
'''Animation Inspector''': The '''Animation Inspector''' provides a means for adding and editing time frames in an animation. Please see section Error: Reference source not found for more information.
 
'''Animation View''': The Animation View displays a timeline viewer for animation in ParaView. Such an interface should be fairly familiar to users of movie creation software. Please see section Error: Reference source not found for more information.
 
'''Comparative View Inspector''': The Comparative View Inspector provides controls for setting up a comparative visualization: rendering in a multi-paned 3D view where each pane shows the output of the visualization pipeline with a different setting for one or two visualization parameters. Please see section Error: Reference source not found for more information.
 
'''Selection Inspector''': The '''Selection Inspector''' entry toggles the visibility of the '''Selection Inspector''' in ParaView’s user interface. See section Error: Reference source not found for more information about the '''Selection Inspector'''.
 
The next two entries in the '''View''' menu relate to lookmarks. The purpose of lookmarks is to save and restore particular views of one or more datasets.
 
'''Lookmark Browser''': The '''Lookmark Browser''' may be shown or hidden using its entry in the View menu; it is also available from the right-click menu in the '''Lookmarks''' toolbar. It contains a list of all lookmarks available in the current ParaView session, and it is useful for the reasons listed below. Using the buttons at the top of the browser, you may export (to a file) or delete multiple lookmarks at once as well as import lookmarks from a file. Importing lookmarks will concatenate them to the end of the '''Lookmark Browser'''. Double-clicking an item in the browser will apply that lookmark to the selected view. Finally, if the '''Lookmark Inspector''' (see next item) is open at the same time as the '''Lookmark Browser''', the inspector will display the properties of the lookmark currently selected in the browser.
 
<center>[[Image:]]</center>
 
<center>'''Figure 7. An example lookmark browser.'''</center>
 
'''Lookmark Inspector''': The '''Lookmark Inspector''' displays the properties of a lookmark. The lookmark that it displays is changed by either selecting a new item in the '''Lookmark Browser''' or by choosing '''Edit''' in the right-click menu of an item in the '''Lookmarks''' toolbar. From the '''Lookmark Inspector''', you can apply the lookmark in the active view or delete it entirely by using the buttons at the top. The '''Pipeline View''' portion of the lookmark inspector displays the pipeline that has been saved in the lookmark and that will be generated when the lookmark is applied. The name and description of a lookmark can be edited, but the '''Save''' button must be pressed for these changes to take effect. The user also has control over two properties of how lookmarks behave when they are applied. When a lookmark is created, the time value and camera properties in the selected view (highlighted in red) are stored in the lookmark. When the lookmark is applied, these saved values (time value and/or camera properties) can be restored. This behavior is controlled by two checkboxes at the bottom of the '''Lookmark Inspector'''. By default, neither of these values is applied with the lookmark. If you select or deselect one of these checkboxes, then the '''Save''' button must be pressed for the changes to take effect the next time the lookmark is applied.
 
<center>[[Image:]]</center>
 
<center>'''Figure 8. Lookmark Inspector interface.'''</center>
 
'''Object Inspector''': Toggle the visibility of the panel containing the '''Properties''', '''Display''', and '''Information''' tabs corresponding to the data set selected in the '''Pipeline Browser'''. See chapter Error: Reference source not found for more information about the '''Object Inspector'''.
 
'''Pipeline Browser''': This entry from the '''View''' menu turns on/off the '''Pipeline Browser''', the user interface component that shows the names of the data sets and filters currently loaded in ParaView and the connections between them. See section 1.6 later in this chapter for more information about the '''Pipeline Browser'''.
 
'''Statistics View''': Selecting this entry toggles the visibility of the '''Statistics View'''. This view lists basic statistical information for each instance of a reader, source, or filter used in the current ParaView session, including its name several pieces of information about its output (i.e., the dataset type, the number of cells and points, the amount of memory it consumes, and its spatial bounds).
 
<center>[[Image:]]</center>
 
<center>'''Figure 9. Statistics View'''</center>
 
=== Sources Menu ===
<center>[[Image:]]</center>
 
<center>'''Figure 10. Sources menu'''</center>
 
The '''Sources''' menu lists the various sources you can use to create data sets within ParaView. In ParaView, a source is an object that creates data without using another data set as input or reading data from a file. For example, the '''Cone''' source creates a cone in the 3D scene. User interface controls are provided to manipulate the parameters of the cone. Each of the sources is described in detail in Appendix Error: Reference source not found.
 
=== Filters Menu ===
The '''Filters''' menu provides access to the filters you can apply to data sets in ParaView. It contains the following submenus: '''Recent''', '''Common''', '''Data Analysis''', and '''Alphabetical'''. The '''Recent''' submenu lists the filters (up to 10) that you have most recently added to the visualization pipeline, allowing easier access to the filters you use most frequently. The '''Common''' submenu lists the same filters that are available on the '''Filters''' toolbar, described later in this chapter. These are filters that most ParaView users will use often. The filters listed in the '''Data Analysis''' submenu are useful for analyzing quantitative aspects of a data set. The '''Alphabetical''' submenu lists all the filters available in ParaView in alphabetical order. The state of the entries (enabled or disabled) in these submenus changes based on the characteristics of the current data set such as the data set type (polygonal, rectilinear, etc.) and information about the associated point- and cell-based data. (See section Error: Reference source not found for information about the data set types ParaView supports.) The '''Filters''' menu is inactive until a data set has been created in ParaView. Appendix Error: Reference source not found contains a description of each of the filters in ParaView.
 
<center>[[Image:]]</center>
 
<center>'''Figure 11. Filters menu'''</center>
 
=== Animation Menu ===
<center>[[Image:]]</center>
 
<center>'''Figure 12. Animation menu'''</center>
 
The entries in this menu control moving between frames in an animation that has already been created. Please see chapter Error: Reference source not found for more information about creating animations in ParaView.
 
'''First Frame''': Go to the beginning of the animation.
 
'''Previous Frame''': Go to the previous frame in the animation.
 
'''Play''': Play the animation.
 
'''Next Frame''': Go to the next frame in the animation.
 
'''Last Frame''': Go to the end of the animation.
 
'''Loop''': When pressed, the animation plays in a loop. To stop the looping behavior, press this button again. The animation will stop when the end of the animation is reached.
 
=== Tools Menu ===
<center>[[Image:]]</center>
 
<center>'''Figure 13. Tools menu'''</center>
 
'''Create Custom Filter''': Group one or more filters and their properties into a reusable macro with a name you assign. Through a series of dialogs, you may choose which properties of the filter(s) to expose. When you finish, the new filter is listed in the '''Alphabetical''' submenu of the '''Filters''' menu with the name you assigned it.
 
'''Manage Custom Filters''': This dialog box lists any custom filters currently loaded into ParaView. From it, you may import custom filters previously saved to a file, export one or more of the ones in the list to a file, or remove any custom filters listed.
 
'''Create Lookmark''': Selecting '''Create Lookmark''' from the '''Tools''' menu will create a lookmark of the active view (highlighted in red). The user must enter a unique name for the lookmark in the dialog box that appears and can (optionally) add a text description that will be stored with the lookmark. Clicking the '''Create''' button will store a copy of the lookmark. Lookmarks created in one ParaView session are available in subsequent ParaView sessions unless they are deleted.
 
<center>[[Image:]]</center>
 
<center>'''Figure 14. Dialog for creating a new lookmark.'''</center>
 
'''Manage Links''': From the dialog that appears, you can create property, object, or camera links. You can also edit or remove existing links.
 
<center>[[Image:]]</center>
 
<center>'''Figure 15. Link Manager dialog'''</center>
 
A property link causes a single property of two different objects to have the same value. For example, you could link the center of a sphere object with that of a cone object. When the center of one of these objects changes, the center of the other will be updated accordingly.
 
<center>[[Image:]]</center>
 
<center>'''Figure 16. Link the radius of the cone source to the radius of the cylinder source.'''</center>
 
An object link causes all of the properties of a given object to be linked to all of the properties of another object. This only makes sense if you have two instances of the same object.
 
Camera links can also be created using '''Manage Links'''<nowiki>; </nowiki>'''Add Camera Link''' (see below) is a shortcut.
 
'''Add Camera Link''': A camera link connects the camera (viewpoint) of two different 3D views so that you are viewing both scenes from the same 3D point and looking in the same direction. This menu option creates a camera link from the active view (highlighted in red) to the one you select (by clicking it after you select the menu option). This functionality is also available by right-clicking on a 3D view. In the Link Manager (see above), a camera link is listed as an object link between two render views.
 
'''Manage Plugins''': From this dialog, you may load server-side or client-side plugins previously created. Server-side plugins create VTK objects on the server(s); client-side plugins add new user interface elements.
 
'''Dump Widget Names''': This menu option displays a list of all the Qt widgets being used. This is useful in debugging and testing for making sure all the widgets have reasonable names.
 
'''Record Test''': This entry allows you to record a ParaView test as either XML or Python. You will first be asked to enter a file name and choose the file type. Then a dialog box will appear listing the full path to the test. It also has a '''Stop Recording''' button. Perform whatever actions you wish to have recorded in the test as you normally would in ParaView. When you are finished, click '''Stop Recording'''. A test file will be saved using the path and file name you specified.
 
<center>[[Image:]]</center>
 
<center>'''Figure 17. Dialog indicating a test is being recorded.'''</center>
 
'''Record Test Screenshot''': Typically this option is used after the '''Play Test''' option (see below). It captures a 300x300 pixel image of the selected view and saves it with the file name you specify. This is useful for creating a valid image for regression testing.
 
'''Play Test''': When you select this item, you choose a file containing either an XML or Python test -- typically one you recorded previously with the '''Record Test''' option in this menu. When you load the file, ParaView plays through the test contained in it.
 
'''Max Window Size: 300x300''': When you record a screenshot for a test in ParaView, the image resolution is 300 x 300. If you want to use mouse interactions in the 3D view in the test, you may want to first use this menu option to force the rendering window in the 3D view to be 300 x 300. This is because ParaView stores mouse interactions in normalized coordinates, and if the interactions are captured in a 300 x 300 window, they will be exactly the same during playback of the test as they were during test recording. If you do not use this option, the results of the interactions may be a little different than what you expect.
 
'''Timer Log''': Choosing this menu option causes a timer log dialog box to be displayed as shown below. It keeps track of the amount of time various operations take to complete. If you leave this dialog open while ParaView is running, you may click the '''Refresh''' button to show the most up-to-date timing information. The '''Clear''' button removes all the information currently in the timer log. You may set the '''Timer Threshold''' to indicate how often to record new timer events. The '''Buffer Length''' indicates how many events to keep in the log; earlier entries will be removed first. Additionally, you may save the contents of the timer log to a text file using the '''Save''' button.
 
<center>[[Image:]]</center>
 
<center>'''Figure 18. Timer log for viewing the amount of time required for performing certain operations.'''</center>
 
'''Output Window''': Any errors or warnings ParaView produces are shown in the '''Output Window'''. This window appears when an error or warning occurs, but this menu entry allows you to view the list of messages any time you wish to see it. At the bottom of the output window is a '''Clear''' button to delete its contents. There is also a '''Close''' button which simply closes the dialog.
 
'''Python Shell''': This menu item displays a dialog for entering Python commands to create and/or control most aspects of the ParaView application including readers, sources, filters, writers, representations, views, etc. Please see chapter Error: Reference source not found for more information about Python scripting in ParaView.
 
=== Help Menu ===
<center>[[Image:]]</center>
 
<center>'''Figure 19. Help menu'''</center>
 
The '''Help''' menu contains options for displaying various types of information about the ParaView application.
 
'''About''': This entry displays a dialog box containing information about the current version of ParaView.
 
'''Help''': This entry displays ParaView’s on-line help.
 
'''Enable Tooltips''': Toggle the visibility of the help balloons that appear when the mouse is resting over a user interface element.
 
== Inspectors and Views ==
Most of the user interface controls in ParaView are displayed in movable panels within the ParaView main window. These panels contain either inspectors or views. An inspector allows you to modify the properties of some associated object. Views only display information; they do not allow you to change the information shown.
 
The '''Object Inspector''' has tabs across the top so that multiple pages are accessible. The contents of the '''Object Inspector''' changes based on the reader, source, or filter selected in the '''Pipeline Browser'''. The '''Object Inspector''' is discussed in detail in chapter Error: Reference source not found. Which inspectors and views are shown depend on the selection(s) in the bottom half of the '''View''' menu; there are many different types of views and inspectors used in various aspects of the ParaView application.
 
At the on-screen divisions between views and/or inspectors, there is a separation bar; the mouse cursor changes to indicate the bar can be moved vertically or horizontally. By left-clicking and dragging this bar, you can change the width or height of one inspector or view with respect to the others surrounding it. Additionally, the views and inspectors listed in the '''View''' menu may be repositioned ParaView’s user interface or moved into a separate window by left-clicking and dragging in the title bar for the view or inspector. The positions of two the rendering views (3D View, Spreadsheet View, etc.) may be swapped by dragging the title bar of one to the title bar of another, but these views may not be separated from the main ParaView application window.
 
Sometimes the contents of a inspector or view may need more vertical space than is available in the ParaView window. When this happens, a vertical scroll bar will be displayed on the right side of the inspector or view. Additionally, many of the main sections of the user interface have a [[Image:]] (minimize) button in the upper left corner. Clicking this [[Image:]] hides the contents of that portion of the interface. The [[Image:]] is replaced with [[Image:]] (maximize button). Clicking the [[Image:]] button expands that portion of the user interface again.
 
 
 
<center>'''Figure 20. Section of user interface shown expanded and minimized'''</center>
 
== Toolbars ==
<center>[[Image:]]</center>
 
By default, all of ParaView’s toolbars are enabled. The various controls are grouped into toolbars based on their functionality. The visibility of each toolbar may be toggled by selecting / deselecting the entries in the '''Toolbars''' submenu of the '''View''' menu.
 
=== Main Controls Toolbar ===
[[Image:]]
 
[[Image:]]Open a data file to load a dataset into ParaView. Please see section Error: Reference source not found for a list of file formats ParaView can read.
 
[[Image:]]Save the dataset selected in the '''Pipeline Browser''' to a file.
 
[[Image:]]Connect to an existing server or launch a server to which you wish to connect. See the description of the '''Connect''' entry in the '''File''' menu earlier in this chapter for more information.
 
[[Image:]]Disconnect from a server to which you are currently connected. See the description of the '''Disconnect''' entry in the '''File''' menu earlier in this chapter for more information.
 
[[Image:]]Display the on-line help browser.
 
 
=== Selection Controls Toolbar ===
[[Image:]]
 
Please see chapter Error: Reference source not found for more information about selection.
 
[[Image:]]Left-click and drag to rotate the dataset. Middle-click and drag to pan. Right-click and drag to zoom (down to zoom in, up to zoom out).
 
[[Image:]]The cells/elements lying within the selection rectangle on the surface of the dataset are selected.
 
[[Image:]]The points/nodes lying within the selection rectangle on the surface of the dataset are selected.
 
[[Image:]]The cells/elements lying within the selection rectangle all the way through the dataset are selected.
 
[[Image:]]The points/nodes lying within the selection rectangle all the way through the dataset are selected.
 
=== Undo/Redo Controls Toolbar ===
[[Image:]]
 
As you work with ParaView, the program keeps a record of everything you do. The Undo and Redo buttons let you step back and forth through the record of actions. ParaView does not record the data produced by the pipeline at each step, because doing so would quickly consume all available memory. Instead of restoring the data, these buttons cause ParaView to reset its configuration to a recorded state, which causes the visualization pipeline to re-execute.
 
[[Image:]]Undo the last action performed in ParaView.
 
[[Image:]]Redo the last undone action in ParaView.
 
 
=== VCR Controls Toolbar ===
[[Image:]]
 
The buttons in this toolbar are exactly the same as the ones in the '''Animation''' menu discussed earlier in this chapter. When the '''Play''' button is pressed, and the animation starts, the button changes to a '''Pause''' button. Pressing it causes the animation to stop, and it also changes the button back to a '''Play''' button.
 
=== Current Time Controls Toolbar ===
[[Image:]]
 
When active, the entry box on the left of this toolbar allows you to specify a particular time to jump to in an animation. The spin box on the right side of the toolbar allows you to choose a particular time step (by index) in a dataset that supports time. In this case, the text box on the left will contain the time value corresponding to this time step index. Please see chapter Error: Reference source not found for more information about time support in ParaView.
 
=== Active Variable Controls Toolbar ===
[[Image:]]
 
[[Image:]]Toggle the visibility of the color legend (scalar bar) for the active variable in the selected 3D view. The active variable is the one by which the data set is being colored.
 
[[Image:]]Select the active variable in the selected 3D view. This variable is used for coloring the dataset.
 
=== Representation Toolbar ===
[[Image:]]
 
This toolbar contains only a single item: the selection menu for determining how the data set selected in the '''Pipeline Browser''' is rendered in the selected (outlined in red) 3D view. See page Error: Reference source not found for a description of the representation options available.
 
=== Camera Controls Toobar ===
[[Image:]]
 
[[Image:]]Set the viewing position so that all visible datasets in the selected 3D view are within the viewing frustum. The viewing direction is not changed. Some datasets (or portions of them) may not be visible if they are obscured by another dataset closer to the viewing position.
 
[[Image:]]Set the viewing position to view the data in the selected 3D view along the +X axis.
 
[[Image:]]Set the viewing position to view the data in the selected 3D view along the -X axis.
 
[[Image:]]Set the viewing position to view the data in the selected 3D view along the +Y axis.
 
[[Image:]]Set the viewing position to view the data in the selected 3D view along the -Y axis.
 
[[Image:]]Set the viewing position to view the data in the selected 3D view along the +Z axis.
 
[[Image:]]Set the viewing position to view the data in the selected 3D view along the -Z axis.
 
 
=== Center of Rotation Toolbar ===
[[Image:]]
 
The buttons on this toolbar have exactly the same functionality as the '''Show Center''', '''Reset Center''', and '''Pick Center''' entries in '''View''' menu, described earlier in this chapter.
 
=== Common Filters Toolbar ===
[[Image:]]
 
The buttons for the filters in this toolbar are the same as those listed in the '''Common''' submenu of the '''Filters''' menu. They are the calculator filter, contour (or isosurface) filter, clip filter, slice filter, threshold filter, extract subset filter, glyph filter, stream tracer filter, warp (vector) filter, group datasets filter, and extract group filter. A description of each filter can be found in appendix Error: Reference source not found.
 
=== Lookmarks Toolbar ===
One way to access lookmarks in the user interface is through the lookmarks toolbar. It is located on the right side of the ParaView application window by default, and it contains buttons when lookmarks have been created; initially it is empty. It contains an icon for each lookmark. Hovering your mouse over an icon in the toolbar will display the lookmark's name in a help balloon, while right-clicking an icon will give you the option to delete that lookmark, edit its properties (by displaying the '''Lookmark Inspector'''), create a new lookmark (by displaying the '''Create Lookmark''' dialog), or display the '''Lookmark Browser'''. Left-clicking on an icon in the lookmark toolbar will apply that lookmark in the selected view (highlighted in red).
 
== Display Area ==
The display area (by default, to the right of the '''Object Inspector''' and '''Pipeline Browser''') is probably the most important part of the user interface because it shows the current view(s) of the scene, in various possible formats. This portion of the user interface displays the results of the current visualization pipeline. Mouse interaction in the display area varies depending on the type of view that is active (highlighted in red).
 
== Status Bar ==
The status bar at the bottom of the main ParaView window is divided into two sections. The left section displays information about what ParaView is currently doing (e.g., which filter is currently running or a description of the current menu selection). The right part of the status bar contains ParaView’s progress gauge. When a reader, source, or filter could take a non-trivial amount of time to run, the progress gauge shows the percentage of the process that has already been completed.
 
== Pipeline Browser ==
The '''Pipeline Browser''' depicts ParaView’s current visualization pipeline and allows you to easily navigate to the various readers, sources, and filters it contains. (The details of the visualization pipeline are discussed in chapter Error: Reference source not found.) To the left of each entry is an “eye” icon indicating whether that data set is currently visible. A dark icon indicates that the data set is visible; when a data set is invisible, its icon is drawn in light gray. Clicking on the “eye” icon toggles the visibility of the corresponding data set. In this example, '''iron protein.vtk''' and '''Clip1''' are visible, but '''Contour1''' is not. '''Clip1''' is also highlighted in blue, indicating that it is the current data set.
 
<center>[[Image:]]</center>
 
<center>'''Figure 21. Pipeline Browser'''</center>
 
Left-clicking the name of one of the data sets causes it to become the current data set. The '''Object Inspector'''’s '''Properties''', '''Display''', and '''Information''' tabs are updated for the current data set. Double-clicking the name of one of the data sets causes the name to become editable, enabling you to change it to something more meaningful; type a new name for the data set and press Enter.
 
<center>[[Image:]]</center>
 
<center>'''Figure 22. Context menu in Pipeline Browser'''</center>
 
 
Right-clicking a data set’s name displays a menu from which you can load a new data file, create a custom filter, and delete the data set (if it is at the end of the visualization pipeline). For filters, this context menu also has an entry for selecting a new input.
 
<center>[[Image:]]</center>
 
<center>'''Figure 23. Dialog for changing the input to a filter.'''</center>
 
Right-clicking '''Clip1''' from the '''Pipeline Browser''' example shown above and selecting '''Change Input''' causes the '''Input Editor''' to be displayed (shown above). From this dialog, the input to a filter can be changed. In this example, the possibilities for input to the clip filter are '''iron protein.vtk''' and '''Contour1'''<nowiki>; the input editor does not allow the creation of loops in the visualization pipeline, so </nowiki>'''Clip1''' cannot be the input to itself. Left-clicking on one of the possible inputs in the '''Select Source''' window causes the '''Pipeline Preview''' window to show what the contents of the pipeline browser would be if the input was changed in this way. Clicking '''OK''' causes the input to change.

Revision as of 18:45, 28 October 2010

[[Image:]][[Image:]]

What is ParaView?

ParaView is an open-source application for visualizing, primarily, two- and three-dimensional data sets. The size of the data sets ParaView can handle varies widely depending on the architecture on which the application is run. The platforms supported by ParaView range from single-processor workstations to multiple-processor shared-memory supercomputers or workstation clusters. Using a parallel machine, ParaView can process very large data sets in parallel and later collect the results.


ParaView is:


  • An open-source, multi-platform visualization application.
  • That supports distributed computation to process large data sets.
  • With an open, flexible, and intuitive user interface.
  • All of which is extensible, due to its modular software architecture based on open standards.

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 one to open files and manipulate data, the Pipeline Browser which displays the Visualization Pipeline, the Object Inspector with its Properties, Display and Information tabs where one can control any given module within the pipeline, and the View area where data is displayed in one or more windows.


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 allows us to get 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.

The Pipeline Concept

In ParaView, these steps are made manifest in a Visualization Pipeline. That is one visualizes 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 who’s task it is to ingest 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 reader’s Object Inspector tab. ParaView comes with support for a large number of file formats, and its modular architecture makes it possible to add new file readers. See chapter <OPEN, READERS and WRITING NEW READERS> chapters for more information.


Once a file is read into ParaView, it will automatically be rendered 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 modify the rendering parameters, change the view type and even create new views simultaneously as you see fit to better understand what you’ve 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, which we will discuss below.


One can learn a great deal about a given dataset with a one element Visualization Pipeline consisting of just a reader module. You can learn much more, and in fact perform arbitrarily complex analyses and data manipulations, by adding modules to the pipeline. In ParaView you can create arbitrarily complex visualization pipelines, including multiple readers, and merging and branching pipelines, by working with the Pipeline Inspector and Object Inspectors to add each module that you want in turn.


The Pipeline Browser is where the overall Visualization Pipeline is displayed and controllable from. The Object Inspector is where the specific parameters of one particular module within the Pipeline are displayed and controllable from. The Object inspector has three tabs, one presents the parameters of the processing done within that module, another presents the parameters of how the output of that module will be displayed in a View, the last presents the meta information about the data produced by the module as described above.


To add modules to the Visualization Pipeline, begin by selecting one or more modules in the pipeline inspector, the reader module for example. Next select the entry in the Filters menu that corresponds to the manipulation that you want to perform. Selecting a filter adds a new element to the Pipeline Browser and updates the Object Inspector to work with it. Change any of the parameters you need and then click accept to make it happen. Now the new data produced by the new filter will now be visible in the View.


There are more than one hundred filters available to choose from in total, all of which manipulate the data in different ways. The full list of filters is available in chapter <FILTER LIST CHAPTER> and within the application under the help menu<SPECIFIC LOCATION IN NEW HELP>. Note that many of the filters in the menu will be grayed out and not selectable at any given time. That is because any given filter may only operate on particular types of data. For example the <FILTER NAME> will only operate on <DATA TYPE> data so it is only enabled when the module you are building on top of produces <DATA TYPE> data. In this situation you can often find a similar filter which does accept your data, or apply a filter which transforms you data into the required format. The mechanics of applying filters are described fully in Chapter <FILTER CHAPTER>.

Making Mistakes

Frequently, new users of ParaView falter when they open their data, or apply a filter, and do not see it because they have not pressed the Accept button. Because ParaView is designed to operate on large data sets, for which any given operation could takes several minutes to perform, the apply button gives you a chance to make sure your change makes sense before it takes effect. The highlighted button is a reminder that the parameters of one or more pipeline objects are ``out of sync with the data that you are viewing. Hitting the Apply button accepts your change (or changes) whereas hitting the Reset button will revert the options back to the last time they were applied. If you are working with small data sets, feel free to turn off this behavior with the <INSERT PATH TO AUTO_APPLY OPTION>.


The apply behavior prevents a great number of mistakes but certainly not all of them. If you make apply some change to a filter or to the data processing pipeline itself and find that you are not satisfied with the result, you may undo your change with the Undo button. You can undo all the way back to the start of your ParaView session and redo all the way forward if you like. <INSERT PATH TO UNDO/REDO>. You can also undo and redo camera motion by using the camera undo and redo buttons located above each View window.

Persistent Sessions

If on the other hand you are satisfied with your visualization results, you may want to save off the session so that you can return to it at some future time. You can do so by using ParaView’s Save State and Save Trace features. In either case, ParaView produces human readable text files (XML files for State and Python Scripts for Trace) that can be modified and played later. This is very useful for batch processing, which is discussed in chapter <BATCH PROCESSING AND SCRIPTING CHAPTERS>.


To save state means to save enough information about the ParaView session to restore it later and thus show exactly the same result. ParaView does so by saving the current visualization pipeline and the parameters of the filters within it.


If you turn on a trace recording when you first start using ParaView, saving a trace can be used for the same purpose as saving state. However, a trace records all of your actions, including the ones that you later undo, as you do them. It is a more exact recording then of not only what you did, but how you did it. Traces are saved as python scripts, which ParaView can play back in either batch mode or within an interactive GUI session. You can use traces then to automate repetitive tasks by recording just that action. It is also an ideal tool to learn ParaView’s python scripting API. <REFERENCE SCRIPTING CHAPTER>


Client/Server Visualization

With small datasets it is usually quite sufficient to run ParaView as a single process on a small laptop or desktop class machine. For large data sets, a single machine is not likely to have enough processing power and much more importantly memory to process the data. In this situation one runs an MPI parallel ParaView Server process on a large machine to do computationally and memory expensive data processing and optionally rendering tasks and then connects to that with the familiar GUI application. In this mode the only differences you will see will be that the Visualization Pipeline displayed in the Pipeline Browser will begin with the name of the server you are connected to rather than the word “builtin” which indicates that you are connected to a virtual server that lives within the same process as the client’s GUI. When connected to a remote server, the File Open dialog presents the list of files that live on the remote machine’s file system rather than the client’s. In this mode data can will be rendered by either the remote system or the local machine based dependent on the memory requirements of the visible data. Large data visualization is described fully in Chapter <REMOTE VIS CHAPTER>.