forked from GollyGang/ready
-
Notifications
You must be signed in to change notification settings - Fork 0
/
formats.html
503 lines (441 loc) · 23.7 KB
/
formats.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
<html>
<title>Ready Help: File Formats</title>
<body>
<p>
<h3>File Formats</h3>
<p><a name="vti"></a> <br>
<font size=+1><b>Extended VTK format: *.vti, *.vtu</b></font>
<p>
Ready's file format is an extended version of
<a href="http://vtk.org">VTK</a>'s format, which uses <a href="http://en.wikipedia.org/wiki/XML">XML</a>.
These are the Ready-specific XML elements, in alphabetical order:
<p><dd><table border="0"><tr><td width="50%">
<tt><a href="#add"><add></a></tt><br>
<tt><a href="#circle"><circle></a></tt><br>
<tt><a href="#constant"><constant></a></tt><br>
<tt><a href="#description"><description></a></tt><br>
<tt><a href="#divide"><divide></a></tt><br>
<tt><a href="#everywhere"><everywhere></a></tt><br>
<tt><a href="#formula"><formula></a></tt><br>
<tt><a href="#gaussian"><gaussian></a></tt><br>
<tt><a href="#initial_pattern_generator"><initial_pattern_generator></a></tt><br>
<tt><a href="#kernel"><kernel></a></tt><br>
<tt><a href="#linear_gradient"><linear_gradient></a></tt><br>
<tt><a href="#multiply"><multiply</a></tt><br>
<tt><a href="#other_chemical"><other_chemical></a></tt><br>
<tt><a href="#overlay"><overlay></a></tt><br>
</td><td width="50%">
<tt><a href="#overwrite"><overwrite></a></tt><br>
<tt><a href="#param"><param></a></tt><br>
<tt><a href="#parameter"><parameter></a></tt><br>
<tt><a href="#perlin_noise"><perlin_noise></a></tt><br>
<tt><a href="#pixel"><pixel></a></tt><br>
<tt><a href="#point3d"><point3d></a></tt><br>
<tt><a href="#radial_gradient"><radial_gradient></a></tt><br>
<tt><a href="#RD"><RD></a></tt><tt><br>
<tt><a href="#rectangle"><rectangle></a></tt><br>
<tt><a href="#render_settings"><render_settings></a></tt><br>
<tt><a href="#rule"><rule></a></tt><br>
<tt><a href="#sine"><sine></a></tt><br>
<tt><a href="#subtract"><subtract></a></tt><br>
<tt><a href="#white_noise"><white_noise></a></tt><br>
</td></tr></table></dd>
<p>
Here is a simple example of a *.vti file:
<p><table bgcolor="#FFFFD0"><tr><td><pre><tt><?xml version="1.0"?>
<VTKFile type="ImageData" version="0.1" byte_order="LittleEndian" compressor="vtkZLibDataCompressor">
<<a href="#RD">RD</a> format_version="2">
<<a href="#rule">rule</a> type="formula" name="Schlogl">
<<a href="#param">param</a> name="timestep"> 0.1 </<a href="#param">param</a>>
<<a href="#formula">formula</a> number_of_chemicals="1">
delta_a = laplacian_a + a - a*a*a;
</<a href="#formula">formula</a>>
</<a href="#rule">rule</a>>
<<a href="#initial_pattern_generator">initial_pattern_generator</a> apply_when_loading="true">
<<a href="#overlay">overlay</a> chemical="a">
<<a href="#overwrite">overwrite</a> />
<<a href="#white_noise">white_noise</a> low="-0.1" high="0.1" />
<<a href="#everywhere">everywhere</a> />
</<a href="#overlay">overlay</a>>
</<a href="#initial_pattern_generator">initial_pattern_generator</a>>
<<a href="#render_settings">render_settings</a>>
<low value="-1.0" />
<high value="1.0" />
<contour_level value="0" />
</<a href="#render_settings">render_settings</a>>
</<a href="#RD">RD</a>>
<ImageData WholeExtent="0 127 0 63 0 0" Origin="0 0 0" Spacing="1 1 1">
<Piece Extent="0 127 0 63 0 0">
<PointData>
<DataArray type="Float32" Name="a" format="appended" RangeMin="0" RangeMax="0" offset="0" />
</PointData>
<CellData>
</CellData>
</Piece>
</ImageData>
<AppendedData encoding="base64">
_AQAAAACAAAAAAAAANAAAAA==eJztwQEBAAAAgJD+r+4ICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYgAAAAQ==
</AppendedData>
</VTKFile></tt></pre></td></tr></table>
<p>
This is the standard VTK format but with an <tt><a href="#RD">RD</a></tt> element (inside the <tt>VTKFile</tt> element)
that contains all the Ready-specific data.
<p>
Ready supports mesh-based systems as well (*.vtu) - these have
UnstructuredGrid instead of ImageData sections. Both can be read as the standard VTK format,
for example in <a href="http://www.paraview.org">ParaView</a>.
<p>
The following sections describe the Ready-specific XML elements.
<h4><a name="RD"></a><b><RD></b></h4>
<p>
Specifies the current rule and information about the pattern.
<p>Attributes:
<ul>
<li><tt>format_version</tt> (required) : Integer value that is increased in later versions when the format changes.
Used to alert the user that they might need to update their software.
</ul>
<p>Contains:
<ul>
<li><tt><a href="#description"><description></a></tt> (optional).
<li><tt><a href="#rule"><rule></a></tt> (required).
<li><tt><a href="#initial_pattern_generator"><initial_pattern_generator></a></tt> (optional).
<li><tt><a href="#render_settings"><render_settings></a></tt> (optional).
</ul>
<h4><a name="description"></a><b><description></b></h4>
<p>
A description of the pattern.
<p>Contains:
<p>Plain text. HTML can also be used but must be XML-escaped as in the table below. See the description
in <a href="edit:Patterns/GrayScott1984/U-Skate/munafo_glider.vti">munafo_glider.vti</a> for an example.
<p>
<table border="1" cellpadding="8" align="center">
<tr><td><</td><td>></td><td>"</td><td>&</td><td>'</td></tr>
<tr><td>&lt;</td><td>&gt;</td><td>&quot;</td><td>&amp;</td><td>&apos;</td></tr>
</table>
<h4><a name="rule"></a><b><rule></b></h4>
<p>
Attributes:
<ul><li><tt>type</tt> (required) : "inbuilt" or "formula" or "kernel".
<li><tt>name</tt> (required) : The name of this rule. If type="inbuilt" then name must match one of
the inbuilt rules (currently just "Gray-Scott").
<li><tt>wrap</tt> (optional) : "1" if the data should wrap around, or "0" if the data should have a
boundary. Currently only affects images (vti files), not meshes. Default: "1".
<li><tt>neighborhood_type</tt> (optional) : "vertex" for vertex-neighbors, "edge" for edge-neighbors
or "face" for face-neighbors. This parameter only affects meshes (vtu files). Default: "vertex".
</ul>
<p>Contains:
<ul>
<li><tt><a href="#param"><param></a></tt> (multiple, optional).
<li><tt><a href="#formula"><formula></a></tt> (required if rule type="inbuilt").
<li><tt><a href="#kernel"><kernel></a></tt> (required if rule type="kernel").
</ul>
<h4><a name="param"></a><b><param></b></h4>
<p>
A parameter of the rule. Most rules require one or more named parameters, such as <tt>timestep</tt>.
<p>
Attributes:
<ul><li><tt>name</tt> (required) : The name of this parameter.
</ul>
<p>Contains:
<p>The value of this parameter.
<h4><a name="formula"></a><b><formula></b></h4>
<p>Attributes:
<ul>
<li><tt>number_of_chemicals</tt> (required) : The number of chemicals used.
<li><tt>block_size_x</tt> (optional) : The x component of the dimensions of the spatial unit processed by each kernel call. Default: 4x1x1
<li><tt>block_size_y</tt> (optional) : The y component.
<li><tt>block_size_z</tt> (optional) : The z component.
<li><tt>accuracy</tt> (optional) : The stencil accuracy to use. "low", "medium" or "high". Default: "medium".
</ul>
<p>Contains:
<p>An OpenCL kernel snippet, where the chemicals are named a, b, c, etc.
<p>
The formula can specify the rate of change of each chemical (delta_a, delta_b, etc.), typically using the Laplacian of each (laplacian_a, etc.). Example: <tt>delta_a = laplacian_a;</tt>
<p>Alternatively the formula can write directly into the chemicals. Example: <tt>a = x_pos;</tt>
<p>For a list of the keywords you can use, see <a href="writing_new_rules.html">Writing new rules</a>.
<p>In the <a href="#kernel">kernel</a> section below, the "<tt>delta_a = ...</tt>" lines show how the formula might be inserted at that location in a full kernel.
<p>See the pattern files for more examples.
<h4><a name="kernel"></a><b><kernel></b></h4>
<p>Attributes:
<ul>
<li><tt>number_of_chemicals</tt> (required) : The number of chemicals used.
<li><tt>block_size_x</tt> (required for images) : The x component of the dimensions of the spatial unit processed by each kernel call. For float4 possible block size are: 4x1x1, 2x2x1, 1x4x1, etc. For float2: 2x1x1, etc. For float: 1x1x1.
<li><tt>block_size_y</tt> (required for images) : The y component.
<li><tt>block_size_z</tt> (required for images) : The z component.
</ul>
<p>
Contains:
<p>
A full OpenCL kernel, as plain text. Below is an example kernel that works on a 2-chemical image. Arrays <tt>a_in</tt> and <tt>b_in</tt> contain the current state of the chemicals <tt>a</tt> and <tt>b</tt>, and <tt>a_out</tt> and <tt>b_out</tt> should get written with the new values.
<p><table bgcolor="#FFFFD0"><tr><td><pre><tt>
__kernel void rd_compute(__global float4 *a_in,__global float4 *b_in,__global float4 *a_out,__global float4 *b_out)
{
const int x = get_global_id(0); // returns the x-coordinate of this kernel call
const int y = get_global_id(1);
const int z = get_global_id(2);
const int X = get_global_size(0); // returns the x size of the image
const int Y = get_global_size(1);
const int Z = get_global_size(2);
const int i_here = X*(Y*z + y) + x; // use this to get the array index of cell x,y,z
float4 a = a_in[i_here]; // this kernel processes 4 floats at once, stored in a float4 type
float4 b = b_in[i_here];
// parameters:
float timestep = 1.0f;
// update step:
float delta_a = 0.0f;
float delta_b = 0.0f;
delta_a = 0.1f; // formula line
delta_b = -0.2f; // formula line
a_out[x] = a + timestep * delta_a;
b_out[x] = b + timestep * delta_b;
}
</tt></pre></td></tr></table>
<p>
Below is an example that works on 2-chemical meshes. The cells can have different numbers of neighbors but for efficiency we pass in fixed-length arrays: <tt>neighbor_indices</tt> contains the index of each neighbor, <tt>neighbor_weights</tt> contains a normalized weight (non-zero for valid neighbors), while <tt>max_neighbors</tt> contains the size of the arrays. The code below shows how we can compute a Laplacian from this input.
<p><table bgcolor="#FFFFD0"><tr><td><pre><tt>
__kernel void rd_compute(__global float *a_in,__global float *b_in,__global float *a_out,__global float *b_out,
__global int* neighbor_indices,__global float* neighbor_weights,const int max_neighbors)
{
const int x = get_global_id(0);
float a = a_in[x]; // this kernel processes single floats
float b = b_in[x];
float laplacian_a = 0.0f;
float laplacian_b = 0.0f;
int offset = x * max_neighbors;
for(int i=0;i<max_neighbors;i++)
{
laplacian_a += a_in[neighbor_indices[offset+i]] * neighbor_weights[offset+i];
laplacian_b += b_in[neighbor_indices[offset+i]] * neighbor_weights[offset+i];
}
laplacian_a -= a;
laplacian_b -= b;
// scale the Laplacians to be more similar to the 2D square grid version, so the same parameters work
laplacian_a *= 4.0f;
laplacian_b *= 4.0f;
// parameters:
float timestep = 1.0f;
float D_a = 0.082f;
float D_b = 0.041f;
float k = 0.06f;
float F = 0.035f;
// update step (Gray-Scott)
float delta_a = 0.0f;
float delta_b = 0.0f;
delta_a = D_a * laplacian_a - a*b*b + F*(1.0f-a); // formula line
delta_b = D_b * laplacian_b + a*b*b - (F+k)*b; // formula line
a_out[x] = a + timestep * delta_a;
b_out[x] = b + timestep * delta_b;
}
</tt></pre></td></tr></table>
<p>
See the pattern files for more examples.
<h4><a name="initial_pattern_generator"></a><b><initial_pattern_generator></b></h4>
The initial pattern generator is a way to describe typical reaction-diffusion starting conditions. The Schlogl rule (<a href="edit:Patterns/Schlogl.vti">edit</a>/<a href="open:Patterns/Schlogl.vti">open</a>), for example, can be initialized with low-amplitude random noise.
<p>Attributes:
<ul>
<li><tt>apply_when_loading</tt> (optional) : "true" if the initial pattern generator should overwrite the data when the file is loaded. Default: "true"
<li><tt>zero_first</tt> (optional) : "true" if the values should be set to zero before applying. Default: "true"
</ul>
<p>Contains:
<ul>
<li><tt><a href="#overlay">overlay</a></tt> (multiple).
</ul>
<h4><a name="overlay"></a><b><overlay></b></h4>
Each overlay in the <a href="#initial_pattern_generator">initial_pattern_generator</a> changes the values of a single chemical. Overlays apply in the order given in the file.
<p>Attributes:
<ul>
<li><tt>chemical</tt> (required) : the chemical (a, b, c, etc.) that this overlay applies to.
</ul>
<p>Contains:
<ol>
<li>operation (required) : one of <tt><a href="#overwrite">overwrite</a></tt>, <tt><a href="#add">add</a></tt>,
<tt><a href="#subtract">subtract</a></tt>, <tt><a href="#multiply">multiply</a></tt> or <tt><a href="#divide">divide</a></tt>.
<li>fill (required) : one of <tt><a href="#constant">constant</a></tt>, <tt><a href="#white_noise">white_noise</a></tt>,
<tt><a href="#perlin_noise">perlin_noise</a></tt>, <tt><a href="#other_chemical">other_chemical</a></tt>,
<tt><a href="#linear_gradient">linear_gradient</a></tt>, <tt><a href="#radial_gradient">radial_gradient</a></tt>,
<tt><a href="#gaussian">gaussian</a></tt>, <tt><a href="#sine">sine</a></tt> or <tt><a href="#parameter">parameter</a></tt>.
<li>shape (required) : one or more of <tt><a href="#everywhere">everywhere</a></tt>, <tt><a href="#rectangle">rectangle</a></tt>,
<tt><a href="#circle">circle</a></tt> or <tt><a href="#pixel">pixel</a></tt>. Any cell with a centroid inside the shape will be affected.
</ol>
<h4><a name="overwrite"></a><b><overwrite></b></h4>
Specifies that this overlay should overwrite any existing values.
<h4><a name="add"></a><b><add></b></h4>
Specifies that this overlay should add to the existing values.
<h4><a name="subtract"></a><b><subtract></b></h4>
Specifies that this overlay should subtract from the existing values.
<h4><a name="multiply"></a><b><multiply></b></h4>
Specifies that this overlay should multiply the existing values.
<h4><a name="divide"></a><b><divide></b></h4>
Specifies that this overlay should divide the existing values.
<h4><a name="constant"></a><b><constant></b></h4>
Specifies that the values in this overlay are constant.
<p>Attributes:
<ul>
<li><tt>value</tt> (required) : the constant value.
</ul>
<h4><a name="white_noise"></a><b><white_noise></b></h4>
Specifies that the values in this overlay are spatially-uncorrelated random values from a flat distribution between low and high.
<p>Attributes:
<ul>
<li><tt>low</tt> (required) : the random values will be above this value.
<li><tt>high</tt> (required) : the random values will be below this value.
</ul>
<h4><a name="perlin_noise"></a><b><perlin_noise></b></h4>
Specifies that the values in this overlay are generated by Perlin noise.
<p>Attributes:
<ul>
<li><tt>scale</tt> (optional) : larger values give peaks further apart. Default: 64.
<li><tt>num_octaves</tt> (optional) : larger values give more detail. Default: 8.
</ul>
<h4><a name="other_chemical"></a><b><other_chemical></b></h4>
Specifies that the values in this overlay are given by the current value of a different chemical.
<p>Attributes:
<ul>
<li><tt>chemical</tt> (required) : the other chemical (a, b, c, etc.) to sample.
</ul>
<h4><a name="linear_gradient"></a><b><linear_gradient></b></h4>
Specifies that the values in this overlay vary linearly from val1 at the start to val2 at the end.
<p>Attributes:
<ul>
<li><tt>val1</tt> (required) : the value at the start of the gradient.
<li><tt>val2</tt> (required) : the value at the end of the gradient.
</ul>
<p>Contains:
<ul>
<li><tt><a href="#point3d">point3d</a></tt> (required) : the start point for the gradient.
<li><tt><a href="#point3d">point3d</a></tt> (required) : the end point for the gradient.
</ul>
<h4><a name="radial_gradient"></a><b><radial_gradient></b></h4>
Specifies that the values in this overlay vary linearly from val1 at points near the center
to val2 at points near the edge.
<p>Attributes:
<ul>
<li><tt>val1</tt> (required) : the value at the center of the gradient.
<li><tt>val2</tt> (required) : the value at the edge of the gradient.
</ul>
<p>Contains:
<ul>
<li><tt><a href="#point3d">point3d</a></tt> (required) : the center point for the gradient.
<li><tt><a href="#point3d">point3d</a></tt> (required) : the edge point for the gradient.
</ul>
<h4><a name="gaussian"></a><b><gaussian></b></h4>
Specifies a Gaussian distribution with given width and height.
<p>Attributes:
<ul>
<li><tt>height</tt> (required) : the height of the peak of the Gaussian.
<li><tt>sigma</tt> (required) : the width of the Gaussian, in the range [0,1] as a proportion of the
largest image dimension.
</ul>.
</ul>
<p>Contains:
<ul>
<li><tt><a href="#point3d">point3d</a></tt> (required) : the center of the Gaussian.
</ul>
<h4><a name="sine"></a><b><sine></b></h4>
Specifies that the values in this overlay vary as a sine wave.
<p>Attributes:
<ul>
<li><tt>amplitude</tt> (required) : the height of the sine wave.
<li><tt>phase</tt> (required) : the phase of the sine wave, in radians [0,2pi].
</ul>
<p>Contains:
<ul>
<li><tt><a href="#point3d">point3d</a></tt> (required) : the start point.
<li><tt><a href="#point3d">point3d</a></tt> (required) : the end point.
</ul>
<h4><a name="parameter"></a><b><parameter></b></h4>
Specifies that the values in this overlay are given by the current value of a named parameter.
<p>Attributes:
<ul>
<li><tt>name</tt> (required) : the name of the parameter.
</ul>
<h4><a name="everywhere"></a><b><everywhere></b></h4>
Specifies that the overlay applies everywhere.
<h4><a name="rectangle"></a><b><rectangle></b></h4>
Specifies that the overlay applies to an axis-aligned rectangle. For a 1D image, only
the x-coordinate is considered. For a 2D image, only x and y are considered.
<p>Contains:
<ul>
<li><tt><a href="#point3d">point3d</a></tt> (required) : the first corner of the rectangle.
<li><tt><a href="#point3d">point3d</a></tt> (required) : the second corner of the rectangle. All the
coordinates should be higher than in the first corner.
</ul>
<h4><a name="circle"></a><b><circle></b></h4>
Specifies that the overlay applies to a circle (sphere). For a 1D image, only the x-coordinate is
considered. For a 2D image, only x and y are considered.
<p>Attributes:
<ul>
<li><tt>radius</tt> (required) : the radius of the circle, in the range [0,1] as a proportion of the
largest image dimension.
</ul>
<p>Contains:
<ul>
<li><tt><a href="#point3d">point3d</a></tt> (required) : the center of the circle.
</ul>
<h4><a name="pixel"></a><b><pixel></b></h4>
Specifies that the overlay applies to a single pixel in the image. For meshes, any cell with a
centroid inside the pixel will be affected. For a 1D image, only the x-coordinate is considered. For
a 2D image, only x and y are considered.
<p>Attributes:
<ul>
<li><tt>x</tt> (required) : the x-coordinate of the pixel, a 0-based integer.
<li><tt>y</tt> (required) : the y-coordinate of the pixel, a 0-based integer.
<li><tt>z</tt> (required) : the z-coordinate of the pixel, a 0-based integer.
</ul>
<h4><a name="point3d"></a><b><point3d></b></h4>
A location in space. Coordinates are in the range from zero to one and are given as a proportion of
the overall size. For images the size is the number of pixels in each direction. For meshes the size
is given by the spatial range of the point coordinates in each direction.
<p>Attributes:
<ul>
<li><tt>x</tt> (required) : the x-coordinate.
<li><tt>y</tt> (required) : the y-coordinate.
<li><tt>z</tt> (required) : the z-coordinate.
</ul>
<h4><a name="render_settings"></a><b><render_settings></b></h4>
The render settings specify how the system should be shown on screen.
Contains one or more of the elements listed below.
Default values are shown to illustrate the format.
<p>
<ul>
<li><tt><surface_color r="1" g="1" b="1" /></tt><br>The RGB color to use for the surface (range: 0.0-1.0).
<li><tt><colormap value="spectral" /></tt><br>The colormap to use.
<li><tt><color_low r="0" g="0" b="1" /></tt><br>The color for low values (range: 0.0-1.0). If colormap is 'HSV blend'.
<li><tt><color_high r="1" g="0" b="0" /></tt><br>The color for high values (range: 0.0-1.0). If colormap is 'HSV blend'.
<li><tt><show_color_scale value="true" /></tt><br>Whether to show the color scale that maps values to colors.
<li><tt><show_multiple_chemicals value="true" /></tt><br>Whether to show all the chemicals, or just the active one.
<li><tt><active_chemical value="a" /></tt><br>The chemical to show (a, b, c, etc.).
<li><tt><low value="0" /></tt><br>The lowest value that chemicals in this system typically take.
Used to determine the colors and the axes.
<li><tt><high value="1" /></tt><br>The highest value that chemicals in this system typically take.
<li><tt><vertical_scale_1D value="30" /></tt><br>The vertical size of the 1D line graphs.
<li><tt><vertical_scale_2D value="15" /></tt><br>The vertical size of the 2D surface plots.
<li><tt><contour_level value="0.25" /></tt><br>The value to use for the surface contour in 3D systems.
<li><tt><cap_contour value="true" /></tt><br>Whether to close the holes where the contours meet the boundary.
<li><tt><invert_contour_cap value="false" /></tt><br>If true, closes the contour holes on the other side.
<li><tt><use_wireframe value="false" /></tt><br>Whether to show the surface as wireframe or as
smooth surface (false=surface, true=wireframe).
<li><tt><show_cell_edges value="false" /></tt><br>Whether to show the edges of the cells or not.
<li><tt><show_bounding_box value="true" /></tt><br>Whether to show the bounding box or not.
<li><tt><slice_3D value="true" /></tt><br>Whether to add a 2D color slice through the 3D volume.
<li><tt><slice_3D_axis value="z" /></tt><br>The axis that the slice should be perpendicular to.
<li><tt><slice_3D_position value="0.5" /></tt><br>The position along the slice_3D_axis to slice
at (range: 0.0-1.0, relative to the overall size).
<li><tt><show_displacement_mapped_surface value="true" /></tt><br>Whether to show the height-mapped
surface for 2D systems as well as the color-mapped image.
<li><tt><color_displacement_mapped_surface value="true" /></tt><br>Whether to show the color
image on the height-mapped surface.
<li><tt><use_image_interpolation value="true" /></tt><br>Whether to interpolate the image or
show sharp pixels (false=sharp pixels, true=interpolated).
<li><tt><timesteps_per_render value="100" /></tt><br>Determines the initial running speed by
specifying how often the render window should be updated.
<li><tt><show_phase_plot value="true" /></tt><br>Whether to show the phase plot (a scatter graph of the
chemicals for each pixel plotted against each other).
<li><tt><phase_plot_x value="a" /></tt><br>The chemical to show on the horizontal plot axis (a, b, c, etc.).
<li><tt><phase_plot_y value="b" /></tt><br>The chemical to show on the vertical plot axis (a, b, c, etc.).
<li><tt><phase_plot_z value="c" /></tt><br>The chemical to show on the inwards plot axis (a, b, c, etc.).
<li><tt><plot_ab_orthogonally value="false" /></tt><br>If true in a 1D pattern, we plot a and b against each other
in the line graph, allowing us to show e.g. <a href="open:Patterns/Schrodinger1926/packet.vti">Schrodinger equation wave packets</a> as a corkscrew.
</ul>
</body>
</html>