wiki:renderserverstodo
Last modified 5 weeks ago Last modified on 07/26/15 15:35:47

TODO list for Rappture 1.5 and Render Servers Release.

  • (gah) What to do about 1D fields? especially when the VTK file (prophet) contains multiple fields? Should this be converted into multiple curves? a table? I'm assuming the eventual output should be a stacked graph of some short. This will be possible with the new BLT graph.
  • (gah) new <dataset> tag.
    • Acts as container for multi-field VTK files.
    • Can specify units, titles, styles for each field.
    • Lets one assemble multiple fields without VTK.
    • Does this work for combinations like molecules and volumes?
    • Does this make sense for specifying the mesh?
  • (gah) Add parallelepiped support to vtkviewer (drawing output)
  • (gah) Add/fix legend for vtkviewer: polydata, glyphs, molecules
  • (gah) Add VTK file download to nanovis/flowvis viewers
  • Improve documentation and examples of new mesh/field usage. Document vtk component in field element doc.
  • (ldelgass) Add ortho camera mode to nanovis
  • (gah) Feature: Add drop-down for sample opacity maps.
  • Look into replacing nanovis flow with streamlines
  • DX removal: this is the most important item. Much code in the nanovisviewer client can be removed and streamlined when DX is no longer sent to the server. vtkvolumeviewer should take its place but for fields with multiple volumes.
    • Problem with resampling VTK non-uniform grids when point coords are very small (e.g. omennanowire outputs coords in meters instead of nanometers). See: VTK Bug 13139
Application Workaround
abinit ??? generates VTK ???
prophet UCD to VTK
omenwire RpDxToVtk converter generates unstructured grid with wedges (See above re: resampling)
qdot Convert to mesh.grid
with simple uniform grids RpDxToVtk converter

DICOM Viewer

  • Look at other DICOM viewers to see what controls are needed.
    • Generate transfer function from histogram.
    • Turn on/off segments of transfer function.

