1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3//EN">
2<HTML><HEAD>
3		<TITLE>User's Reference - Isosurface</TITLE>
4		<META HTTP-EQUIV="keywords" CONTENT="GRAPHICS VISUALIZATION VISUAL PROGRAM DATA
5MINING">
6	<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
7</HEAD><BODY BGCOLOR="#FFFFFF" link="#00004b" vlink="#4b004b">
8		<TABLE width=510 border=0 cellpadding=0 cellspacing=0>
9			<TR>
10				<TD><IMG src="../images/spacer.gif" width=80 height=1></TD>
11				<TD><IMG src="../images/spacer.gif" width=49 height=1></TD>
12				<TD><IMG src="../images/spacer.gif" width=24 height=1></TD>
13				<TD><IMG src="../images/spacer.gif" width=100 height=1></TD>
14				<TD><IMG src="../images/spacer.gif" width=3 height=1></TD>
15				<TD><IMG src="../images/spacer.gif" width=127 height=1></TD>
16				<TD><IMG src="../images/spacer.gif" width=6 height=1></TD>
17				<TD><IMG src="../images/spacer.gif" width=50 height=1></TD>
18				<TD><IMG src="../images/spacer.gif" width=71 height=1></TD>
19			</TR>
20			<TR>
21				<TD colspan=9><IMG src="../images/flcgh_01.gif" width=510 height=24 alt="OpenDX - Documentation"></TD>
22			</TR>
23			<TR>
24				<TD colspan=2><A href="../allguide.htm"><IMG src="../images/flcgh_02.gif" width=129 height=25 border="0" alt="Full Contents"></A></TD>
25				<TD colspan=3><A href="../qikguide.htm"><IMG src="../images/flcgh_03.gif" width=127 height=25 border="0" alt="QuickStart Guide"></A></TD>
26				<TD><A href="../usrguide.htm"><IMG src="../images/flcgh_04.gif" width=127 height=25 border="0" alt="User's Guide"></A></TD>
27				<TD colspan=3><B><A href="../refguide.htm"><IMG src="../images/flcgh_05d.gif" width=127 height=25 border="0" alt="User's Reference"></A></B></TD>
28			</TR>
29			<TR>
30				<TD><A href="refgu080.htm"><IMG src="../images/flcgh_06.gif" width=80 height=17 border="0" alt="Previous Page"></A></TD>
31				<TD colspan=2><A href="refgu082.htm"><IMG src="../images/flcgh_07.gif" width=73 height=17 border="0" alt="Next Page"></A></TD>
32				<TD><A href="../refguide.htm"><IMG src="../images/flcgh_08.gif" width=100 height=17 border="0" alt="Table of Contents"></A></TD>
33				<TD colspan=3><A href="refgu009.htm"><IMG src="../images/flcgh_09.gif" width=136 height=17 border="0" alt="Partial Table of Contents"></A></TD>
34				<TD><A href="refgu175.htm"><IMG src="../images/flcgh_10.gif" width=50 height=17 border="0" alt="Index"></A></TD>
35				<TD><A href="../srchindx.htm"><IMG src="../images/flcgh_11.gif" width=71 height=17 border="0" alt="Search"></A></TD>
36			</TR>
37		</TABLE>
38		<H3><A name="HDRISOSURF" ></A>Isosurface</H3>
39		<A NAME="IDX563"></A><A NAME="IDX564"></A>
40<P><STRONG>Category</STRONG>
41<P>
42<A HREF="refgu008.htm#HDRCATREL">Realization</A>
43<P><STRONG>Function</STRONG>
44<P>
45Computes isosurfaces and contours.
46<P><STRONG>Syntax</STRONG>
47<PRE><STRONG>
48surface</STRONG> = Isosurface(<STRONG>data, value, number, gradient, flag, direction</STRONG>);
49</PRE>
50<P><STRONG>Inputs</STRONG>
51<BR>
52<TABLE BORDER>
53<TR>
54<TH ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">Name
55</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">Type
56</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">Default
57</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">Description
58</TH></TR><TR>
59<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%"><TT><STRONG>data</STRONG></TT>
60</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">scalar field
61</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">none
62</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">field from which one or more
63surfaces are to be
64derived.
65</TD></TR><TR>
66<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%"><TT><STRONG>value</STRONG></TT>
67</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">scalar or scalar list
68</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">data mean
69</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">isosurface value or values
70</TD></TR><TR>
71<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%"><TT><STRONG>number</STRONG></TT>
72</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">integer
73</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">no default
74</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">number of isosurfaces or contours
75to be computed
76</TD></TR><TR>
77<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%"><TT><STRONG>gradient</STRONG></TT>
78</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">vector field
79</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">no default
80</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">gradient field
81</TD></TR><TR>
82<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">
83<TT><STRONG>flag</STRONG></TT>
84<BR></TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">flag
85</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">1
86</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">0: normals not computed
87<BR>
881: normals computed
89</TD></TR><TR>
90<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%"><TT><STRONG>direction</STRONG></TT>
91</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">integer
92</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="20%">&#45;1
93</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="40%">orientation of normals
94</TD></TR></TABLE>
95<P><STRONG>Outputs</STRONG>
96<BR>
97<TABLE BORDER>
98<TR>
99<TH ALIGN="LEFT" VALIGN="TOP" WIDTH="25%">Name
100</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="25%">Type
101</TH><TH ALIGN="LEFT" VALIGN="TOP" WIDTH="50%">Description
102</TH></TR><TR>
103<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="25%"><TT><STRONG>surface</STRONG></TT>
104</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="25%">field or group
105</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%">isosurface
106</TD></TR></TABLE>
107<P><STRONG>Functional Details</STRONG>
108<P>
109This module computes any of the following:
110<UL COMPACT>
111<LI>points (for an input field consisting of lines)
112<LI>lines (for a surface input field)
113<LI>surfaces (for a volumetric input field).
114</UL>
115All positions in the output field
116are isovalues (i.e., they match a specified value or values).
117<P>
118The module also adds a default color to the output (gray-blue for
119isosurfaces and yellow for contour lines and points) if the
120input object is uncolored.
121If the object is colored, its colors are interpolated in the output
122object.
123<P>
124A "data" component with the same value as the input
125<TT><STRONG>value</STRONG></TT> is added to the output field.
126<P>
127<TABLE CELLPADDING="3">
128<TR VALIGN="TOP"><TD><P><B><TT><STRONG>data</STRONG></TT>
129</B></TD><TD><P>is the data object for which an isosurface or contour is to be
130created.
131</TD></TR><TR VALIGN="TOP"><TD><P><B><TT><STRONG>value</STRONG></TT>
132</B></TD><TD><P>is the isovalue or isovalues to be used for computing the
133isosurface(s) or contour(s).
134<P>
135If this parameter is not specified, the module bases it calculations on
136the value specified by <TT><STRONG>number</STRONG></TT> (see below).
137If neither parameter is specified, the module uses the arithmetic mean
138of the data input as a default.
139</TD></TR><TR VALIGN="TOP"><TD><P><B><TT><STRONG>number</STRONG></TT>
140</B></TD><TD><P>is ignored if <TT><STRONG>value</STRONG></TT> has been
141specified.
142If that parameter is not specified, the module uses the value of
143<TT><STRONG>number</STRONG></TT> to compute a set of isosurfaces or
144contours with the following isovalues:
145<PRE>
146min &#43; delta, min &#43; (2*delta),..., min &#45; delta
147</PRE>
148where delta = (max &#45; min)/(<TT><STRONG>number</STRONG></TT> &#43; 1),
149and "max" and "min" are the maximum and minimum data
150values of the input field.
151</TD></TR><TR VALIGN="TOP"><TD><P><B><TT><STRONG>gradient</STRONG></TT>
152</B></TD><TD><P>is the gradient field used to compute normals for shading (see
153<A HREF="refgu069.htm#HDRGRADIEN">Gradient</A>).
154<P>
155If this parameter is not specified, the module adds normals by computing
156the gradient internally (<TT><STRONG>flag</STRONG></TT> can nullify
157this behavior; see below).
158<P><B>Note: </B>If only one isosurface is to be computed, it is probably more
159efficient to have module compute the gradient internally.
160If many are to be generated, it is probably more efficient to compute
161the gradient of the entire field once, so that the system can use
162it for every isosurface.
163</TD></TR><TR VALIGN="TOP"><TD><P><B><TT><STRONG>flag</STRONG></TT>
164</B></TD><TD><P>specifies whether normals are to be computed
165for shading.
166A setting of 0 (zero) prevents the computation of normals.
167The default is 1 (one)
168</TD></TR><TR VALIGN="TOP"><TD><P><B><TT><STRONG>direction</STRONG></TT>
169</B></TD><TD><P>specifies whether the normals should point against (0, the
170default)
171or with (1) the gradient.
172</TD></TR></TABLE>
173<P><B>Notes: </B><OL COMPACT>
174<LI>This module adds an attribute called "Isosurface value," which
175has as its value the isovalue(s) used.
176To extract this attribute (e.g., for use in a caption for an image),
177use the Attribute module.
178
179<LI>For contour lines, this module adds a &quot;fuzz&quot; attribute so
180that the line will be rendered slightly in front of a coincident
181surface (see
182<A HREF="refgu048.htm#HDRDISPLAY">Display</A>).
183
184<LI>A surface or contour is considered to be undefined if every point
185in the input volume or surface, respectively, is equal to
186<TT><STRONG>value</STRONG></TT>.
187In such cases, the module output is an empty field.
188<LI>Isosurface does not accept connection-dependent data.
189<LI>With disjoint data fields, there may be no data crossings (i.e.,
190points along a connection element where the interpolated data
191value equals the isovalue), even though the isovalue
192itself falls in the range of the actual data.
193</OL>
194<P><STRONG>Components</STRONG>
195<P>
196Creates new "positions" and "connections"
197components.
198For surfaces output, the default is to create a "normals"
199component.
200Any component dependent on "positions" is interpolated and placed
201in the output object.
202<P><STRONG>Example Visual Programs</STRONG>
203<P>
204Many example visual programs use the Isosurface module, including&#58;
205<PRE>
206AlternateVisualizations.net
207ContoursAndCaption.net
208InvalidData.net
209MappedIso.net
210Sealevel.net
211UsingIsosurface.net
212SIMPLE/Isosurface.net
213</PRE>
214<P><STRONG>See Also</STRONG>
215<P>
216&nbsp;<A HREF="refgu020.htm#HDRBAND">Band</A>,
217&nbsp;<A HREF="refgu033.htm#HDRCOLOR">Color</A>,
218&nbsp;<A HREF="refgu069.htm#HDRGRADIEN">Gradient</A>,
219&nbsp;<A HREF="refgu091.htm#HDRMAP">Map</A>,
220
221&nbsp;<A HREF="refgu142.htm#HDRSIMPSUR">SimplifySurface</A>
222		<P>
223		<HR>
224		<DIV align="center">
225			<P><A href="../allguide.htm"><IMG src="../images/foot-fc.gif" width="94" height="18" border="0" alt="Full Contents"></A> <A href="../qikguide.htm"><IMG src="../images/foot-qs.gif" width="94" height="18" border="0" alt="QuickStart Guide"></A> <A href="../usrguide.htm"><IMG src="../images/foot-ug.gif" width="94" height="18" border="0" alt="User's Guide"></A> <A href="../refguide.htm"><IMG src="../images/foot-ur.gif" width="94" height="18" border="0" alt="User's Reference"></A></P>
226		</DIV>
227		<DIV align="center">
228			<P><FONT size="-1">[ <A href="http://www.research.ibm.com/dx">OpenDX Home at IBM</A>&nbsp;|&nbsp;<A href="http://www.opendx.org/">OpenDX.org</A>&nbsp;] </FONT></P>
229			<P></P>
230		</DIV>
231		<P></P>
232	</BODY></HTML>
233