DAVE Master Widget Help

Table of Contents

Overview

About the DAVE Master Widget

About the DAVE Display Window

Differences between the computers

Frequently Asked Questions (FAQs)/Troubleshooting Tips

Using the Keyboard while in the Display Window

Mail Address for comments

Overview

DAVE (Data Analysis and Visualization Environment) is designed to permit interactive visualization of data. Data usually comes in one of two forms: "surface data" (also known as "objects") which come from "pts" files as produced by planimeter, autotrace or any number of other programs, and "volume data" which are images in .i2i image format. Surface data can be displayed either as a wireframe outline or as a continuous surface. Colors of the wireframes ("color" button on the "Edit Objects" widget) and surfaces ("diffuse" control on the "Edit Materials" widget) can be modified. The transparency of the surfaces can also be changed ("transparency type" and "transparency" controls on the "Edit Materials" widget). See the help button on those widgets for a detailed explanation of their use. One, 2 or 3 volume data sets can be displayed ("Show Vol." button on the "Edit Volume" widget). If two are displayed the default is as a red/green pair. The brightness and opacity of the volumes can be interactively modified. See the help button on the "Edit Volume" widget for more information. DAVE has extensive help. Each widget in DAVE has its own help page. Help is key word searchable. Help on how to use help is available by picking the HELP button on any help page.

About the DAVE Master Widget (the one on which you just picked help)

The Menus

There are 5 menus across the top. Picking a menu with the left mouse will pop up the associated menu until either an entry is picked with the right mouse button or the right mouse button is clicked outside the menu (in which case it just disappears). Alternatively you can pick a menu initially with the right mouse button in which case you must hold it down and slide to your menu choice. The "File" menu handles reading and writing files of different types of information. The "Edit" menu is probably the one most used. It pops up widgets for all types of data manipulation. The "Goodies" menu primarily controls global display parameters (not unique to one particular object or data volume). The "Stuff" menu is mostly for development work by Larry but the RESET option is sometimes generally useful. The "Transform" menu controls the action of the cursor when it is in the display window with the left button depressed. The quickest overview of ALL of DAVE's capabilities is to read the help in each of these menus.

Rotation Angle

This slider controls the number of degrees by which the object orientation changes with each image update. Zero is in the center. (The angle can be specified more exactly via the Edit->Misc Props widget.) The right arrow button will cause one image update when the display is Paused. The left arrow button causes one update in the opposite direction. This is a useful way to precisely orient the object and also comes in handy to snapshot stereo pairs of images (to rotate 3 degrees about y to get the second image of the pair). Note: all sliders are used by clicking with a mouse button at the spot you want the slider to move to. Do not hold down the mouse button and drag the mouse.

Rotation Speed

This slider controls how long the display waits between image updates. Moving the black slider button to the right causes longer waits, hence slowing down the speed at which the object rotates.

Translate Arrows

Pressing these arrows translates the image left, right, up, or down. Pressing the arrow keys on the keyboard has the same effect.

Scale Arrows

Pressing the right pointing arrows scales the image up. The double arrow scales up by 10 times the single arrow. Pressing the left arrows scales the image down. The right arrows are the same as pressing the = and + keys when the cursor is in the viewing window. The left arrows are the same as the - and _ keys.

Buttons

