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.
Buttons
CALC
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).
KEEP
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).
OFF
Turn off the display of the surface.
WIRE
Display the surface as a wireframe.
SURFACE
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).
Emission
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.
Diffuse
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).
Ambient
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.
Specular
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.
Shininess
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.
Transparency
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.