


SLICEOMATIC - Slice and isosurface volume exploration GUI
SLICEOMATIC(DATA) - Use 3D double matrix DATA as a volume data
Example:
[x,y,z] = meshgrid(-2:.2:2, -2:.25:2, -2:.16:2);
v = x .* exp(-x.^2 - y.^2 - z.^2);
sliceomatic(v)
Using SLICEOMATIC with no arguments is equivalent to the above
example.
SLICEOMATIC(DATA, X, Y, Z) - Run sliceomatic using the specified data
coordinates for the volume DATA. X, Y, and Z are the vectors over which
DATA is defined.
ex:
x = -2:.2:2; y = -2:.25:2; z = -2:.16:2;
[X,Y,Z] = meshgrid(x,y,z);
v = X .* exp(-X.^2 - Y.^2 - Z.^2);
sliceomatic(v,x,y,z)
Using the GUI:
-------------
Create/Delete slices:
The white bars on the top, left, and right allow insertion of
new slices on the X, Y, and Z planes. Click in an empty area to
add a new slice or surface. Right click on a control arrow to
reconfigure or delete that slice.
Create/Delete isosurfaces:
The colored bar at the bottom is used to place and position an
isosurface. The color in the bar indicates a position (as seen
in the slice) where the isosurface will go. Right click on a
control arrow to reconfigure or delete the isosurface.
Orientation of the view:
When the rotate camera button is on, the popup menu will control
the camera. Turn off camera rotation in order to get individual
control over properties of the slices and isosurfaces.
Changing Defaults:
The defaults menu provides default features of newly created
slices and surfaces. The AllSlices menu controls properties of
all the slices and surfaces in the scene. Use popup menus on the
objects themselves, or the control arrows to change individual
properties.
Color & Alpha Maps:
The Colormap popdown controls the currently active colormap.
This map is used to color the slices. The Alphamap popdown
controls the alphamap used on the slices.
Use the color or alpha maps to change how areas of your data are
highlighted.
Controls Control:
The Controls menu allows you to adjust how the controls look. An
important feature here is the "Animate" item. You can enable or
disable an animation when some changes are made. Since this is
decorative, it may be important to turn this off for large data
sets.
Doing Cool Stuff:
----------------
Exploration:
You can get a quick feel of the current data set by adding a
slice using the ColorTexture option. Such a slice can be dragged
through the data very quickly.
Highlight an Area:
If certain values in your data are interesting (very large, very
small, or very median values) you can use transparency to make
parts of your slices disappear. Choose AlphaTexture options from
the defaults, and sweep some slices across your data. Use the
AlphaMap to pick out certain data sets. The example given here
looks best with the `vdown' alphamap.
Contours on slices:
You can add a contour onto a slice to further extract shapes
from the data you are exploring. Auto-selecting contour limits
will choose contours on a per slice basis. Auto-selecting
contour lines from a volume arbitrarily specifies 10 levels
based on the limits of the volume.
Hidden Shapes:
Use the isosurface control bar to create an isosurface. Be
patient with this control. It often takes a while for the
surface to be created. Click and hold the mouse button down
until the first surface appears. Drag the surface through the
values until you get something you like, then let go. If your
data set is very large, you will need to wait while the new and
more accurate isosurface is created.
Volumes:
You can simulate a volume object by creating lots of stacked
slices. Simply use the proper Alphamap and transparent textures
to highlight the correct data, and a large stack of slices will
let you simulate a volume object.
Customized Graphics:
-------------------
To add your own graphics into the sliceomatic display, whatever
that may be, you can use the following technique:
1) click on a control arrow
2) use gco to get the data for that object
slice = getappdata(gco,'arrowslice')
3) use GET to get the cdata and position data which you can use
to add your own graphics.
Setting Default Values:
----------------------
If you want to change some default setup feature of sliceomatic,
use the "Save Preferences" menu item. Future sliceomatic
sessions will then retrieve those settings.
BUGS:
----
1) Inaccurate Slice
Sliceomatic does not use the `slice' command. All slices are
created by explicitly extracting data from the volume. As such,
only slices at integer values are allowed.
2) Crashes MATLAB
Sliceomatic uses the default OpenGL setup. If you encounter
frequent crashes you can start by enabling software OpenGL
rendering. This should always fix the problem, and would
likely slow things down too. You should also update your
graphics driver for your video card. On Windows, in
particular, drivers are updated frequently. For detail on how
to overcome these problems, visit this web page:
http://www.mathworks.com/support/tech-notes/1200/1201.html
See Also: SLICE, ISOSURFACE, ISOCAPS, CONTOURC, COLORMAP, SURFACE