1 LA-UR Approved for public release; distribution is unlimited. Title: ParaView: An End-User Tool for Large Data Visualization Author(s): James Ahrens, Berk Geveci, Charles Law Submitted to: Technical Report Los Alamos National Laboratory, an affirmative action/equal opportunity employer, is operated by the University of California for the U.S. Department of Energy under contract W-7405-ENG-36. By acceptance of this article, the publisher recognizes that the U.S. Government retains a nonexclusive, royaltyfree license to publish or reproduce the published form of this contribution, or to allow others to do so, for U.S. Government purposes. Los Alamos National Laboratory requests that the publisher identify this article as work performed under the auspices of the U.S. Department of Energy. Los Alamos National Laboratory strongly supports academic freedom and a researcher's right to publish; as an institution, however, the Laboratory does not endorse the viewpoint of a publication or guarantee its technical correctness. FORM 836 (10/96)
2 ParaView: An End-User Tool for Large Data Visualization James Ahrens Los Alamos National Laboratory Berk Geveci, Charles Law Kitware, Inc. Abstract This paper describes the design and features of a visualization tool, called ParaView i, a tool for scientists to visualize and analysis extremely large data sets. The tool provides a graphical user interface for the creation and dynamic execution of visualization tasks. ParaView transparently supports the visualization and rendering of large data sets by executing these programs in parallel on shared or distributed memory machines. ParaView supports hardware-accelerated parallel rendering and achieves interactive rendering performance via level-of-detail techniques. The design balances and integrates a number of diverse requirements including the ability to handle large data, ease of use and extensibility by developers. This paper describes the requirements that guided the design, identifies their importance to scientific users, and discusses key design decision and tradeoffs. Introduction Sensors and scientific simulations are generating unprecedented volumes of data making visualization with traditional visualization solutions difficult or even impossible. To address the simulation scientists visualization needs we spoke with simulation scientists and gathered a set of requirements. The high-level requirements that guided the design of ParaView are support for an efficient workflow and support for the visualization and analysis of extremely large datasets. The challenge was to create a design and implementation that met both these complex requirements and balanced conflicts between them. Workflow requirements Visualization is one task of many for simulation scientists. Other simulation tasks include: theoretical work, programming, problem setup, analysis and data management. Therefore, the first workflow requirement is tool ease of use. That is, how long it takes to create results and what visualization domain knowledge is required to run the tool will determine whether the tool is used and how often. A coarse approximation of the simulation scientists visualization workflow includes two modes: an exploratory mode, in which an interactive graphical user interface(gui)- based tool is used to explore a dataset; and a batch mode, in which a scripting or programming language is used to write and execute a program that creates an animation. The second workflow requirement is support for both modes. This coarse approximation can be refined further identifying how data is input (during the simulation run or after processing of the simulation is complete) and what type of interface is used (GUI, scripting, VR) 1. Additional workflow requirements include tool portability, accessibility and extensibility. Portability is required because of the diverse collection of resources available to scientists to run their simulations and visualizations. Tool accessibility is the ability to quickly gain access to, setup, possibly modify and run the tool. Open-source projects are more accessible since the package is typically available on the Internet and any necessary tool modifications can be done quickly because the source is i ParaView is an open-source package and can be downloaded at
3 available. We define extensibility as the ability to easily add new functions and graphical interfaces to the tool. Large data visualization requirements The ability to handle large data is also a critical requirement. We define large data as data that exceeds the resource limits (i.e. the elements of the storage hierarchy memory, disk, tape) of a single machine. The first aspect of the large data handing requirement is a functional one; can the data be visualized at all? Techniques such as data streaming (i.e. processing the data incrementally) and parallelism can be used to process large data sets. Workflow requirements, such as portability, mandate that the tool execute on both shared and distributed-memory parallel machines. The second aspect of the large data handling requirements is performance; can the data be processed quickly? Techniques such as multi-resolution representations and parallelism can be used to improve both visualization and rendering performance. Related Work There are a number of visualization packages available for use by scientists. Each of these packages meets a subset of the identified requirements. In this section, we will discuss a few of these packages, specifically AVS 2, OpenDX 3, SCIRun 4 and Ensight 5 identifying their strengths and describing which requirements they meet. ParaView was designed to meet all the identified workflow and large data visualization requirements. Workflow requirements Ensight and ParaView use a graphical user interface to execute visualization tasks. AVS, OpenDX and SCIRun use dataflow program graph editor to compose programs. Dataflow program graph editors were thought to provide a good tradeoff between the needs of visualization developers and end-users: for developers, they provide the ability to create complex program graphs and for end-users they provide a graphical interface to create these graphs. In practice, learning visual programming with dataflow graphs is considered by many scientists a significant barrier to creating visualization tasks and thus they consider GUI-based interfaces easier to use. OpenDX, SCIRun and ParaView are all open-source packages making them easily accessible and extensible. These packages offer interactive and batch interaction modes. SCIRun provides support for computational steering the ability to interact with and visualize data from a running simulation. In contrast to these other packages, ParaView uses a general purpose scripting language, Tcl, for batch commands. Advantages of using a general purpose scripting language include the availability of general purpose computing functionality, robust documentation and support for the scripting language that is independent of the visualization tool. Large data visualization requirements All of these packages are portable to most architectures when run on a single machine. Differences arise on their portability to parallel architectures. AVS, OpenDX and SCIRun all support parallel execution on shared memory machines. They also all rely on a centralized executive to allocate memory and execute programs. This reliance makes it difficult to port these packages to distributed memory machines. Ensight uses a client/server architecture, the client renders geometry and the server executes visualization and analysis tasks. Ensight currently provides a shared-memory implementations of both the client and server. Ensight also has a distributed-memory implementation of the server. ParaView is portable to both shared and distributed-memory machines. ParaView is the only listed package that can incrementally process data.
4 The ability to process datasets larger than the available computing resources is a key consideration when processing extremely large datasets since resource availability changes over time ii. Design ParaView is designed as a layered architecture. The foundation is the visualization toolkit (VTK). 6,7 It provides the foundation of ParaView: data representations, algorithms and a mechanism to connect these representations and algorithms together to form a working program. The second layer is the parallel extensions to the visualization toolkit. The parallel VTK layer, extended VTK to support streaming of all data types and parallel execution on shared and distributed memory machines. iii The third layer is ParaView itself. ParaView provides a graphical user interface and transparently supports the visualization and rendering of large data sets via hardware acceleration, parallelism and level-of-detail techniques. Each layer meets a subset of the requirements and adds additional functionality to the layer below. Visualization Toolkit The Visualization Toolkit is the foundation of the ParaView architecture. VTK provides data representations for a variety of grid types including structured (uniform and non-uniform rectilinear grids as well as curvilinear grids), unstructured, polygonal and image data. Examples of these grid types are shown in Figure 1. VTK provides hundreds of visualization and rendering algorithms that process these data types including isosurfacing, cutting/clipping, glyphing and streamlines. VTK also provides algorithms for polygon and volume rendering and a keyboard and mouse-based interaction model. Algorithms are organized into dataflow program graphs and a demand-driven dataflow execution model is used to run these programs. Core functionality in VTK is written in C++. To use the toolkit, VTK offers both a C++ library interface and set of scripting interfaces including Java, Python and Tcl interfaces. The library interface provides the best performance. The scripting interfaces offer the advantage of rapid prototyping of programs. Once a day and continuously (i.e. whenever a developer commits a change) tests are run using an open-source testing framework, called Dart, which improves the toolkit s reliability. The toolkit provides the basis for ParaView s portability, accessibility, full range of features and support for interactive and scripting usage modes. More details on VTK can be found in this book in a related chapter on the toolkit. Parallel and Distributed Visualization Toolkit Additional functionality was added to VTK to support data streaming and parallel computation. 8 Both depend upon the ability to break a dataset into smaller pieces. Data streaming incrementally processes these smaller pieces one at a time. Thus, a user can process an extremely large dataset with computing resources that cannot store the entire dataset (either in memory or on disk). Data streaming requires that all VTK data types are separable into pieces and the toolkit algorithms correctly process these pieces. To process pieces in a dataflow pipeline, a mapping must be defined that specifies for each algorithm what portion of the input data is required to generate a portion of the output data. With this information, algorithms can generate only a portion of their output for a given input. Each algorithm must ensure program results are invariant, regardless of how the dataset is broken into pieces. These requirements are met by creating a partitioning of both structured and unstructured grid types and by providing ghost levels which are points/cells that are shared between processes and are used by algorithms which require neighborhood ii ParaView s data streaming feature is available in batch mode. iii These extensions are currently part of the toolkit but were added after the original design of the toolkit was complete.
5 information. A piece of a structured grid is defined by its extent which describes a contiguous range of elements in each dimension (i.e. in 3D, a sub-block of a complete block). VTK s unstructured grid types use an element of a collection scheme (i.e. piece M of N). A procedure for converting between grid types was also defined in which each structured extent piece maps one-to-one to an unstructured piece. Additional policies take care of handling boundary conditions and creating ghost levels for all grid types. This data streaming ability supports data parallelism. Instead of processing pieces one of the time, each processor processes a different piece in parallel. Examples of dataset partitioning and the creation of ghost levels are shown in Figure 2. Figure 2 shows a CTH non-uniform rectilinear grid data set that was processed in 8 pieces. The original data set contained cell centered attributes. Volume fraction attributes for both the projectile and plate were first interpolated to vertices before an isosurface filter was used to extract the material surfaces. Both the vertex interpolation and normal generation require ghost cells to ensure partition invariant results. Figure 1: The figure shows the different types of data sets that VTK and ParaView can handle. The upper left dataset is a uniform rectilinear volume of an iron potential function. The Upper right image shows an isosurface of a non-uniform rectilinear structured grid. The lower left image shows a curvilinear structured grid data set of airflow around a blunt fin. The lower right image shows an unstructured grid data set from a blow molding simulation. Parallel communication and control classes encapsulate details of process initialization and communication libraries such as a shared-memory implementation or MPI. The streaming and parallel computing features can be accessed both thru a C++ library interface and via a set of scripting interfaces. These feature extensions provide the basis for ParaView s large data functionality and performance requirements.
6 Figure 2: The image on the left was generated with a CTH data set partitioned into eight pieces. Each piece was assigned a different color. The image on the right shows only one partition with six extra ghost levels. The cells are colored by ghost level. In practice, usually only one ghost level is necessary. ParaView ParaView provides a graphical user interface for the interactive exploration of large data sets. It builds this functionality on parallel and distributed VTK. An overview of the tool from a user perspective is presented first, followed by a technical description of how the tool s functionality is achieved. Overview A sample ParaView session is shown in Figure 3. There are several regions to the user interface including the Menu Bar along the top of the application, the Toolbar just below the Menu Bar, the Left Panel on the left side and the Display Area on the right side. Each of these areas is described in more detail below: The Menu Bar: The top menu bar provides menu buttons for loading and saving data, creating sources and filters, viewing other windows, displaying help, and other standard functionality. Toolbar: The Toolbar contains buttons for resetting the camera, switching between 2D and 3D interaction modes, and changing the center of rotation. In addition, the Toolbar contains shortcut icons to instantiate some commonly used filters. Left Panel: The top portion of this panel contains the selection or navigation window. The selection window provides a list of instantiated sources and filters. The navigation window provides a dataflow program graph representation of the user s task. The area below the selection/navigation window is where the properties of sources and filters are set, which we refer to as a property sheet. Property sheets contain module settings such as the current isosurface values computed by the isosurface module. Display Area: The Display Area is where the 3D representation of the scene is rendered. Mouse and keyboard interaction are provided in this area.
7 Figure 3: ParaView To add new filters the user selects a source or filter from the Source or Filter menu on the Menu Bar. Sources include various types of readers or computer-generated sources. A sample of the possible filters includes: Contours and isosurfaces can be extracted from all data types using scalars or vector components. The results can be colored by any other variable or processed further. When possible, structured data contours/isosurfaces are extracted with fast and efficient algorithms that make use of the structured data layout. Vectors fields can be inspected by applying glyphs (currently arrows, cones and spheres) to the points in a dataset. The glyphs can be scaled by scalars, vector component or vector magnitude and can be oriented using a vector field. A sub-region of a dataset can be extracted by cutting or clipping with an arbitrary plane, specifying a threshold criteria to exclude cells and/or specifying a volume of interest (for structured data types only). Streamlines can be generated using constant step or adaptive integrators. iv The results can be displayed as points, lines, tubes and ribbons and can be processed by a multitude of filters. The points in a dataset can be warped/displaced with scalars or with vectors. With the array calculator, new variables can be computed using existing point or cell field arrays. Many scalar and vector operations are supported. iv A parallel implementation of streamlines is not currently available, this feature is under development.
8 Data can be probed on a point or along a line. The results are displayed either graphically or as text and can be exported for further analysis. ParaView provides many other data sources and filters by default including edge extraction, surface extraction, reflection, decimation, extrusion and smoothing. Any VTK source or filter can be added to ParaView by providing a simple XML description for its user interface for its property sheet. The Source and Filter menu are dynamically updated to contain a list of sources/filters that can input the output of the currently selected module. The selected module is either the last module created, or the one most recently selected from the Selection/Navigation Window. Once a module is chosen, a new instantiation of the module is created, connected to the selected module and the module s property sheet is displayed. In this manner, a dataflow program graph is created. In order to manipulate or view the properties of a module, the module is selected and its property sheet is shown and the user can view or edit the listed values. Meeting the workflow requirements ParaView simplifies its use by minimizing the knowledge of dataflow programming required by users to use the tool. Specifically, a user can specify simple tasks, for example, creating a source and applying simple filters, without needing to be aware of dataflow programming. This is because ParaView s default behavior is to add new modules to the last module created. When the user wants to change this behavior, for example to apply another filter to the source data, they can use the Selection Window to reset the location where the new module will be added. ParaView also simplifies the choice of modules by only listing modules which accept the correct data type for insertion. For advanced users who wish to create complex program graphs, the program graph is available for manipulation in Navigation window. ParaView is designed so that visualized results dominate the GUI real-estate and the manipulation of program graphs is relegated to a much smaller area. This allows scientists to focus on their visual analysis and not on visual programming which is typically of secondary importance to them. When modules are instantiated in ParaView they create visual output in the display area providing immediate visual feedback to the user about their data and the effect of the applied module. For example, as shown in Figure 3, when the user creates a two-dimensional source, in this case, a fractal source, ParaView automatically creates a color mapping of the data. This feature improves ease of use because it provides default settings, freeing the user from this task. This feature does have a downside; it hampers the ability to stream data since every module instantiation would cause ParaView to stream visual results. For now, we have chosen to only permit data streaming in batch mode. Solutions to this problem include: offering the option of turning on and off interactive data streaming as well as offering the option of turning on and off the immediate feedback feature. Users can change the parameters of some modules directly by interacting with the 3D view shown in the Display Area using 3D manipulators. For example, the user can manipulate the seed line of a streamtrace filter by clicking on a control point and dragging the line to the new location. There are also 3D manipulators for probing a dataset with a point or line and cutting or clipping a dataset with a sphere or plane. 3D manipulators improve ease of use by allowing users to quickly apply visualization modules to datasets by letting them interactively use the mouse to select location parameters instead of setting the parameters numerically in the user interface. When the manipulator is adjusted interactively in the 3D view, the numerical values of the location parameters are updated in the user interface and the user can then fine tune these values.
9 ParaView is portable to most architectures. To achieve this, only packages that work across many platforms were used in developing ParaView. For example, to achieve a portable user interface, Tk, was chosen. Tk, is the graphical user interface companion to the Tcl scripting language. The application framework at the core of ParaView is a unique blend of Tcl/Tk and C++. Tk is used as the widget set but C++ objects, which provide higher-level UI components, are created to encapsulate the widgets. Like VTK objects, these C++ UI objects are automatically wrapped in Tcl. ParaView s user interface can be modified and extended both statically with XML configuration files and dynamically, at runtime, using the Tcl scripting interface. All ParaView modules and their corresponding user interface are initialized by parsing XML based configuration files. These files contain the input/output types of the modules, an icon name to be displayed on the toolbar, a list of widgets to be displayed on the module s parameter page, the corresponding module parameters and in case of reader modules information about the file type. For example, Figure 4 present the XML description listed in ParaView default configuration file and corresponding user interface for isoline/isosurface module. <Module name="contour" class="vtkpvcontour" module_type="filter" root_name="contour" button_image="pvcontourbutton" output="vtkpolydata" input="vtkdataset"> <Filter class="vtkpvcontourfilter"/> <InputMenu id="im" label="input" trace_name="input" input_name="pvinput input_type="vtkdataset"/> <ArrayMenu id="am" input_name="input" attribute_type="scalars" label="scalars" input_menu="im" number_of_components="1"/> <ScalarRangeLabel array_menu="am"/> <ContourEntry label="contour Values" trace_name="contour Values"/> <LabeledToggle label="compute Normals" variable="computenormals"/> <LabeledToggle label="compute Gradients" variable="computegradients"/> <LabeledToggle label="compute Scalars" variable="computescalars"/> </Module> Figure 4: XML description for the isoline/isosurface module in ParaView and corresponding user interface generated by the XML Since all ParaView widgets have corresponding Tcl representations, the GUI can be modified at runtime by loading scripts or typing commands at a command console. This allows the user to, for example, add new widgets, create dialog windows or load additional libraries at runtime. These features can be used to customize what modules are loaded and how they are presented to the user. A visualization developer can edit the ParaView GUI configuration file and write custom scripts to customize ParaView for use by specific application users. For example, for the climate modeling community, a configuration file could be written to add a suite of climate
10 analysis modules and customize the existing modules such as contouring to meet community conventions. ParaView meets the accessibility requirement because it is available in open-source form. Recall that, a coarse approximation of the simulation scientists workflow includes two modes, an interactive mode, in which an interactive GUI-based tool is used to explore a dataset, and a batch mode, in which a program is executed to create an animation. ParaView supports both these modes. ParaView s interactive mode was detailed in the overview section. Every interaction with the ParaView GUI can be saved in a session file since every interaction has a corresponding Tcl command. The session file can be reloaded to reproduce the session. Furthermore, since the session file is a Tcl script, it can be edited/modified and then reloaded to obtain different results. In addition to dataset exploration, the interactive mode is also used to create to programs to run in batch. ParaView also supports saving the current program graph as a VTK script. A series of queries allow the user to customize the script. A session script differs from a VTK script because a session script saves every ParaView interaction (i.e. every interaction used to create a program graph) and a VTK script saves only a program graph. Meeting the large data visualization requirements ParaView supports large data visualization via techniques that include parallel processing, levelof-detail rendering and data streaming. Parallelism and data streaming ParaView supports parallelism, either using shared-memory processes or distributed-memory processes via MPI. When ParaView is run in parallel, data is automatically read, processed and, if necessary, rendered in a data parallel manner. ParaView s parallel software architecture includes three types of processes, a client process that runs the graphical user interface and two types of server processes: root and slave processes. The client process communicates with the root server process by broadcasting commands. The root server process receives these commands and rebroadcasts them to all slave servers. A command is a script; currently, a Tcl script is used. In the future, user may be able to select the scripting language to use, for example, Python or java. All servers run an interpreter and use it to execute received commands. This communication mechanism is used to create a copy of the same program graph on each process. The program graphs on the servers manipulate pieces of the full dataset for data parallel processing and the program graph on the client is used to store program state such as parameter settings for modules. ParaView s user interface elements update the client s program graph and the changes are sent as scripts to the root and slave servers. For example, when a user creates a filter module, such as an isosurface, a script is created that instantiates, sets parameters, and appends the isosurface module to a program graph. This script is then communicated to and interpreted by both the client and server processes. All processes use the same naming convention and thus one script works for all process s program graphs. All program graphs are initialized with a rendering module. To implement parallel algorithms, communication between processes is handled internally by the modules in the program graphs. For example, all rendering modules communicate to implement a parallel rendering algorithm. Although the client can be considered a centralized executive, ParaView s design supports independent process decisions and actions as much as possible. For example, the decision to allocate memory occurs locally. Also inter-process communication is limited to program instantiation/execution commands and parallel algorithms. ParaView supports data streaming in batch mode. When the user writes a batch script, an option prompts the user as to whether they would like to stream their data and what memory limit they
11 are bounded by. Streaming along with data parallelism are effective techniques for processing large datasets and effectively fulfill ParaView s large data visualization requirement. We have used these techniques to efficiently and effectively isosurface and color a collection of datasets that ranged in size from 10 s of gigabytes to approximately a petabyte in size 8. Level-of-detail and parallel rendering ParaView s rendering module supports both level of detail and parallel rendering techniques 9 to facilitate the rendering of very large datasets interactively. Interactive rendering of large datasets is an extremely challenging problem and therefore we applied a number of techniques to achieve good performance. Level-of-detail techniques increase rendering performance at the expense of image quality. Two different LOD techniques are used in ParaView: geometric LOD and rendered image LOD. The geometric LOD technique creates a reduced geometric resolution model. In general, models with less geometric elements render faster than with more elements. When the user is interacting with model (i.e. rotating, translating, zooming) a reduced resolution model is used in order to render quickly. When the interaction is complete, the full-resolution model is rendered. Figure 5 shows an example of the full and reduced resolution model. VTK s quadric clustering algorithm is used to simplify surfaces. This algorithm preserves data attributes, so the LOD models have the same visual appearance of the original data. Timing results for the decimation algorithm are given in Table 1. Decimation can introduce significant visual artifacts in the rendered image. However, we have concluded that these artifacts are acceptable during interactive rendering. Decimation can also work well with the geometry redistribution technique discussed later in this section. The smaller decimated models can easily be collected and rendered locally. Figure 5: The full-resolution surface (left) has 821,495 triangles and renders in intermediate mode in 0.93 seconds on a GeForce2 GTS, and the decimated surface (right) has 35,400 triangles and renders in 0.04 seconds. Time To Decimate 1 Processor 6.25 Seconds 2 Processors Seconds 4 Processors Seconds Table 1: The full-resolution surface has 821,495 triangles, and the decimated surface had approximately 35,400 triangles. The rendered image LOD technique involves rendering to a small image and using pixel replication to magnify the image for final display. It is essentially lossy compression of the
12 image that has no compression cost and minimal decompression cost. Although the resulting visual artifacts are noticeable, they do not significantly impair interaction with the data set. This technique reduces rendering times through all steps listed below. Initial rendering times can be faster because fill areas are smaller. The time to read and composite image buffers is reduced because it is directly proportional to the area of the rendered image. Using data parallelism in the renderer is also critical for high performance. The renderer is always in one of two states: an interactive state when the user is interacting with the GUI and a still state when the user is not. The steps of the rendering algorithm are described below. Note that ParaView s geometry and image data can be either serial or parallel data and this may change during execution. The algorithm below is applied to each geometric object to be rendered: 1. If (Rendering state is interactive) then apply geometric and image LOD algorithm a. The geometric LOD algorithm is applied when an estimate of the time to render the object (based on the number of points in the object) exceeds a user modifiable threshold. When the threshold is exceeded rendering occurs with a reduced resolution version of the object. If a reduced resolution version does not exist one is created. b. The image LOD algorithm is applied when the time to render the last frame exceeds a user modifiable threshold. Using the previous frame time as an estimate a new image size is calculated, in order to reduce rendering time to below the threshold. 2. If (Geometry data is parallel) then apply parallel geometry load redistribution algorithm The result of the LOD algorithm is geometry data. If there is parallel geometry data, this data can be redistributed from its current location on the processes to a subset of the processes. For example, if the geometry is small enough (i.e. after it is reduced by Step 1a) it can be more efficient to collect and render the geometry on a single process. This avoids the cost of parallel image compositing (i.e. Step 4). In this future, this step will also be used to balance geometric load across processes for more efficient performance. 3. Rendering - The result of the redistribution algorithm is geometry data. A rendering operation then renders this geometry to create an image and depth buffer result of the image size set in Step 1b. Rendering can be serial or parallel, hardware or software-based, and occur either onscreen or offscreen. 4. If (Image data is parallel) than apply parallel image compositing - If there is parallel imagery, then this image data is composited together using the depth buffer to resolve conflicts to create a final image. ParaView currently supports a binary tree compositing with an option of using run-length encoding to losslessly compress images for speed 10. With large window sizes and many processes, this communication time can be the major factor limiting rendering performance. Compositing transmission time grows linearly with render window area and scales logarithmically with the number of processes. This is why both Step 1a and 1b offers methods (collecting geometry to a single process and compositing using smaller images) to either skip or speedup this compositing step. Notice that different paths through these steps are possible. For example, a reduced level-of-detail model can be rendered locally when the renderer is in the interactive state and the full resolution version of the same model can be rendered in a parallel when the renderer is in the still state. Having the ability to render at different resolutions and speeds, allows the user to interactively focus on an area of interest and then study the details of a full-resolution image and meets the large data rendering requirement.
13 Results This section presents visualization results generated by ParaView for several application areas. Figure 6 shows isosurfaces of the visible woman data set. The 512x512x MB dataset is composed of seven sections. Each section is a uniform rectilinear grid generated by a CT scan. Two isosurfaces were extracted, one for bone and one for skin. The skin isosurface was clipped in order to reveal the bone isosurface. On block of the skin was colored by process id to show the data partitioning. ParaView was run with 4 server processes in this example. This example also demonstrates ParaView's ability to process multi-block data sets. Many structured data sets divide the domain into blocks. Each block is configured to get the best resolution sampling for its domain. Since some data sets can have hundreds of blocks, it is important to group these blocks into a single entity that can be filtered in one step. ParaView has group and ungroup filters, which simplify processing of multi-block datasets. Figure 7 shows streamlines generated by ParaView using a dataset of airflow around a delta wing. This example also shows the 3D line widget used to seed the streamline algorithm. The streamline filter propagates integration across partition boundaries, and can execute in parallel. The delta wing and the contour surface were obtained by extracting sub-grids from the original curvilinear dataset. Since the actual dataset contains only half the wing due to symmetry, a reflection filter was applied to all surfaces. Both surfaces were colored by mapping the stagnation energy through a default lookup table. Figure 8 shows the results of a batch script on the results from the Parallel Ocean Program (POP). The 3600x2400x40 structured grid model the earth s oceans at 1/10 of a degree resolution. Isosurfaces and extracted geometry are shown and are used to represent land masses. Also a clip plane colored by temperature at a depth of 1140 meters is shown. It is worth noting that climatespecific visualization tools are unable to process datasets of this magnitude. Conclusions This paper presents the design of ParaView, an end-user tool for large data visualization. ParaView provides a graphic user interface for visualizing large datasets using techniques that include data parallelism, level-of-detail and streaming to meet its workflow and large data visualization requirements. In the future, there are number of directions to extend ParaView including the incorporation of data streaming into user interface and rendering support of extremely large datasets for tiled display walls. ParaView is an open source tool and members of visualization community are invited to add new features. Acknowledgments This work was supported by grants from the US Department of Energy ASCI VIEWS program. We acknowledge the Advanced Computing Laboratory of the Los Alamos National Laboratory, where we performed portions of this work on its computing resources.
14 Figure 6: The Visible Woman dataset in ParaView
15 Figure 7: The Delta Wing dataset in ParaView
16 Figure 8: View of the Atlantic Ocean from a global 1/10th of a degree simulation showing ocean temperature at a depth of 1,140 meters generated by a ParaView batch script References 1 R. Knight, J. Ahrens, P. McCormick, Improving the Scientific Visualization Process with Multiple Usage Modalities, LAUR C. Upson et al., The Application Visualization System: A Computational Environment for Scientific Visualization, IEEE Computer Graphics and Applications, vol. 9, no. 4, July 1989, pp G. Abrams and L. Trenish, An Extended Dataflow Architecture for Data Analysis and Visualization, Proc. IEEE Visualization 1995, IEEE CS Press, Los Alamitos, Calif.,1995, pp S.G. Parker, D.M. Weinstein, and C.R. Johnson, The SCIRun Computational Steering Software System, Modern Software Tools in Scientific Computing, E. Arge, A.M. Brauset, and H.P. Langtangen, eds., Birkhauser Boston, Cambridge, Mass., 1997, pp K. Misegades EnSight's Parallel Processing Changes the Performance Equation, 6 W. Schroeder, K. Martin and W. Lorensen, The Design and Implementation of an Object- Oriented Toolkit For 3D Graphics and Visualization Proc. IEEE Visualization 1996, IEEE CS Press, Los Alamitos, Calif., 1996, pp
17 7 W.J. Schroeder, K.M. Martin, and W.E. Lorensen, The Visualization Toolkit An Object- Oriented Approach to 3D Graphics, Prentice Hall, Upper Saddle River, N.J., J. Ahrens, K. Brislawn, K. Martin, B. Geveci, C. C. Law, M. Papka, Large-Scale Data Visualization Using Parallel Data Streaming, IEEE Computer Graphics and Applications, vol. 21, no. 4, July/August 2001, pp S. Molnar et al., A Sorting Classification of Parallel Rendering, IEEE Computer Graphics and Applications, vol. 4, no. 4, July 1994, pp J. Ahrens and J. Painter, Efficient Sort-Last Rendering Using Compression-Based Image Compositing, Proc. of the Second Eurographics Workshop on Parallel Graphics and Visualization, 1998,
Visualization with ParaView Before we begin Make sure you have ParaView 4.1.0 installed so you can follow along in the lab section http://paraview.org/paraview/resources/software.php Background http://www.paraview.org/
Visualization with Greg Johnson Before we begin Make sure you have 3.8.0 installed so you can follow along in the lab section http://paraview.org/paraview/resources/software.html http://www.paraview.org/
Facts about Visualization Pipelines, applicable to VisIt and ParaView March 2013 Jean M. Favre, CSCS Agenda Visualization pipelines Motivation by examples VTK Data Streaming Visualization Pipelines: Introduction
The Center for Astrophysical Thermonuclear Flashes VisIt Visualization Tool Randy Hudson email@example.com Argonne National Laboratory Flash Center, University of Chicago An Advanced Simulation and Computing
Introduction to Visualization with VTK and ParaView R. Sungkorn and J. Derksen Department of Chemical and Materials Engineering University of Alberta Canada August 24, 2011 / LBM Workshop 1 Introduction
Introduction to Paraview H.D.Rajesh 1.Introduction 2.file formats 3.How to use Brief Overview Info: www.paraview.org http://www.paraview.org/wiki/paraview Open source,multi-platform application (Linux,
VisIt Tutorial Why are we teaching you VisIt? Interactive (GUI) Visualization and Analysis tool Multiplatform, Free and Open Source The interface looks the same whether you run locally or remotely, serial
Processing Data with rsmap3d Software Services Group Advanced Photon Source Argonne National Laboratory Introduction rsmap3d is an application for producing 3D reciprocal space maps from x-ray diffraction
Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low
LA-UR- Approved for public release; distribution is unlimited. Title: Author(s): Intended for: Los Alamos National Laboratory, an affirmative action/equal opportunity employer, is operated by the Los Alamos
Visualization of Adaptive Mesh Refinement Data with VisIt Gunther H. Weber Lawrence Berkeley National Laboratory VisIt Richly featured visualization and analysis tool for large data sets Built for five
A Contract Based System For Large Data Visualization Hank Childs University of California, Davis/Lawrence Livermore National Laboratory Eric Brugger, Kathleen Bonnell, Jeremy Meredith, Mark Miller, and
Scientific Visualization with ParaView Geilo Winter School 2016 Andrea Brambilla (GEXCON AS, Bergen) Outline Part 1 (Monday) Fundamentals Data Filtering Part 2 (Tuesday) Time Dependent Data Selection &
The Design and Implement of Ultra-scale Data Parallel In-situ Visualization System Liu Ning firstname.lastname@example.org Gao Guoxian email@example.com Zhang Yingping firstname.lastname@example.org Zhu Dengming email@example.com
Alexey I. Baranov Visualization Plugin for ParaView version 1.3 Springer Contents 1 Visualization with ParaView..................................... 1 1.1 ParaView plugin installation.................................
Parallel Large-Scale Visualization Aaron Birkland Cornell Center for Advanced Computing Data Analysis on Ranger January 2012 Parallel Visualization Why? Performance Processing may be too slow on one CPU
Parallel Analysis and Visualization on Cray Compute Node Linux David Pugmire, Oak Ridge National Laboratory and Hank Childs, Lawrence Livermore National Laboratory and Sean Ahern, Oak Ridge National Laboratory
MapInfo Pro Version 15.0 The purpose of this guide is to assist you in getting the best possible output from your MapInfo Pro software. We begin by covering the new print, import, and export features and
User Guide November 19, 2014 Contents 3 Welcome 3 What Is FACTORY I/O 3 How Does It Work 4 I/O Drivers: Connecting To External Technologies 5 System Requirements 6 Run Mode And Edit Mode 7 Controls 8 Cameras
Visualisatie BMT Introduction, visualization, visualization pipeline Arjan Kok Huub van de Wetering (firstname.lastname@example.org) 1 Lecture overview Goal Summary Study material What is visualization Examples
Cassandra 2.0 Tutorial V1.0 Sébastien Jourdain, Fatiha Zeghir 2005/06/01 1 / 16 Abstract Cassandra is a generic VTK data viewer written in Java which provides native multiplatform support. Cassandra is
Petascale Visualization: Approaches and Initial Results James Ahrens Li-Ta Lo, Boonthanome Nouanesengsy, John Patchett, Allen McPherson Los Alamos National Laboratory LA-UR- 08-07337 Operated by Los Alamos
MapInfo Professional Version 12.5 Printing Guide The purpose of this guide is to assist you in getting the best possible output from your MapInfo Professional software. We begin by covering the new print,
Citrix EdgeSight for Load Testing User s Guide Citrx EdgeSight for Load Testing 2.7 Copyright Use of the product documented in this guide is subject to your prior acceptance of the End User License Agreement.
The Ultra-scale Visualization Climate Data Analysis Tools (UV-CDAT): A Vision for Large-Scale Climate Data Lawrence Livermore National Laboratory? Hank Childs (LBNL) and Charles Doutriaux (LLNL) September
Mem. S.A.It. Vol. 80, 441 c SAIt 2009 Memorie della VisIVO: data exploration of complex data G. Caniglia 1,4, U. Becciani 1, M. Comparato 1, A. Costa 1, C. Gheller 2, A. Grillo 1, M. Krokos 3, and F. Vitello
Post-processing and Visualization with Open-Source Tools Journée Scientifique Centre Image April 9, 2015 - Julien Jomier Kitware - Leader in Open Source Software for Scientific Computing Software Development
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Scientific Visualization with Open Source Tools HM 2014 Julien Jomier email@example.com Visualization is Communication Challenges of Visualization Challenges of Visualization Heterogeneous data
Visualization and Post Processing of OpenFOAM results a Brief Introduction to VTK December 13:th 2007 OpenFOAM Introdutory Course Chalmers University of Technology Post Processing in OF No built in post
Starting Guide TABLE OF CONTENTS INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... 7 ADVANCE CONCRETE USER INTERFACE... 7 Other important
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 firstname.lastname@example.org www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
A Steering Environment for Online Parallel Visualization of Legacy Parallel Simulations Aurélien Esnard, Nicolas Richart and Olivier Coulaud ACI GRID (French Ministry of Research Initiative) ScAlApplix
DATA VISUALIZATION AND RENDERING WITH BLENDER AND VTK Matt Cragun Total Sim USA email@example.com Introduction Using Blender Importing Data from Paraview 3 7 18 OUTLINE Using Blender Directly with VTK
CATIA V5 Tutorials Mechanism Design & Animation Release 18 Nader G. Zamani University of Windsor Jonathan M. Weaver University of Detroit Mercy SDC PUBLICATIONS Schroff Development Corporation www.schroff.com
MAS 500 Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the Sage MAS Intelligence Reports... 3 Copying, Pasting and Renaming Reports... 4 To create a new report from an existing report...
Introduction to SolidWorks Software Marine Advanced Technology Education Design Tools What is SolidWorks? SolidWorks is design automation software. In SolidWorks, you sketch ideas and experiment with different
Network Probe User Guide Network Probe User Guide Table of Contents 1. Introduction...1 2. Installation...2 Windows installation...2 Linux installation...3 Mac installation...4 License key...5 Deployment...5
Distance-Learning Remote Laboratories using LabVIEW Introduction Laboratories, which are found in all engineering and science programs, are an essential part of the education experience. Not only do laboratories
A Hybrid Visualization System for Molecular Models Charles Marion, Joachim Pouderoux, Julien Jomier Kitware SAS, France Sébastien Jourdain, Marcus Hanwell & Utkarsh Ayachit Kitware Inc, USA Web3D Conference
Creating 2D Drawings from 3D AutoCAD Models David Piggott CrWare, LP GD205-2P This class explores the various techniques in creating 2D part and assembly drawings from 3D AutoCAD models. As part of the
64 Bits of MapInfo Pro!!! and the next BIG thing March 2015 MapInfo Professional v12.5 Themes Cartographic output Performance improvements Ability to work directly with a map in a layout. An all new Layout
Quick Start Tutorial 1-1 Quick Start Tutorial This quick start tutorial will cover some of the basic features of Settle3D. A circular load is applied to a single soil layer and settlements are examined.
ParaView s Comparative Viewing, XY Plot, Spreadsheet View, Matrix View Dublin, March 2013 Jean M. Favre, CSCS Motivational movie Supercomputing 2011 Movie Gallery Accepted at Supercomputing 11 Visualization
Flash MX 2004 Animation Lesson By Tonia Malone Technology & Learning Services 14-102 Lesson Opening a document To open an existing document: 1. Select File > Open. 2. In the Open dialog box, navigate to
Eurographics Symposium on Parallel Graphics and Visualization (2006) Alan Heirich, Bruno Raffin, and Luis Paulo dos Santos (Editors) Remote Large Data Visualization in the ParaView Framework Andy Cedilnik,
Reference Manual DATAKIT 1 PRELUDE This documentation defines the whole features of the application CrossManager, designed to convert 2D and 3D models from a list of available input formats into one of
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials. Attachment C1. SolidWorks-Specific FEM Tutorial 1... 2 Attachment C2. SolidWorks-Specific
Arena Tutorial This Arena tutorial aims to provide a minimum but sufficient guide for a beginner to get started with Arena. For more details, the reader is referred to the Arena user s guide, which can
CALIFORNIA STATE UNIVERSITY, LOS ANGELES INFORMATION TECHNOLOGY SERVICES Microsoft Access 2010 Part 1: Introduction to Access Fall 2014, Version 1.2 Table of Contents Introduction...3 Starting Access...3
STAR-CCM+ User Guide 6663 Steady Flow: Laminar and Turbulent in an S-Bend This tutorial demonstrates the flow of an incompressible gas through an s-bend of constant diameter (2 cm), for both laminar and
Faculty of Computer Science Computer Graphics Group Final Diploma Examination Communication Mechanisms for Parallel, Adaptive Level-of-Detail in VR Simulations Author: Tino Schwarze Advisors: Prof. Dr.
Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In
Quickstart for Desktop Version What is GeoGebra? Dynamic Mathematics Software in one easy-to-use package For learning and teaching at all levels of education Joins interactive 2D and 3D geometry, algebra,
RVA: RESERVOIR VISUALIZATION AND ANALYSIS USER MANUAL Beta 0.1.0 D. Keefer, D. Torridi, J. Duggirala Copyright 2011, University of Illinois at Urbana Champaign (UIUC). All Rights Reserved. 1 CONTENTS About...
School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions
Tutorial: 2D Pipe Junction Using Hexa Meshing Introduction In this tutorial, you will generate a mesh for a two-dimensional pipe junction, composed of two inlets and one outlet. After generating an initial
Advanced visualization with VisNow platform Case study #2 3D scalar data visualization This work is licensed under a Creative Commons Attribution- NonCommercial-NoDerivatives 4.0 International License.
3D Visualization of Building Services in Virtual Environment GRÖHN, Matti Gröhn; MANTERE, Markku; SAVIOJA, Lauri; TAKALA, Tapio Telecommunications Software and Multimedia Laboratory Department of Computer
A Multiresolution Approach to Large Data Visualization John Clyne 1 Abstract Numerical simulations of turbulent flow, which are fundamental to the study of weather, climate, oceanography, astrophysics,
Nonlinear Analysis: Modelling and Control, 2003, Vol. 8, No. 2, 71 82 FDVis: the Interactive Visualization and Steering Environment for the Computational Processes Using the Finite-Difference Method A.
Activity: Using ArcGIS Explorer Requirements You must have ArcGIS Explorer for this activity. Preparation: Download ArcGIS Explorer. The link below will bring you to the ESRI ArcGIS Explorer download page.
DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7 UNDER THE GUIDANCE Dr. N.P. DHAVALE, DGM, INFINET Department SUBMITTED TO INSTITUTE FOR DEVELOPMENT AND RESEARCH IN BANKING TECHNOLOGY
FileMaker Pro and Microsoft Office Integration page Table of Contents Executive Summary...3 Introduction...3 Top Reasons to Read This Guide...3 Before You Get Started...4 Downloading the FileMaker Trial
Creating a New Project and Map Layout ArcGIS Pro allows you to assemble all the resources required to complete a project in one place. A project contains maps, layouts, tasks, and connections to servers,
14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected
Microsoft Access 2010 Part 1: Introduction to Database Design What is a database? Identifying entities and attributes Understanding relationships and keys Developing tables and other objects Planning a
Efficient Storage, Compression and Transmission of Complex 3D Models context & problem definition general framework & classification our new algorithm applications for digital documents Mesh Decimation
Interactive 3D Medical Visualization: A Parallel Approach to Surface Rendering 3D Medical Data Terry S. Yoo and David T. Chen Department of Computer Science University of North Carolina Chapel Hill, NC
Outline Fundamentals What is vis? Some history Design principles The visualization process Data sources and data structures Basic visual mapping approaches Rendering (of 3D data) Scalar fields (isosurfaces
EZClaim Appointment Scheduler User Guide Last Update: 11/19/2008 Copyright 2008 EZClaim This page intentionally left blank Contents Contents... iii Getting Started... 5 System Requirements... 5 Installing
Interactive Data Visualization with Focus on Climate Research Michael Böttinger German Climate Computing Center (DKRZ) 1 Agenda Visualization in HPC Environments Climate System, Climate Models and Climate
IGSTK: a software toolkit for image-guided surgery applications Kevin Cleary a,*, Luis Ibanez b, Sohan Ranjan a, Brian Blake c a Imaging Science and Information Systems (ISIS) Center, Department of Radiology,
NDA-30141 ISSUE 1 STOCK # 200893 CallCenterWorX-Enterprise IMX MAT Quick Reference Guide MAY, 2000 NEC America, Inc. LIABILITY DISCLAIMER NEC America, Inc. reserves the right to change the specifications,
Visualisation in the Google Cloud by Kieran Barker, 1 School of Computing, Faculty of Engineering ABSTRACT Providing software as a service is an emerging trend in the computing world. This paper explores
Chapter 3 Computer Science Development of a Visualization Scheme for Large-scale Data on the Earth Simulator Group Representative Yoshio Suzuki R&D Group for Parallel Processing Tools, Center for Promotion
Generate Point Clouds Tutorial This tutorial shows how to generate point clouds from IKONOS satellite stereo imagery. You will view the point clouds in the ENVI LiDAR Viewer. The estimated time to complete
Laminar Flow in a Baffled Stirred Mixer Introduction This exercise exemplifies the use of the rotating machinery feature in the CFD Module. The Rotating Machinery interface allows you to model moving rotating