GenLat

DESCRIPTION

General lattice generator. This module has the capability of creating lattices of any data type, any coordinate type, any size. Its primary purpose in life is to create artificial data for test maps. The data generated can be either 0 to 255 or ``min to max'' which, for the floating point types, is interpreted as minus one to one. If more than one data item per node is selected, typically each channel will be given similar data, phase shifted in some way. The lattice can have the same number of points along each coordinate direction, or the first three dimensions can be set explicitly.

WIDGETS

Port: Dimensions
Type: Slider
Number of dimensions to create in the output lattice. This determines the connectivity of the computational grid on which the nodes of the lattice are created.

Port: Data Type
The underlying datatype (char, short, long, float, double) of the data portion of the lattice.

Port: Coord Type
Controls the generation of the coordinates part of the lattice. Nodes in the lattice may be on a uniform grid or a perimeter grid, randomly located in space, or on a grid which is generated from a half cylinder, a whole cylinder or a torus. Depending on the value of this parameter, the Coord Representation (see below) will increase in generality to accomodate the characteristics of the selected grid.

Port: Coord Range
The extent of the coordinates (either -1.0 to 1.0 or 0 to numNodes-1, where numNodes is the number of nodes in that direction).

Port: Size
Type: Slider
Size of the output lattice. If the domain is square, this determines the number of nodes in each dimension. If the domain is set to non-square, this determines the number of nodes in the I direction. It also determines the number of nodes in dimensions greater than three.

Port: DataVec Length
Type: Slider
The number of data components at each node of the lattice.

Port: Function
The function used to generate the data. The choices are:

```Product of sine functions
Random data
Ramps (modulo function)
Simulated gravity wells```

Port: Coord Representation
Representation used for the coordinates part of the lattice. Since the curvilinear representation is more generalized than perimeter, which is more general than uniform, it is possible to use this parameter, together with the value of Coord Type, to generate a curvilinear or perimeter lattice with coordinates that are uniform in physical space, or a curvilinear lattice with physical coordinates that are perimeter-like. This option is useful for testing modules which accept lattices having all types of coordinate representation.

Port: Coord Dimensions
The number of coordinates per node - i.e. the dimensionality of the physical space in which the lattice is defined. This parameter only affects the output when Coord Representation is curvilinear - otherwise, this dimensionality is the same as Dimensions, the number of dimensions in the computational space of the lattice. For curvilinear lattices, this restriction is lifted, and this dimensionality can take any value.

Port: Data Range
The data range can be normalized between zero and 255 (this is the same for all primitive types) or from the minimum to maximum of the datatype. The latter option can generate very large numbers for longs, floats and double primitive types.

Port: Domain
Determines whether the lattice should have the same number of points in each direction. If set to non-square, widgets controlling the number of points in the J and K dimensions will be unhidden, and their values can be set.

Port: J Size
Type: Slider
This widget controls the number of points in the J-direction.

Port: K Size
Type: Slider
This widget controls the number of points in the K-direction.

OUTPUTS

Port: Output
Type: Lattice
The generated lattice.

KNOWN PROBLEMS

Generating large lattices can take a while. The module issues a warning messages if it thinks it is going to be busy for some time.