Rotation Axis: These three buttons control which axis the display will rotate around. The x axis is a horizontal axis, the y axis is a vertical axis, and the z axis is one which is perpendicular to the display screen of the monitor. The Pause button will stop any rotation. While paused (or while rotating) the object can also be rotated (or scaled - see the Transform menu) by using the mouse in the DAVE Display Window. Pause: This button pauses the display. It is a toggle. You can press the p key when in the display window to the same effect. -90/+90: Rotate by exactly 90 degrees about the specified axis. Home: This button resets the view to the Home view. Set Home: Redefines the "Home" view to be the current one. So it you want to be able to easily get back to your current view of the object (at some later time), Set Home. Then, later, click on Home to go back to the view. See also Slide Show in the Stuff menu. O. View/P. View: Toggles the view between an Orthogonal projection and a Perspective projection. When the button says "O. View" you are currently in Orthogonal projection mode. Perspective is useful when in stereo mode since the perspective reinforces the other stereo cues. HELP: Displays this help menu. Rock: When pressed (highlighted) the object will rock back and forth rather than rotating around and around (assuming it isn't Paused). Redraw: Sometimes DAVE does not update (i.e, redraw) the picture when you have changed some parameters. Pressing this forces a redraw. HIDE: Removes the master widget from the screen. You can get the widget back from the menu (right mouse button) when in the main drawing window. QUIT: Asks if you are sure you want to quit then quits if you are sure.

About the DAVE Display Window (the object display window)

Title Bar

Some status information is displayed in the title bar.

Mouse Buttons:

left mouse: holding down the left mouse button and dragging the mouse left or right will rotate the objects about the y (vertical) axis. Dragging up or down will rotate about the x axis (horizontal). After dragging in one direction you must release the mouse and depress it again to drag back in the direction you came from (if Jeff gets enough complaints about this I'm sure he'll fix it). NOTE: if the Transform menu was used to change the default transform type then instead of causing a rotation you will cause a scale or translation whichever was set. middle mouse: pushing this button while the cursor is over an object will select the vertex (ie, point on the object) which is under the cursor. It will also highlight the object's name in the Object Properties widget as long as the button is depressed. In addition, if a verbose toggle is set by pressing alt-v, it will print out all sorts of diagnostic information to the terminal window (such as vertex coordinates, etc.). This is primarily for debugging purposes. right mouse: pops up a menu for displaying some of the most important widgets.

If you want to specify individual voxels or groups of voxels by pointing at them, see information on the Edit/Crosshairs and Goodies/ROI widgets.

Keys can also be used while the cursor is in the Display window. These keys are not normally needed (duplicating widget functions). Their capabilities are listed at the end of this help page.

Differences between the computers

1). MOLMED, GRAPHICS, INSITU and the GTX are by far the fastest for displaying images. 2). Only GRAPHICS and MOLMED have stereo. 3). Only MOLMED, INSITU, GRAPHICS, GTX, INVIVO, INVITRO can display partially transparent data volumes. All of our computers can display single opaque slices or an opaque volume. However, if you set the volume rendering option to cubes, then all voxels with values less than the left brightness slider will be totally transparent and therefore not displayed. This may be good enough. 4). GTX has a (hardware?) bug so the volume data sets have funny "drop-out" artifacts when in "planes" rendering mode. Sometimes this is not too noticeable. It also does not seem to happen in "cubes" rendering mode (see Render Options menu item on the Edit Volume Data widget). 5). INVITRO only has an 8 bit frame buffer so color renditions are poorer. 6). INVIVO has no z-buffer, so an object sometimes appears to invert as it rotates. Setting transparency to nonzero and transparency mode to "sorted blended" gets around this sometimes (but slows down the display). See the "Edit Materials" widget.

Frequently Asked Questions/Trouble Shooting Tips

The objects appear very tiny or very stretched out:

1). DAVE examines the minimum and maximum x, y, and z object coordinates to determine proper scaling. By default the z spacing is magnified by 3. If the image and/or object dimensions are such that any one dimension (after -z scaling) is much larger than another then when it is displayed it may look too stretched out or compressed in one direction. For image data acquired on our microscopes usually a -z 3 is about right (.125 microns in x and y, .375 microns in z). You can also zoom in on the object ("+" key) to see desired features.

Nothing seems to happen when I click on a widget button:

1). Sometimes the system loses track of which window the cursor is in. Try moving it out of the window and back in. 2). Sometimes the update rate can be extremely slow. This is especially true if you are displaying volume data. Usually a yellow highlighted count of the Percent Done should show on the top of the "Edit Volume" widget if it is still calculating a new image. If this is so, wait. This can be avoided by moving the right Res slider to a higher number or by turning the volume off. See help on the "Edit Volume" widget. 3). You might try resetting the event handler (QRESET in the Stuff menu in the DAVE Master Widget).

Nothing happens when I press a key or mouse button when in the viewing window:

1). Sometimes DAVE does not process these events until the cursor is moved; try moving the cursor. 2). You might try resetting the event handler (QRESET in the Stuff menu in the DAVE Master Widget).

The objects repetitively appear and then race off the edge of the window:

1). The objects are most likely rotating about a point in space which is far outside their center of mass (in z). This will happen if you are only displaying a subset of the data (e.g., with the Z-Clipping slider). The easiest way to fix this is to translate the object. Unfortunately it is difficult to visualize translation in z. Thus the easiest method is to let the object rotate slightly off screen (do this slowly by setting a slow Spin Rate or by Pausing and then clicking on the up or down arrows). Then translate the image left or right by using the arrow keys until the objects are in the center of the window. Repeat this process until the objects appear to rotate about the desired point.

