Visualization Working Group Work Plan as of 25 February 2011.
As is standard for Geant4 Planned Features documents,
(1) means expected to be done in first half of year
(2) means expected to be done in second half of year
(*) means may get to this in second half of year or may take longer
Update DAWN to work on latest versions of Windows - (1) Satoshi
gMocren Application: Release Mac version - (1) Akinori
Only version so far for Mac is an unreleased Alpha version. Need to at least move to a public Beta.
gMocren Application: Fine tune - (1) Akinori
Combine some of the separate menus such that the user can see at a glance all of the different options for overlays: patient, dose, geometry, trajectories.
Show all options even if some are not available in the data file, maybe greyed out, so that the user always understands that this tool is capable of doing all of these overlays.
gMocrenFile: Produce tutorial - (1) Akinori, Kyoko, Satoshi
Improvements to Qt Viewers in QtUI - (1) Laurent
Extend Qt with panels for high-precision values input, hierarchy control, GL-free rendering
Add new panel in order to choose cuts/zoom/rotation/center (better precision than with mouse).
Add new panel to choose displayed volumes as in HepRep.
New driver OGLFile, using OpenGL to make PS, EPS, JPG without graphics window - (1/2) Laurent
Possible use includes batch jobs, an environment where there is no graphics window.
Also support compressed formats, such as ps.gz.
Add commands to DAWNFILE for output file, dir, culling, max file num, precision - (1/2/*) Satoshi
Most of these are currently only configurable from environment variables.
Extensions of OpenInventor Viewer - (1/2/*) Rastislav and Fred
New functionality motivated by beam line applications, but should be generally useful.
Save and restore the viewpoint (between runs).
Save and restore a series of viewpoints (in effect, a bookmarks file for views) stored in a file.
Interactive editing of viewpoint lists.
Stepwise rotation of views around axes defined locally (e.g. 90 degree rotations to obtain projections).
Navigation of the geometry by distance along a user-defined path.
User selection of view transition options.
Geometry fly-through using SoXtFlyViewer.
Escape key callback to return control to Geant4 UI.
Try to eliminate the need for “escape” by modifying the event loop to handle terminal input.
Web-Based OpenGL rendering service based on Wt - (2) Laurent
New web-based driver can easily be made as a copy of the Qt driver.
gMocrenFile: Add support for rendering patient from 3D parameterization - (2) Akinori
Currently only supports nested and phantom parameterisations.
gMocrenFile: Add an extended example to show how to use gMocrenFile with scorers - (2) Akinori
Enable easy visualization of GPS sources - (2) John
Might be part of a general scheme to visualize primary particles.
Could use an interface to the G4Event, or an interface to G4VPrimaryGenerator (so for all guns).
Could show not only the vertex position, but also the direction, etc.
Might also show the GPS shape, drawing it based on the GPS parameters (centre, radius, etc).
Integrate the Inventor viewers within the QtUI environment - (2/*) Guy and Laurent
QtIU would become the natural UI to play both with OpenGL and Inventor/coin3d for people that look for a solution plugged directly on the G4 kernel.
gMocren Application: Handle scoring on a tetrahedral mesh - (*) Akinori and Satoshi
Not easy. gMocren does not yet support non-regular mesh.
Techniques to display this are only in very early stages of development.
Key tasks for which we do not have manpower:
Investigate dynamic loading of visualization drivers - (*)
Change from current flat format to hierarchical format in VRML - (*)
Integrated visualization of field lines - (*)
Electric, magnetic, maybe even gravitational.
Full support for visualization of boolean shapes - (*)
Boolean operations on polyhedral representations of Geant4 solids for visualisations were improved in 9.3. But it is still not a general solution. It is a workaround based on finding a good way of shifting one solid relative to the other by a small amount. The most serious computational problems arise when faces coincide. We have had a simple shifting algorithm in place for many years; in 9.3 this algorithm became a little more sophisticated. In a test it fixed 96% of failures. There remains a stubborn 4%. (The effect of a failure is to prevent visualisation of the boolean solid, except with the ray tracer driver, which does not rely on polyhedrons.) We might be able to make the shifting workaround yet more sophisticated but, ideally, we really need a comprehensive solution, a daunting re-write and improvement of the basic facet-intersection algorithms.