ParaView 3.6 Deliverables: Difference between revisions

From ParaQ Wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Deliverables to Complete ==
{| border=1
{| border=1
! Name
! Name
Line 6: Line 8:
|ParaView/Titan Chart Merger
|ParaView/Titan Chart Merger
|If not already complete.
|If not already complete.
| Pat/Utkarsh
|-
|-
| Tables
| Tables
Line 15: Line 18:
* Support reading other delimited text files.
* Support reading other delimited text files.
* Simple conversion from tables to other data (such as collection of points).
* Simple conversion from tables to other data (such as collection of points).
|-
| Utkarsh
| Multicore
| Multi-core desktops are becoming commonplace. It is now reasonable for a user to invest in an 8 core desktop with several GB of memory in lieu of a visualization cluster. Unfortunately, ParaView has no good way of taking advantage of the multiple cores.
|-
| D4
| Time to get rolling on the next generation distributed data decomposition filter.  [[D4 Design]]
|-
|-
| More multiblock
| More multiblock
|
|
* Ability to map a partial array and have all blocks not having the array a solid color.
* Ability to map a partial array and have all blocks not having the array a solid color.
| Utkarsh (research)
|-
|-
| Simplified state/scripting
| Simplified state/scripting
| Right now getting any scripting in ParaView has a high learning curve. State files are unreadable and almost completely uneditable. To do any scripting at all, you need to learn a significant chunk of Python bindings. To make this easier, ParaView should output a much more friendly way of scripting things. Either the state written out should be much simpler (show only the things that pertain to the current view) or be able to write out a very simplified Python script to get back to the state, or both.  
| Right now getting any scripting in ParaView has a high learning curve. State files are unreadable and almost completely uneditable. To do any scripting at all, you need to learn a significant chunk of Python bindings. To make this easier, ParaView should output a much more friendly way of scripting things. Either the state written out should be much simpler (show only the things that pertain to the current view) or be able to write out a very simplified Python script to get back to the state, or both.  
|-
| Berk/Utkarsh
| Foreground color
| Add ability to specify a foreground color for a view (in addition to the background color).  The foreground color is the default color for text, lines, and that sort of thing in 2D and 3D widgets.
|-
|-
| Particle Support
| Particle Support
Line 38: Line 35:
** Optional sizing based on a scalar
** Optional sizing based on a scalar
** Appropriate alpha blending (at least when particles are small)
** Appropriate alpha blending (at least when particles are small)
** Splatting?
* Filters for meshless data? (Need to get customer requirements.)
* Filters for meshless data? (Need to get customer requirements.)
** Sampling point cloud?
** Sampling point cloud?
** Surface extraction?
** Surface extraction?
|-
: '''Note:''' Not all will be finished.  We will probably provide resizable sphere rendering for the particles and perhaps the better transfer functionWe need to talk with John Biddiscombe to learn the current state and assign responsibility.
| Movie view
| Zhanping/John Biddiscombe
| Add movie file readers that behave like an image reader the supports timeWhen viewed in a 2D image view with the time controls, ParaView becomes a simple movie viewer.
|-
|-
| Temporal cleanup  
| Temporal cleanup  
Line 50: Line 47:
* Show continuous data set temporal bounds in info page  
* Show continuous data set temporal bounds in info page  
* Plot/Probe over time, results should very in Sequence, Snap, and Real Time modes  
* Plot/Probe over time, results should very in Sequence, Snap, and Real Time modes  
| Berk
|-
|-
| Plots along curves
| Plots along curves
Line 55: Line 53:
* Intersection of surface with plane.
* Intersection of surface with plane.
* Path between two points on a plane.
* Path between two points on a plane.
: '''Note:''' This is not a high priority, but it should be easy.  Delay until later if it requires more than 3 days of work.
| Berk/Utkarsh
|-
| VisIt AVT Integration
| We would like to pull VisIt components into ParaView (such as readers and filters).  To this end, we would like to have an interface that would convert AVT to the VTK executives (or vice versa) so that we could leverage these without changing any code.
: '''Partial:''' For 3.6, let's just do the readers.
| Burlen
|-
| Statistics
| Integrate Phillipe Pebay's statistics filtering and then some.
| Phillipe
|}
== Deliverables to Start ==
{| border=1
! Name
! Description
! Owner
! Level of Involvement
|-
| Multicore
| Multi-core desktops are becoming commonplace. It is now reasonable for a user to invest in an 8 core desktop with several GB of memory in lieu of a visualization cluster. Unfortunately, ParaView has no good way of taking advantage of the multiple cores.
* As low hanging fruit, the first implementation is probably just a way to launch an mpi builtin server.  This should be able to be handled internally, so you don't need to create a special server.
* There are some issues with rendering.  There is no longer a GPU per process.
| Berk
| Research
|-
| D4
| Time to get rolling on the next generation distributed data decomposition filter.  [[D4 Design]]
| Andy Bauer
| Start
|-
| Foreground color
| Add ability to specify a foreground color for a view (in addition to the background color).  The foreground color is the default color for text, lines, and that sort of thing in 2D and 3D widgets.
| Pat
| Start. Perhaps provide some implementation for common components.
|-
| vtkIdType size
| Currently the user must select the size of vtkIdType (32 vs 64) at compile time.  This is not an ideal way to select the id size.  Usually, you want 32 bit ids (for the smaller size), but when dealing with large MPI jobs, there is a chance you might need to represent global ids with 64 bits.  We should look into possible ways to support selecting an Id size at run time without breaking backwards compatibility.
| Berk
| Research
|-
| Better labeling
| The Infovis group has made a labeler that works well in 3D.  We should integrate that into ParaView.
| Zhanping
| Look into Dave Thompson's code (and ask Jeff Baumes about it).  If it is really production ready, we can bump this up.
|-
| Scatterplots
| The current line plot can be used to do scatterplots of small amount of data, but it cannot be used to, say, a plot of two field variables for a large parallel vtkDataSet.  An efficient implementation will have to use OpenGL and parallel image compositing.
|
| Look into VisIt's 2D scatterplot implementations.  We really could use this sooner rather than later, but it is probably too big a project to finish by 3.6.  If we could leverage other code, that would be great.
|-
| Parallel coordinates.
| Why doesn't ParaView have parallel coordinate views?  There may be more work than just grabbing what is available in VTK.  It has to work in parallel servers.  Also, it probably won't be very useful without the 2D histogram line accumulation technique.
|
| Take a look at VisIt's.  It works in parallel and supports the 2D histogram technique.
|-
|}
== Deliverables Delayed for Later ==
{| border=1
! Name
! Description
! Owner
! Note
|-
| Branded ParaView
| OverView has implemented this concept of branding.  In this case, ParaView starts up as a mostly blank GUI and then loads a set up plugins definined by the branding.  The ParaView application should really just be a set of plugins that load into this.
| Utkarsh
|-
| Movie view
| Add movie file readers that behave like an image reader the supports time.  When viewed in a 2D image view with the time controls, ParaView becomes a simple movie viewer.
| Zhanping
| Lisa Ice originally requested this.  We should talk to her again to get the use case/priority.
|-
|-
| Custom filter cleanup
| Custom filter cleanup
Line 61: Line 135:
** Reuse this dialog to implement an edit custom filter feature.
** Reuse this dialog to implement an edit custom filter feature.
* Implement links in custom filters.
* Implement links in custom filters.
| Zhanping/Clint
|-
|-
| Shaders
| Shaders
| Implementation in 2.6 is "experimental" and does not seem to be of any practical use to anyone. Utkarsh is working on new GPU pipeline stuff. Next generation should take advantage of that.
| Implementation in 2.6 is "experimental" and does not seem to be of any practical use to anyone. Utkarsh is working on new GPU pipeline stuff. Next generation should take advantage of that.  
: This may end up being documenting how to add new representations through plugins etc. [[User:Utkarsh|Utkarsh]] 09:32, 27 October 2008 (EDT)
| Utkarsh
|-
|-
| vtkIdType size
| Unordered Color maps
| Currently the user must select the size of vtkIdType (32 vs 64) at compile timeThis is not an ideal way to select the id sizeUsually, you want 32 bit ids (for the smaller size), but when dealing with large MPI jobs, there is a chance you might need to represent global ids with 64 bits.  We should look into possible ways to support selecting an Id size at run time without breaking backwards compatibility.
| Some data values do not have any logical order associated with them.  For example, block ids and process ids have identifiers that distinguish them, but there is no real meaning between the relationship of each pair.  Thus, it makes little sense to use our standard linear color mapsA much better approach would be to map individual colors to values and show these colors as blocks in the color barVisIt demonstrates this quite nicely (although the colors they use aren't perfect).
| Zhanping
|-
| Multithreaded UI
| Right now, the UI pretty much works under one thread.  When a pipeline update occurs, pretty much everything comes to a halt while the update happens.  Likewise, a long render could cause everything to wait.  We would like the ability to run pipeline updates and rendering on different threads so that the UI remains responsive.
: This is a huge can of worms that would destabilize ParaView for a long time. Nothing in server manager is even close to being thread safe. I think we should focus on the actual use case: making the user interface responsive (i.e. progress reporting and abort) while processing occurs. [[User:Berk|Berk]] 08:43, 27 October 2008 (EDT)
| Utkarsh
|-
|-
| VisIt AVT Integration
| We would like to pull VisIt components into ParaView (such as readers and filters).  To this end, we would like to have an interface that would convert AVT to the VTK executives (or vice versa) so that we could leverage these without changing any code.
|}
|}
== 3.6.1 Release Announcement ==
<pre>
Folks,
Kitware, Sandia National Laboratories and Los Alamos National Lab are
proud to announce the release of ParaView 3.6. The binaries and
sources are available for download from the ParaView website
(http://www.paraview.org/paraview/resources/software.html). This
release includes several new features along with plenty of bug fixes
addressing a multitude of usability and stability issues including
those affecting parallel volume rendering. For a more exhaustive list,
please refer to http://paraview.org/Bug/roadmap_page.php
Based on user feedback, ParaView's Python API has undergone a major
overhaul. The new simplified scripting interface makes it easier to
write procedural scripts mimicking the steps users would follow when
using the GUI to perform tasks such as creating sources, applying
filters, etc. Details on the new scripting API can be found on the
Paraview Wiki.
We have been experimenting with adding support for
additional file formats such as CGNS, Silo, Tecplot using VisIt
plugins. Since this is an experimental feature, only the Linux
binaries distributed from our website support these new file formats.
ParaView now natively supports tabular data-structures thus improving
support for CSV files including importing CSV files as point-sets or
structured grids. We have completely redesigned the charting/plotting
components with several performance fixes as well as usability
improvements. It is possible to plot arrays from arbitrary datasets
directly using Plot Data filter. Upon hovering over the plots tooltips
are shown which detail the plotted values.
In an effort to better support animations involving the camera, we
have added support for specifying camera movements along splines or
for orbiting around objects in space. This version has many GUI
usability improvements including, but definitely not limited to:
• Color palettes which make it easier to switch between color schemes
that are suitable for printing and for screen.
• Improved support for temporal readers and filters.
• Axes annotations and scalar bar for 2D render view.
• Zooming to selected region in 3D view.
• Quick launch for creating sources and filters using Ctrl+Space or Alt+Space.
Apart from these enhancements, ParaView includes a pre-alpha release of
OverView, an application developed using the ParaView application
framework. OverView is a generalization of the ParaView scientific
visualization application designed to support the ingestion,
processing and display of informatics data. The ParaView client-server
architecture provides a mature framework for performing scalable
analysis on distributed memory platforms, and OverView uses these
capabilities to analyze informatics problems that are too large for
individual workstations. This application still contains many
experimental features and is not yet documented, but feel free to try
it out and report bugs and feature requests.
StreamingParaView, another application developed using the ParaView
application framework.  StreamingParaView processes structured
datasets in a piecewise fashion, on one or many processors. Because
the entire dataset is never loaded into memory at once,
StreamingParaView makes it possible to visualize large datasets on
machines that have insufficient RAM to do so otherwise. Piece culling,
reordering and caching preserve ParaView's normally high interactivity
while streaming. This application still contains many experimental
features and is not yet documented, but we encourage users to try it
out and report bugs and feature requests.
Currently, both OverView and StreamingParaView are available through
source alone.
Bugs, feature requests and any questions or issues can be posted to
the ParaView Mailing List at paraview@paraview.org.
As always, we rely on your feedback to make ParaView better and
powerful. We are experimenting with a new user-feedback mechanism.
Please use http://paraview.uservoice.com/ or click
on the "Tell us what you think" link of www.paraview.org to leave your
feedback and vote for new features.
The ParaView Team.
</pre>

Latest revision as of 13:07, 24 July 2009

Deliverables to Complete

Name Description Owner
ParaView/Titan Chart Merger If not already complete. Pat/Utkarsh
Tables
  • Make vtkTables a supported pipeline object type. It should have its own icon in the pipeline browser. The default view should probably be spreadsheet.
  • Charting components (XY plot, histogram, stacked chart, etc.) should support tables as an input (other input types like rectilinear grid may be unnecessary).
  • Plotting filters (plot over time, plot over time, histogram) should output tables.
  • csv readers/writers should work principally (perhaps exclusively) with tables.
  • Support reading other delimited text files.
  • Simple conversion from tables to other data (such as collection of points).
Utkarsh
More multiblock
  • Ability to map a partial array and have all blocks not having the array a solid color.
Utkarsh (research)
Simplified state/scripting Right now getting any scripting in ParaView has a high learning curve. State files are unreadable and almost completely uneditable. To do any scripting at all, you need to learn a significant chunk of Python bindings. To make this easier, ParaView should output a much more friendly way of scripting things. Either the state written out should be much simpler (show only the things that pertain to the current view) or be able to write out a very simplified Python script to get back to the state, or both. Berk/Utkarsh
Particle Support Leverage the work from CSCS.
  • Provide a particle representation that renders points more intelligently
    • Spheres with size vs. squares of pixel width
    • Optional sizing based on a scalar
    • Appropriate alpha blending (at least when particles are small)
    • Splatting?
  • Filters for meshless data? (Need to get customer requirements.)
    • Sampling point cloud?
    • Surface extraction?
Note: Not all will be finished. We will probably provide resizable sphere rendering for the particles and perhaps the better transfer function. We need to talk with John Biddiscombe to learn the current state and assign responsibility.
Zhanping/John Biddiscombe
Temporal cleanup
  • Show temporal bounds of all datasets in statistics view (or elsewhere)
  • Show continuous data set temporal bounds in info page
  • Plot/Probe over time, results should very in Sequence, Snap, and Real Time modes
Berk
Plots along curves Now you can plot along a line segment in space (defined by two endpoints). Users want to plot along other types of curves in space.
  • Intersection of surface with plane.
  • Path between two points on a plane.
Note: This is not a high priority, but it should be easy. Delay until later if it requires more than 3 days of work.
Berk/Utkarsh
VisIt AVT Integration We would like to pull VisIt components into ParaView (such as readers and filters). To this end, we would like to have an interface that would convert AVT to the VTK executives (or vice versa) so that we could leverage these without changing any code.
Partial: For 3.6, let's just do the readers.
Burlen
Statistics Integrate Phillipe Pebay's statistics filtering and then some. Phillipe

Deliverables to Start

Name Description Owner Level of Involvement
Multicore Multi-core desktops are becoming commonplace. It is now reasonable for a user to invest in an 8 core desktop with several GB of memory in lieu of a visualization cluster. Unfortunately, ParaView has no good way of taking advantage of the multiple cores.
  • As low hanging fruit, the first implementation is probably just a way to launch an mpi builtin server. This should be able to be handled internally, so you don't need to create a special server.
  • There are some issues with rendering. There is no longer a GPU per process.
Berk Research
D4 Time to get rolling on the next generation distributed data decomposition filter. D4 Design Andy Bauer Start
Foreground color Add ability to specify a foreground color for a view (in addition to the background color). The foreground color is the default color for text, lines, and that sort of thing in 2D and 3D widgets. Pat Start. Perhaps provide some implementation for common components.
vtkIdType size Currently the user must select the size of vtkIdType (32 vs 64) at compile time. This is not an ideal way to select the id size. Usually, you want 32 bit ids (for the smaller size), but when dealing with large MPI jobs, there is a chance you might need to represent global ids with 64 bits. We should look into possible ways to support selecting an Id size at run time without breaking backwards compatibility. Berk Research
Better labeling The Infovis group has made a labeler that works well in 3D. We should integrate that into ParaView. Zhanping Look into Dave Thompson's code (and ask Jeff Baumes about it). If it is really production ready, we can bump this up.
Scatterplots The current line plot can be used to do scatterplots of small amount of data, but it cannot be used to, say, a plot of two field variables for a large parallel vtkDataSet. An efficient implementation will have to use OpenGL and parallel image compositing. Look into VisIt's 2D scatterplot implementations. We really could use this sooner rather than later, but it is probably too big a project to finish by 3.6. If we could leverage other code, that would be great.
Parallel coordinates. Why doesn't ParaView have parallel coordinate views? There may be more work than just grabbing what is available in VTK. It has to work in parallel servers. Also, it probably won't be very useful without the 2D histogram line accumulation technique. Take a look at VisIt's. It works in parallel and supports the 2D histogram technique.

Deliverables Delayed for Later

Name Description Owner Note
Branded ParaView OverView has implemented this concept of branding. In this case, ParaView starts up as a mostly blank GUI and then loads a set up plugins definined by the branding. The ParaView application should really just be a set of plugins that load into this. Utkarsh
Movie view Add movie file readers that behave like an image reader the supports time. When viewed in a 2D image view with the time controls, ParaView becomes a simple movie viewer. Zhanping Lisa Ice originally requested this. We should talk to her again to get the use case/priority.
Custom filter cleanup
  • Replace the "wizard" with a single dialog which can be used to edit all of the features at once.
    • Reuse this dialog to implement an edit custom filter feature.
  • Implement links in custom filters.
Zhanping/Clint
Shaders Implementation in 2.6 is "experimental" and does not seem to be of any practical use to anyone. Utkarsh is working on new GPU pipeline stuff. Next generation should take advantage of that.
This may end up being documenting how to add new representations through plugins etc. Utkarsh 09:32, 27 October 2008 (EDT)
Utkarsh
Unordered Color maps Some data values do not have any logical order associated with them. For example, block ids and process ids have identifiers that distinguish them, but there is no real meaning between the relationship of each pair. Thus, it makes little sense to use our standard linear color maps. A much better approach would be to map individual colors to values and show these colors as blocks in the color bar. VisIt demonstrates this quite nicely (although the colors they use aren't perfect). Zhanping
Multithreaded UI Right now, the UI pretty much works under one thread. When a pipeline update occurs, pretty much everything comes to a halt while the update happens. Likewise, a long render could cause everything to wait. We would like the ability to run pipeline updates and rendering on different threads so that the UI remains responsive.
This is a huge can of worms that would destabilize ParaView for a long time. Nothing in server manager is even close to being thread safe. I think we should focus on the actual use case: making the user interface responsive (i.e. progress reporting and abort) while processing occurs. Berk 08:43, 27 October 2008 (EDT)
Utkarsh

3.6.1 Release Announcement

Folks,

Kitware, Sandia National Laboratories and Los Alamos National Lab are
proud to announce the release of ParaView 3.6. The binaries and
sources are available for download from the ParaView website
(http://www.paraview.org/paraview/resources/software.html). This
release includes several new features along with plenty of bug fixes
addressing a multitude of usability and stability issues including
those affecting parallel volume rendering. For a more exhaustive list,
please refer to http://paraview.org/Bug/roadmap_page.php

Based on user feedback, ParaView's Python API has undergone a major
overhaul. The new simplified scripting interface makes it easier to
write procedural scripts mimicking the steps users would follow when
using the GUI to perform tasks such as creating sources, applying
filters, etc. Details on the new scripting API can be found on the
Paraview Wiki.

We have been experimenting with adding support for
additional file formats such as CGNS, Silo, Tecplot using VisIt
plugins. Since this is an experimental feature, only the Linux
binaries distributed from our website support these new file formats.

ParaView now natively supports tabular data-structures thus improving
support for CSV files including importing CSV files as point-sets or
structured grids. We have completely redesigned the charting/plotting
components with several performance fixes as well as usability
improvements. It is possible to plot arrays from arbitrary datasets
directly using Plot Data filter. Upon hovering over the plots tooltips
are shown which detail the plotted values.

In an effort to better support animations involving the camera, we
have added support for specifying camera movements along splines or
for orbiting around objects in space. This version has many GUI
usability improvements including, but definitely not limited to:
• Color palettes which make it easier to switch between color schemes
that are suitable for printing and for screen.
• Improved support for temporal readers and filters.
• Axes annotations and scalar bar for 2D render view.
• Zooming to selected region in 3D view.
• Quick launch for creating sources and filters using Ctrl+Space or Alt+Space.

Apart from these enhancements, ParaView includes a pre-alpha release of
OverView, an application developed using the ParaView application
framework. OverView is a generalization of the ParaView scientific
visualization application designed to support the ingestion,
processing and display of informatics data. The ParaView client-server
architecture provides a mature framework for performing scalable
analysis on distributed memory platforms, and OverView uses these
capabilities to analyze informatics problems that are too large for
individual workstations. This application still contains many
experimental features and is not yet documented, but feel free to try
it out and report bugs and feature requests.

StreamingParaView, another application developed using the ParaView
application framework.  StreamingParaView processes structured
datasets in a piecewise fashion, on one or many processors. Because
the entire dataset is never loaded into memory at once,
StreamingParaView makes it possible to visualize large datasets on
machines that have insufficient RAM to do so otherwise. Piece culling,
reordering and caching preserve ParaView's normally high interactivity
while streaming. This application still contains many experimental
features and is not yet documented, but we encourage users to try it
out and report bugs and feature requests.

Currently, both OverView and StreamingParaView are available through
source alone.

Bugs, feature requests and any questions or issues can be posted to
the ParaView Mailing List at paraview@paraview.org.

As always, we rely on your feedback to make ParaView better and
powerful. We are experimenting with a new user-feedback mechanism.
Please use http://paraview.uservoice.com/ or click
on the "Tell us what you think" link of www.paraview.org to leave your
feedback and vote for new features.

The ParaView Team.