I don't see anything at all:

1). The objects or data may have translated out of the viewing window or scaled too small. Try Pausing the image and then clicking on the Home button in the main widget. You might also try the master RESET option on the Stuff menu in the main widget. 2). If you have defined objects (i.e., are using a pts file), make sure at least one object is turned on. The Object Clipping sliders could be set so the object is clipped out. Similarly with the Z-Clipping sliders. Set the left slider of each pair as low as possible and the right slider as high as possible to insure that the object is not being clipped. 3). You may have set your objects to be totally transparent, see the setting in the Edit Materials widget. 4). If you are using volume (.i2i images) data, you must click on the Show Vol. button. It will be highlighted if it is active. You also must have at least one of the two buttons "Image 1" and "Image 2" depressed (their dot fills with red or green when active). You may have the volume too transparent (reset the Opacity sliders). The object may be too dim to see, move the brightness sliders. Alternatively, you may have picked a subset of the volume data which is not in the window. Check the x,y, and z bounds of the data volume (in the Volume Clipping widget). Also check the Z Clipping slider in the Volume Clipping widget - you may be clipping the data.

I want to use DAVE like Kevin's "play" program:

1). If you have one data set with z resolution 1/3 that of the xy resolution (";" means "then" in the following sequence): dave -z 3 -I image1 ; pick "Opaque Data" from the Edit Volume widget's menu set the right Res slider to 2 Pause ; Home ; pick "Volume Clipping" from the Edit Volume widget's menu set the two z sliders to a desired slice (and lock them) set the right Res slider to 0 you can zoom and translate the image from the Master widget change zslices by one by clicking on the arrow below the z slider widget. 2). If you have two data sets and you want to specify their rescaling: dave -z 3 -I image1 -I image2 -S 1 # # -S 2 # # all other steps the same as above. 3). If you want this made easier let us know.

I want to examine pixel values:

1). See the "ROI Analysis" Widget on the Goodies Menu in the DAVE Master widget. You may also want to see "Edit Crosshairs" and "Colocal Analysis".

I want to go to a known pixel (coordinates known):

1). See the "Edit Crosshairs" widget gotten from the DAVE Master widget.

I want to save a view:

1). Under the "File" menu you can choose "Write Configuration", this will save most of the slider settings, the current home position (not the current view, so use Set Home first), etc. This can be read back in with the -A DAVE command line option. If you have added objects to the scene (with "Edit Other Objects") they can be saved by choosing "Write Objects" from the "File" menu. 2). Under the "File" menu you can choose "Write Image ...", this will pop up a widget that will let you save the image in many different formats. 3). You could just use snapshot to create an sgi format 2D color image (suitable for framing). 4). Under the "Stuff" menu you can choose "slide show" to save the settings for several different views. 5). For movies you can use Goodies/Create Movies or Stuff/RGB Movie.

Please mail addition questions you would like to see answered here

or other comments and suggestions to lml. Thank you.

Keyboard Options While in the Display Window

Keys:

These keys only work when the cursor is in the DAVE Display Window - except for p (Pause). Many of these keys duplicate operations which can be gotten from a widget, but some are unique. The most important keys are probably +/-, c, the arrow keys, F12, p, and m. The following list is sorted roughly with the most frequently used or most unique keys first. Note: sometimes keystrokes are ignored until the cursor is moved.

Keys providing useful unique capabilities:

F12 key : Redraw the image. This is useful because occassionally you will change a display parameter (e.g., material color) and the display won't get redrawn (especially if it is paused). This is the same as pressing the Redraw button. L : toggles thru a series of line widths for wireframe and other lines. See also: Edit Misc Props on the Edit menu. m : turn on/off mirror display. This shows you what the image would look like in a mirror placed directly behind it.

Keys providing useful capabilities:

