From likkai@sirius.astro.uiuc.edu Wed Jun  5 05:37:13 1991
Received: from yoyodyne.ncsa.uiuc.edu by zaphod.ncsa.uiuc.edu (4.0/NCSA-1.2)
	id AA05012; Wed, 5 Jun 91 05:37:10 CDT
Return-Path: <likkai@sirius.astro.uiuc.edu>
Received: from ux1.cso.uiuc.edu by yoyodyne.ncsa.uiuc.edu (4.0/NCSA-1.2)
	id AA22350; Wed, 5 Jun 91 05:37:51 CDT
Received: from sirius.astro.uiuc.edu by ux1.cso.uiuc.edu with SMTP id AA21305
  (5.65c/IDA-1.4.4 for <likkai@yoyodyne.ncsa.uiuc.edu>); Wed, 5 Jun 1991 05:37:53 -0500
Received: from orion.astro.uiuc.edu.astro by sirius.astro.uiuc.edu (4.1/SMI-4.1)
	id AA27595; Wed, 5 Jun 91 05:35:53 CDT
Date: Wed, 5 Jun 91 05:35:53 CDT
From: likkai@sirius.astro.uiuc.edu (Jason NG)
Message-Id: <9106051035.AA27595@sirius.astro.uiuc.edu>
To: likkai@sirius.astro.uiuc.edu
Subject: iso.doc
Status: OR


NCSA XDS releaase 2.0 
Jason Ng 5-June-91


ISOSURFACE FEATURE
==================




WHAT IT DOES

The isosurface feature takes a 3D rectangular volume dataset and creates
a surface within it with a value that you specify.
Thus, it allows you to graphically "carve away" parts of your dataset,
revealing a shape or surface that corresponds to points in the original
dataset that have the same value [hence "iso (=same) surface"].

Several surfaces may be specified. The feature then generates a single
image with all the different surfaces overlapping.



-----------------------------------------------------------------------------

HOW TO INVOKE

The isosurface feature applies only to 3D scientific datasets. It is invoked
by clicking on the "IsoSurface Renderer" diamond button in the Data Attributes
Window. This window pops up when you load a 3D dataset.

You may specify the scale on the "Dicer/IsoSurf Scale" dialog on this window.
It specifies how big the image will be. It is set to 3.


-----------------------------------------------------------------------------

WHAT YOU MUST DO MINIMALLY


Clicking on the "IsoSurface Renderer" diamond button (see above) pops up
the Iso-surface action WIndow. You specify input parameters in this window,
and the resulting image is displayed in this window.

The rest of the document describes the sequence of steps that you must take 
from within the Iso-surface action window.

(1) Specify how many surfaces to do. Enter the values in the "Surfaces"
    dialog, towards the bottom right. Don't specify too many. The default is 1.

(2) Next, you must specify values for each surface you want. For each surface,
    you must specify the value, and the red,blue and green components. These
   are to be entered in the "Value", "Red", "Green" and "Blue" dialogs near
   to lower left.

	"Value" 
    - the actual data value in your dataset to create a surface from.
       Usually a real number.

   "Red", "Green", "Blue" 
	- all 3 must be specified and are combined by the program to determine the
   base color for that surface. Each is a value from 0.0 to 0.999. Thus to
   get a yellow surface, specify Red as 0.99, Green as 0.99 and Blue as 0.0.
             
	**THIS IS IMPORTANT: AFter setting the value and color, you must click
   on the "Set" button at the lower extreme left. You must do this for each
   surface you specify. 

   The box above the "set" button tells you which surface you are currently 
   setting values for. To edit values for the next surface, use the scroll bar
   to the right of the "Set' button. As it scrolls, values for the various
	surfaces are displayed. 

	You can enter values for as many surfaces as you like, but don't forget
   specify the exact number of surfaces you want (see (1)). 

   	****** This is the minimum that you need to enter. *******

   	At this point you may go ahead and click on the "View" button 
		to start the process. The process can take some time.  The 
		cursor changes to a watch cursor, and when the process is 
		done, the entire image is displayed at the end. 


-----------------------------------------------------------------------------

FANCY OPTIONS

There are options for 
(a) rotating the dataset, to give a different view.
(b) specifying a subcube to do the isosurface on instead. 
(c) generating several images in succession, to make an animation.
(d) generating a "true color" shaded surface image.
(e) generating a wire frame image instead of solid shading.

All these are optional, are each may be specified independent of others.

(a) Specify how much to rotate the dataset by entering (in DEGREES) values
   in the "Rot X", "Rot Y" and "Rot Z" dialogs. 30 degrees is a good
   value to try for each. 

	Note that the "Rotate" square button (under the palette) should be ON.
   (as it is by default).  Also the "Perspective" and "Attenuate" buttons 
	should also be ON for the best effect.

	What this does it to create a perspective view, at an angle, with
   parts of the surfaces further away shown dimmer (attenauted lighting).

(b) You can specify a subcube (or really, a sub rectangular chunk) to work
   on. This allows you to focus on some interesting part of your data. It
   can also speed up the process considerably.

	You define the subcube by specifying the start and end planes along the
	 X, Y and Z axis:  Enter the starting and ending points for the x-dimension 
    in the dialogs "Start X" and "End X". These are integer values not
     exceeding the X dimension of your dataset. Also, endx must not be smaller
    than startx.

	Do the same for "Start Y" and "End Y" for the y-axis, and for "Start Z"
	and "End Z" for the z-axis.

(c) You can generate several frames to form ian animation by varying the 
	rotation angle manually. . You can automate the process by specifying 
	how many frames you want done and the degree increments between frames 
	along the x, y and z axis. Specify the number of frames in the "Frames"
	dialog. Enter a degree value in each of the "Inc X", "Inc Y" and "Inc Z"
	dialogs.

	To start generating the frames, click on the "Animate"  button. This
   pops you a file window. You must specify a new file so that each frame
   can be saved into the file when it is generated.  The frames are saved
	as raster images in a HDF file. 

	As soon as you entered the file name and hit return, the process begins.
	When done, the entire sequence will have been saved in that file. This
   sequence can be viewed by invoking the Load 8-bit Raster option in 
	XDataslice.

(d) The "True Color" button should be ON for any of the red, green, and
    blue values that your entered per surface to make sense. Otherwise
	the surfaces are shaded with colors from the existing pallete.

	Specifying true color is useful when you have several surfaces, and you
	want each surface to be shaded with the distinct color that you specify.

(e) To generate a wire frame image instead of solid shading, set the "Wire
	Frame" button ON. 


-----------------------------------------------------------------------------

MISCELLANEOUS

(a) The "Update" button can be set to ON if you would like to watch
    the progress of the isosurface generation. As the surface is being
	generated, it will be displayed on the screen.

(b) You may click on the "Clear" button to clear the previous image before 
	generating a new one. Or you may choose to leave the previous there,
   and create another surface. This surface will be generated and merged
   into the previous image. It will determine which surface is overlapping
   which and redisplay the image accordingly. This produces very nice results.

(c) The other dialogs "Focal Pt." and "Attenuate" are best left alone
    although  experimenting can produce interesting results. 

(d) Finally, you can stop the process anytime with the "Stop" button.
    You can save any image as an HDF  raster file with the "Save" button.

(e) Status of progress during the isosurface generation is reported on the
	 Main Window of XdataSlice.

Have fun.


