Volume to Surface Widget's Help

This takes the data from Image 1 as currently displayed and converts it into a bunch of objects described by their surfaces (instead of by voxels). So, at the boundary between background and foreground voxels (as specified by the left brightness slider) a surface is created. These surfaces have "shading". The surfaces can be displayed in a wireframe outline or as a solid surface.

Note: if you want to apply this to an image other than

image 1, you can use the Series widget (see the Stuff menu on the Master

Widget) to swap it with image 1.

Typical Sequence 0). Use Master->Stuff->Series to move image to image1 if necessary. 1). Set the left Brightness slider to threshold the data. 2). Press CALC to calculate a new default surface. 3). Press WIRE to turn on a wireframe view of the surface. 4). Pick menu item "Clip to Surface". 5). Move the volume sliders ("volume clipping" menu on Edit Volume) to display only the desired subset of the surface. 6). Type a name for the surface into the box to the left of KEEP. Press KEEP.

The top left button (to the left of OFF) shows which surface is currently being modified. When OFF, WIRE, or SURFACE are pressed they apply only to the surface named by this button. The button is changed to other surfaces (if any have been created via the KEEP button) by either clicking on the button with the left mouse button (which toggles through the list) or holding down the right mouse button to pull down a menu of names from which to choose.

Hints for Better Viewing and Image Interpretation

If you want to see more clearly exactly which data voxels will be used to define the boundary surface between object and background, pick the "Opaque Data" menu item on the Edit Volume widget.

At times, there may be several advantages to converting volume data into surface data. First, sometimes the surface will appear more clearly or be smoother. Second, at times (depending upon object size, etc) you may be able to manipulate the surface quicker than the volume data. Third, you can calculate a surface and then change the volume data being displayed (by moving the brightness sliders, using the Series widget, etc) and be able to compare the surface from the previous settings to the current volume data.

There are also some disadvantages of surface data. First, it hides the ambiguities in the volume data. It shows as a hard surface boundary the division between foreground and background voxels, whether the difference is 1 intensity level or 1000. Second, the surface is based upon just on intensity threshold (the left brightness slider). Third, although (currently) the surface can be made transparent (see below) you cannot see one part of the surface through another part (i.e., it is transparent to the data voxels but not to itself).

It is often useful to set "dithering" on (see the Goodies menu) when looking at surfaces - especially if they are rotating around. It will make the surface shading look more continuous.

Moving the light slightly up and to the side typically enhances shading (and hence 3D visualization cues). See SURFACE below.

Making the surface brighter by increasing its "emmision" material property also helps sometimes. But if you make it too bright in this way, you will also tend to make it look "flatter" and hence less 3D. See "Surface Material Properties" below.

Changing the background color (Master->Edit->Bkgd Colors) may also help.



Calculate a new ("default") surface based upon the current image being displayed and the current menu option settings. The previous default surface will be distroyed (if not yet saved via the "keep" button). The surface will not actually be displayed unless WIRE or SURFACE is chosen. The percent completed will be shown in the Edit Volume widget's "percent done" panel (highlighted in yellow while calculations are underway). Note: the y=0 data plane is always set to background (i.e., the bottom edge of the image volume when in HOME position).


After calculating a surface and clipping it as desired, save it by pressing this button. You must specify a name for the surface (in the box to the left of the KEEP button) prior to pressing keep. Once saved, it can still be manipulated (e.g., off/wire/surface, material properties) by choosing it from the top left button via the pull-down menu on gotten from holding the right mouse button down while over the top left button. Volume clipping (if set in the Volume to Surface Menu) still affects the display of the kept surfaces (although they will not get any BIGGER than the size they were clipped to when they were saved).


Turn off the display of the surface.


Display the surface as a wireframe.


Display the surface as a solid surface. By default this is a white surface. The surface is shaded (based upon its orientation relative to the light source - the more orthogonal to the light direction the brighter it will be lit). You can change the direction of the light choosing Master->Goodies->Change Light Dir (or by pressing the "l" key while the cursor is in the main drawing window). This pops up a light which can be moved by clicking with the mouse. The light icon is removed by pressing "l" again. The light is positioned on a hemisphere and the object is at the center of the sphere. Thus moving the light to the sides really also moves it more into the plane of the object (more to its side). (The 2D coordinate system of the hemisphere is mapped to the rectangular drawing area). You can change the color and transparency of the surface from the menu.

Volume to Surface Menu

How much of each surface to actually display is controlled by the following three options.

Clip to image

This options causes the entire surface to be displayed.

Clip to volume with or

