Comparative Visualization and Time-strip View

From ParaQ Wiki
Jump to navigationJump to search

Use cases:

  1. User has a simulation that has 2 parameters: free-stream velocity and attack angle. User wants to compare simulations generated with 3 values of velocity and 4 values of attack angle. User wants to show an iso-surface and a cut plane for all parameter combinations side-by-side and wants to be able to interact with each case in 3D.
  2. User has a simulation that has 16 time steps. User wants to be able to see paths of a particle seeded from the same location side by side for each time step.
  3. User of VisTrails creates a parameter study by using a paraview python module and the results are displayed on the tiled display.

Limitations and requirements:

  1. There is not enough memory to keep the data for all parameters combinations in memory.
  2. The user should look at all cases from the same point of view to be able to compare.
  3. The user wants to be able to turn visibility of things on/off. Wants to be able to change the representation, array to color by etc. These need to be synced between cases.

Suggested Solution:

Comparative Visualization using ParaView GUI

  1. The user sets up a visualization with 1 representative parameter.
  2. The user selects 1 or 2 parameters, their range and possibly how they vary. It will also be possible to specify a list of values.
  3. Comparative vis. manager generates geometry for all parameter combinations that are available. There will be a representation object for each geometry object that caches it. As an additional option, we can generate images.
  4. These representations are laid out in a regular 2D grid. They are regular representation objects that are controlled by the pipeline browser, toolbar and display page. The whole grid is inside 1 view. The user can still show other views as usual.
    1. Users can show/hide objects
    2. Users can change representation
    3. Users can color by any array
    4. Each cell in the grid will have a configurable label showing parameter values
    5. The view will be showable on the client GUI or tiled-display. Each cell in the view will still be a full render window.
  5. If the user changes a parameter and applies, the whole comparative visualization is regenerated (we will ask the user first since it may be a long operation).

Comparative Visualization using Python Interface

The solution described above will be available through the server manager python API. How this is used depends on the application driving it. An application that might want to manage pipeline creation and parameter editing (like VisTrails) can directly interact with the comparative vis. view and by-pass the comparative vis manager. This would still give access to the ParaView's parallel processing, client-server and tiled display capabilities.

Open issues:

  1. Importing parameters: The only parameter that can be imported from a data file is time step. There should be an easy and general way for readers to specify parameter ranges. There is probably no need for the pipeline to be aware of these parameters. Only the application.
  2. Saving results: Should it be possible to export the geometry generated by the comparative visualization as well as the state? Should the parameter values used be stored somewhere? Maybe a database? In the future, I can see this functionality extended to generate any collection of datasets per case. For example, this may be a grid (image data) of numbers calculated by a programmable filter or a grid of plots. Maybe these results should be saved in a database so that the user can go back and load them without regenerating the whole thing?