FAQ: Visualization
2.1 When I specify the coordinates of the nodes
in my Field, do I need to specify the coordinates in x first, then y,
then z?
The order in which you specify your coordinates doesn't matter so long
as it is in the same order in which you specify the Field's dimensions
and node data. If in your dims array you specified the dimensions in z,
y, x order, you have to provide the coordinates of the nodes in the same
order and likewise, the values in the node_data.values array.
2.2 Why are multiple objects in a view transformed
when I select and transform just a single object?
Suppose you have two objects in a viewer. You select one object
and rotate it. The other object rotates as well, even though that object
is not selected (and neither is Top). Why is that?
The most likely reason for such behavior is that the transform mode on
the selected object is set to "parent". Parent transform mode
means that transformations on the object are applied to the object's parent,
in this case, the Top object. Transformations on the parent object are
applied to all of its child objects. That is why the other object in the
view is also transformed. You change the behavior, change the Transform
Mode in the Object Editor.
2.3 Why does my 2D slice seem to move in the
viewer as I change the slice plane?
This is a reflection of the way in which the Orthoslice module works.
Suppose you have a network that does an Orthoslice of a 3D volume such
as Read_Field(hydrogen.fld)->orthoslice->Uviewer2D.
In the case of slicing a volume, orthoslice takes 3D input and produces
2D output. To position the 2D output correctly for 3D display, both a
rotation matrix and a translate factor are set up. Though this configuration
causes the slice to be rendered correctly in a 3D view, it will cause
the shifting around that you see in a 2D view. To eliminate the problem,
connect Main.Filters.reset_xform to the output of orthoslice. This will
set the slice's transform to the identity. The display in the 2D view
will now be correct as you change axes and planes.
2.4 Is there a module to convert float data
values to byte type so that I can volume render my data?
Remember that AVS/Express will only volume render volumes (3D, 3-space
Fields) that are uniform and contain scalar, byte data. If you have a
3D, 3-space Field that contains scalar float values, can you convert these
float values to byte so that you can volume render the data?
You can use the data_math module which allows you to convert the data
type, but it does not scale the data. So unless you have float values
between 0 and 255, they won't be valid byte values.
You could use data_math with the equation set to this value:
(#1 - input1.node_data[0].min)
* 255.0 / (input1.node_data[0].max - input1.node_data[0]Min)
[#<n> is used by the UI of data_math to indicate the component
of node_data used.]
This converts to a byte and scales the data to fit between 0 and 255.
2.5 When specifying a cell set, which cell
set values do I need to set?
A. The only subobjects of the cell_set group that you need to specify
are: - the cell set type (tri, quad, polytri, line and so on) - ncells
or npolys - node/poly_connect_list
AVS/Express sets all the other values for you, based on the information
you provided.
2.6 What is the difference between Read_Geom
and Read_Geoms?
The Read_Geom module opens an AVS geometry format file and produces a
single Field as output. Read_Geoms also reads a geometry file but it produces
an array of Fields as output. Each field element corresponds to one input
geometry object from the AVS geometry file. Each Field contains cell sets
to represent the geometry data from the input object.
Note that input types GEOM_POLYHEDRON and GEOM_MESH are converted to
GEOM_POLYTRI with both surface (polytriangle strip) and wireframe (polyline
or disjoint line) representations before processing.
You would use Read_Geoms rather than Read_Geom if you wanted control
of a Field at a cell set level. This can be useful if you want to specify
a rendering property which is valid on only a certain type of cell.
2.7 Is there a module that takes unstructured
data, and outputs structured data?
Yes, the scat_to_unif module. It is in the "Mappers" library
on AVS/Express's Main library page.
2.8 Are uniform Fields less computationally
intensive than unstructured Fields?
It depends on how you are using the Field..
If you're rendering the data, unstructured Fields are less computationally
intensive than uniform Fields because the coordinates do not have to be
computed.
If you're visualizing the data (slicing or isosurfacing it, for example),
uniform Fields are faster because you don't have to do things like compute
nearest neighbor (because it's the next element in the array).
2.9 How can I modify my 3D view (slice, for
example)?
Use the scale module.
|