This option clips the data displayed based upon the setting of the volume clipping sliders (see the menu on the Edit Volume widget). Any piece of the surface which is within the specified subvolume at all (even if it extends outside the subvolume) will be displayed.

Clip to Volume with and

This is identical to the above option except only surface peices which are entirely within the subvolume are displayed. Usually there will be very little noticeable difference between these two options since peices of the surface are only one pixel long. Only if you are zoomed way up will you see a difference.

Connect Diagonals

When chosen (the default) voxels which are above threshold but only connected along a diagonal (in 2D or 3D) are still considered part of the same object. For example, in 2D, if you think of voxels as squares on a peice of graph paper, this option says that voxels which only touch at the corners should still be considered part of the same object. After changing this item, CALC must be pressed for a new surface based upon the new setting to be calculated.

Surface Material Properties...

This pops up a widget which lets you change the color of the surface and its (screen door) transparency. A transparency setting of 1.00 means this surface is totally opaque. Typically to change an object's color I just modify the Diffuse color components (see below). But an explanation of all of them is provided under Material Properties below.

Skip Triangles...

This entry attempts to speed up display of the surfaces by only drawing a subset of the triangles of which they are composed. This is also a way to produce a type of transparency, since this creates holes in the surfaces. Unlike "screen door transparency" (see below) these holes are NOT lined up from one surface to the next and hence you may be able to see one surface through another.

Write Triangles...

This pops up a widget which lets you save all the surfaces to a file. Note: you must have kept the surface (KEEP) to save it! These surfaces can be read back into DAVE at a later time via the -y command line option.

Group Triangles into Objects

Not yet available.

Pick Objects with mouse

Not yet available.

Pick Objects in ROI

Not yet available.

Pick Objects RPTS objs

Don't yet mess with this.

Material Properties

An object's color when viewed depends upon several factors.

First, the color of the illumination affects the perceived color. Thus by changing the color of the front light (Edit Front Light menu item) the perceived color of all surfaces in the scene will change. Similarly for the inside colors of all surfaces vis a vis the back light color. When surfaces calculated by this widget are displayed, the back light is automatically set to be the same as the front light (since there is some difficulty orienting these surfaces).


Second, the object can emit light (like a light bulb). This is controlled by the the Emission settings. The red, green, and blue components can each be set separately. Increasing this is one way to "brighten up" an object; this can be especially useful in stereo mode since the glasses cut out some light.


This third component of object color is probably the one most people think of as an object's "color". It is the color the material appears when illuminated by white light. Thus, these are the settings you will most likely want to modify. An example: suppose the red setting is .80, the blue is .50 and the green is .30. Then 8035764555700f the red light which is incident on the object will get reflected and hence will be seen (absorbed light is not seen by the observer). Similarly for the other components. Note also: changing the green and blue settings will not affect the appearance of the inside color of an object since it is illuminated by a red light (assuming the default setting) and thus there are no green or blue components to reflect anyway. The overall brightness of the diffuse component of the reflected light also depends upon the orientation of the surface with respect to the light source. The more perpendicular the surface is to the light source direction the brighter the reflection. Thus, a sphere will appear brightest in the "center" and dimmer towards the "edges" (assuming the default position for the front light).


This controls the ambient or "background" light reflection. Unlike the diffuse settings the brightness of this component of reflected light does not vary depending upon the orientation of the surface relative to the light source. Thus a sphere which only had an ambient component would appear as a uniformly colored circle, no shading would be present. Since shading is an important visual cue for understanding surface orientation and shape, it is usually a good idea not to have the ambient settings very high. On the other hand you probably want them nonzero otherwise surfaces close to 90 degress away from the viewer will appear almost totally black.


Sometimes objects exhibit "highlights". These bright regions are due to the direct reflection of a light into a viewers eyes. This occurs when the angle from the light to the surface is the same as the angle from the surface to the viewer. These settings control the strength of this effect. I am not sure if they ever have an affect given the data structures DAVE uses to describe objects, try it and see.


This controls how shiny the surface appears (like the matte vs. shiny finishes for photographs). I'm not sure I've ever seen it make a difference, try it and let Larry know if it does.


This controls how transparent this surface should be. I believe 1.0 means totally opaque. Currently transparency is "faked" by poking tiny holes in the surface through which you can see. This produces a "screen door" type of appearance to the surface. Changing the transparency slightly can sometimes markedly change how "noticeable" the screen door pattern is. The holes are made by lining a grid up to the display window and creating holes in a regular pattern. Thus if two surfaces have the same transparency level (i.e., same pattern of holes) you will not be able to see one through the other since the holes of the close surface will exactly line up with the holes of the further surface. A data volume can still be seen. See also the comment in "Skip Triangles..." above.

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