p : pause/start rotating display. The PAUSE key does the same thing. r : if the display is not paused, then instead of continually rotating it will rock back and forth about the current position. It will rock about 4 updates one way, then go back to the other way. Each update is however many degrees is set on the Rotation Angle slider. The same as the Rock button on the Master widget. c : change direction of rotation. -/_: scale image down (by a little bit/by a large bit). Same as scale arrows. +/=: scale image up (by a little bit/by a large bit). Same as scale arrows. LEFT ARROW key : translate objects left. Same as translate arrows. RIGHT ARROW key: translate objects right. UP ARROW key : translate objects up. DOWN ARROW key : translate objects down. HOME key : the same as the Home widget button. s : turn on/off stereo (for GTX?). S : turn on/off stereo for GRAPHICS (the computer). See also "Stereo" under "Goodies". On GRAPHICS all operations can be performed while in stereo. On the GTX only static views are possible while in stereo. See the help button on the stereo widget for more on stereo. l : turn on/off widget for moving the front light. By default the light is directly between you and the object. Click with the mouse to move it to a new location. A slightly elevated light will mimic the position of the sun. Think of the light as being on a large hemi-sphere cupped away from you so as you move it to the edges of the window it is also moving further away from your eye (and towards the side of the objects). See "Edit Front Light" and "Edit Back Light" options to change the color of the light. The back light is by default red and this is why the inside of the objects appears red. d : turn on/off depth cueing. Lines further away should appear to get dimmer and blend into the background. The appearance of the lines depends upon the setting of the Z-Clipping planes since lines at the front clipping plane should be maximally bright and those at the back plane dimmest. Thus if the clipping planes are too far apart and your object only occupies a small percentage of the distance between them, you will not see much variation in line intensity. This option is slightly buggy still.

Keys unlikely to be useful or are clumsy to use and better done from a widget:

e : move eyepoint backwards (use only in Perspective Mode). E : move eyepoint fowards (use only in Perspective Mode). g : turn on/off 3D grid. i : turn on/off display image data on surface. obsolete. see NORM/DATA button on "Edit Object Properties" widget. (If both energy data and image data are requested, energy data will be displayed). I : turn on/off energy data on surface (only used by Larry). P : toggle between orthogonal and perspective views. q : exit from dave. u : turn on/off energy histogram (only used by Larry).

[ or { : rotate arbitrary cutting plane. See "Edit Data Planes". ] or } : rotate arbitrary cutting plane. See "Edit Data Planes". > or . : translate arbitrary cutting plane. See "Edit Data Planes". < or , : translate arbitrary cutting plane. See "Edit Data Planes". x or X : decrement/increment x cutting plane. See "Edit Data Planes". y or Y : decrement/increment y cutting plane. See "Edit Data Planes". z or Z : decrement/increment z cutting plane. See "Edit Data Planes". F7 key : Show data planes in high resolution only. See "Edit Data Planes". F8 key : Show data planes in low resolution only. See "Edit Data Planes". O : turn on/off cutting planes. See "Edit Data Planes".

a : change current colormode to RGB/Colormap. b : turn on/off backfacing polygons. B : turn on/off zbuffering. R : reset light position. ESC key : exit from dave. SPACE BAR : scroll through time series. PAGE UP key : translate objects forward in z. If you are in Orthogonal projection mode you will not see any change in the object size, but you will change the z-depth of the point the object rotates about. PAGE DOWN key : translate objects back in z. See comment for PAGE UP key. F1 key : Do/Do not draw surface between non-adjacent slices in an object. F2 key : Do/Do not show arbitrary cutting plane in a separate window. F3 key : Change direction of scroll through time series. F4 key : No Function. F5 key : Change increment of wires in wireframe. E.g., only display every third wireframe. This is useful if they are too closely spaced for you to distinguish one from the other. You could also use the -g option on the command line to do this. Alternatively you could increase the z spacing with the -z command line option. This may also only change increments for z slices of the data volume to display (assuming the render mode is "planes" and z-override is on). You may need an extra command line option for this to be the case. I'm not sure. F6 key : Change increment of wires in wireframe crosshatches. F9 key : No Function. F10 key : No Function. F11 key : No Function. **** DIAGNOSTIC KEYS **** middle mouse: pick a vertex, return info about the vertex. D : prints info about picked vertex and all drawn objects. f : print info about a specified polygon. F : print vertices of a specified polygon to a file.


Lawrence M. Lifshitz
Email: Lawrence.Lifshitz@umassmed.edu
Office Phone: (508) 856-3392
Biomedical Imaging Group
University of Massachusetts Medical Center
373 Plantation Street
Biotech Two, Suite 114
Worcester, MA 01605

Copyright 1995 by Lawrence M. Lifshitz and the University of Massachusetts Medical School. All rights reserved.