This applet requires a Java 1.1 browser to function. If you are
seeing this message, you are either not using a Java 1.1 enabled browser,
you have Java turned off, or the applet is broken ,or you are using a browser
that is suppose to work but does not Otherwise please send a message to
Tom Conlin describing your problem.
Please include which operating system, what kind of computer, and which browser you were using when the problem
occurred .
Note: once the data set is downloaded, it will
still take a minute or three for the applet to digest it.
After the applet has (finally) read in the data you will see
three images which are cross sections of a human head. Each
image is surrounded by a rectangle colored red, green, & blue.
These correspond to the front, top and side views of planes
through the center of the 3D solid. When the mouse is dragged on
these images the colored cross hairs (which appear whenever the mouse is
in the applet) will move to follow the mouse. The other two
images will update so that they contain the planes indicated by the cross
hairs on in the image that the mouse is in. These three images will collectively
be referred to as the orthogonal images.
You will also see two buttons marked "Reset" and "Refresh"
as well as two check boxes marked "Depth Cue" and "Arbitrary
Image". The check boxes are to accommodate various levels of hardware
and patience. (I am not offering the thread bomb version.) By default,
neither check boxes are selected. You may want to first play around a bit
with just the orthogonal images , then the Depth Cue , then the Arb Image
and finally both.
If you check the "Arb Image" box a fourth "arbitrary image"
will appear surrounded by a yellow rectangle, underlined by
a cyan line and flanked on the right by a magenta line. The cross
hairs in the orthogonal images will switch to three lines (cyan, magenta,
and yellow) emanating from your current location within the model (called
a "axis cross hair"). The behavior of the orthogonal images
is just as it was except the arbitrary plane also moves to contain the
common point of the orthogonal planes at the center of the arbitrary image.
You can also drag the mouse on the arbitrary image which does not cause
any change in the orthogonal images but does cause the arbitrary plane
and hence the cross hairs to rotate about the common point. Dragging
the mouse on the arbitrary image causes rotation of the arbitrary plane
about the point at the center of the arbitrary image.
-
Dragging left/right in the arbitrary image pivots the "yellow-cyan plane"
about the magenta axis.
-
Dragging up/down in the arbitrary image pivots the "yellow-magenta plane"
about the cyan axis.
-
The algorithm that responsible for translating a 2D mouse movement in to
a 3D rotation of a plane is simplistic and seems to suffer from a malady
called "Gimble Lock"
If you check the "Depth Cue" box, all three or four images of the model
are subject to being updated with information from "deeper" within the
model. The behavior of dragging on the orthogonal and arbitrary images
is still as it was, except that when the mouse button is released images
may again be updated as follows. If a pixel in the image falls beneath
a certain threshold of "brightness" the applet starts looking for
a brighter voxel in the direction (within the model) you were heading.
The applet also keeps track of how far it has looked and if it finds a
brighter voxel it darkens it proportionately to how far it had to look
before replacing the dark pixel of the original image with the color of
the found and darkened voxel.
note: deeper for arbitrary image the is the direction from your current
location along the yellow axis.
notes:
-
When an axis-crosshair would extend beyond the edge of an image, the cross
hair is distorted instead of being clipped.
-
The Arbitrary image seems to vary in size, this is because adjencent
voxles can be adjecent in three different ways {share face, share edge,
share corrner}
-
if they share a face their centers are a distance of 1.0 apart.(square
root of 1)
-
if they share an edge their centers are about 1.414 apart. (square root
of 2)
-
if they share a corrner their centers are 1.733 apart. (square root of
3)
-
but are all treated as sharing a face. If or when I compensate for this
It should be reconized as a cosmedic improvement, that is I will be courupting
the actual data to make it look better.
Applet coding by Tom Conlin