TODO list for Rappture 1.4 and Render Servers Release.

  • Multiple simulation results in mesh zoo example cause stretch to fit to turn on.
  • A bug in VTK 6.1 exists related to bounds, clipping planes and camera resets. Solutions: 6.1 in runtime now has a patch which fixes this issue.
  • Fix bug with reentrant SendBytes? Fixed by using blocking write? Need to revisit this.
  • Transfer function style (-color -levels) not honored by vtkvolume viewer. See volume1 test. Leif: This is NOT fixed The -color setting in volume1 test isn't used or is overriden by the default. Note that the style setting was previously commented out in the test.
  • Problem with colormap styles: If colormap is not a predefined, named colormap, drop-down can't include user-defined colormap. Should allow users to define named colormaps.
  • Need to support constant color mode as well as colormap mode. Style should use -color for constant color and -colormap for ramps. -colormode style would select "constant", "vmag", "scalar", etc.
  • Opacity style is not consistent. Styles should use either [0,1] or [0%,100%] with percent symbol. Problem is that recent changes pass style unchanged to scale widget using [0,100] range.
  • vtkvolumeviewer: Hiding both cutplanes and volume causes scale to change (Is "map visible" the default?).
    • Leif:The scene bounds used to reset the axes bounds and camera frustum are based on visible objects now. Note that this doesn't have anything to do with "map visible" as that applies only to color maps.
  • In nanovis viewer: Changes in volume shading and transfer function settings not applied to new volumes in sequence. e.g. in qdot test change settings then move to a new energy level.
  • Background color for field viewers (e.g. vtkglyphviewer) based on 2d vs. 3D result because of TK option entries in 2D/3D field result scripts, but this color is not synchronized with background setting/dropdown in viewer. Also, should we just pick one default for viewers regardless of data dimensionality? Field result 2D/3D merged into one field result.
  • Update flowvisviewer to use transfer function editor widget
  • Apply outline color to new volumes in nanovisviewer/flowvisviewer
  • Add foreground color setting to transfer function editor widget
  • (gah) Add background color controls for nanovis
    • Make legend visible checkbutton work.
    • Fix outline to not display initially.
    • Match foreground color of legend with background of plot changes.
  • (gah) Fix transfer function width control when peaks overlap
  • (gah) Up direction in nanovis comes too late for camera reset
  • (ldelgass) Fix jumps in panning
  • Fix transfer functions in nanovis: sometimes transfer function is used before it is defined.
  • (gah) Bug: Console should use balloon not to take up the whole window. Also add binding for toggling into console itself.
  • Unirect3d removal: convert omenhfet to use mesh/field.
  • (ldelgass Make mesh without field (mesh.hide = no) work for 3D meshes using new vtmeshkviewer.
  • (gah) Fix initialization of volume settings in vtkvolume, e.g. thickness
  • (gah) Bug: (nanovisviewer) Transfer function editor always adding isomarkers to the same component, regardless of which is selected in combo box
  • (gah) Feature: (nanovisviewer/vtkvolumerviewer) Add Delete key binding to remove markers.
  • (ldelgass) Fix field limits for vectors to return magnitude and component-wise limits. Currently returns limits across all components.
  • (gah) Feature: Add transfer function (palette) changes.
  • Heightmap/contour viewer: Set stretch mode based on units, scales of axes. Get axis labels from mesh.
  • Generate wedge cells for nanowire meshes in DxToVtk? converter
  • Support CONECT records in PDB files in PdbToVtk? converter
  • (ldelgass) Add cutplane button under volume button for nanovisviewer
  • Add shading controls for specularity in nano/flowvisviewers

Isosurface Viewer

  • Redundant "maprange explicit" commands causes flash when toggling custom range
  • Make custom range field-specific setting
  • Buttons to set custom range to data range or cumulative data range
  • Add DataSet? stats info tab

DICOM Viewer

  • (gah) Window/level control for vtkimage: show values, allow entering specific values, set defaults and ranges based on data limits
  • (gah) Contents of <dicom> tag is a path: file or directory. If directory, display 3D volume. If file, display 2D image. Is this stupid?
    • ldelgass: We really need a dataset object to handle this properly, a directory can expand into multiple datasets, some 2D and some 3D.
  • (ldelgass) Some DICOM examples don't load (length = -1). It appears these files have embedded JPG2000 images that vtkDICOMImageReader doesn't handle.
  • (gah) Add transfer function controls to vtkvolumeviewer. Then fix field.tcl to use vtkvis instead of nanovis for 3D dicom volumes.
  • (gah) Bug: Contour sequences reset isolines control for new sequences.

TODO list for Rappture 1.3 and Render Servers Release.

  • Extend field element with a way to express vector (and tensor?) fields
  • (ldelgass) Check scaling in qdot with multiple simulation results
  • (ldelgass) Convert pan values in nanovis from viewport coords to world coords
  • (ldelgass) Bug: camera issues in bat/tests/contour5. When initially switching to heightmap, result is blank. Clicking view buttons sometimes fails. Also axis font size gets scaled up when switching views.
  • (ldelgass) Bug: Minimum major tick label isn't displayed in contour5 test.
  • (gah) Change method of requesting isosurfaces to compute locations just inside of the min and max bounds.
  • (gah) Hide dataset outline in heightmap (3D) mode
  • (gah) Add number of isosurfaces control to vtkisosurfaceviewer, similar to number of isolines control in vtkheightmapviewer
  • (gah) Lower wait in imgflush. Can we do without the imgflush? Add Stop/Start buffering around the imgflush for now.
  • (gah) Fix cutplane state in isosurfaces. Keeps changing on resets/rebuilds.
  • (gah) Bug: Multi-field problems: limits, settings colormaps. "It's close. I need to fix the vtkheightmap, vtkisosurface, vtkstreamlines widgets to handle multiple fields properly."
  • (gah) Multiple fields in VTK file. This is broken in the <field> object in how it collects limits for each field. It's broken in the client viewers in how they ask for field limits.

TODO list for Rappture 1.2 and Render Servers Release.

  • (ldelgass) Add "nv>ok" response when an image in not generated.
  • (gah) Add "nv>ok" handler to turn off wait dialog.
  • (gah) Fix vtkheightmap to distinguish between initial <style> settings and user controlled settings.
  • (gah) Add key pad enter binding to spinint.
  • (ldelgass) Opening and closing the sidebar drawer keeps reducing the size of the contour plot.
  • (gah) Fix documentation for <field>, <mesh>, <cloud>, and <unirect2d> to reflect changes.
  • (gah) Dataset outline color needs to be set after a new dataset is loaded. Similarly for nanovis, volume outline settings need to be reset when loading a new volume in a sequence
  • (ldelgass) Merge in nanovis2 branch after merging 1.2 with trunk.
  • (ldelgass) Update VTK pre 6.0 to current head
  • (gah) Fix X,Y,Z button placement on isosurface cutplane settings tab page
  • (gah) Make isosurface translucent in default state
  • (gah) Isosurface widget: Fix isoline color dropdown initial state to match line color, also fix 'none' option
  • (gah) Make streamlines cutplane initial state match isosurface (X/Y/Z buttons on, but cutplanes off).
  • (gah) Add curvilinear type to <mesh> documentation.
  • (gah) Implement and write test for <unstructuredgrid> element in <mesh>.
  • (gah) Fix <field> and <mesh> examples to include new types.
  • (gah) Merge Rappture1.2 with trunk.
  • (ldelgass) Write stats for vtkvis.
  • (gah) Bug: vtk data 2D field coming up as heightmap in contour4.
  • (gah) Added contour4 example of mulitple fields in a single vtk file.
  • (gah) In each client viewer, add handler for nv>viserror messages to pop up dialog if -type is "error". If type is something else, we'll figure out what to do with it.
        nv>viserror -bytes 12345 -type error -token "optional"
    
  • (gah) Add ridiculous number of tries before generating a bgerror.
  • (gah) Set dataset, cutplane outline color on background color change (use 'dataset color...' and 'cutplane ccolor...')
  • (gah) Looks like ffmpeg libraries changed yet again. Need to update RpAVTranslate.cpp and friends in nanovis.
  • (ldelgass) Image returned for legend color ramp is off by at couple of pixels at the top.
  • (ldelgass) Bug (heightmap/contour) Zoom is wrong when switching between heightmap and contour sometimes. In streamlines initial scale is wrong. Probably pilot (gah) error.
  • (ldelgass) Fix axis label format when range changes
  • (ldelgass) Fix camera reset for nanovis (e.g. with nanowires, need to set zoom based on bounds, since we no longer work in "unit cube").
  • (ldelgass) camera reset is wrong due to initial 1x1 size request.