ReadPyr

DESCRIPTION

ReadPyr reads in a pyramid from a file in IRIS Explorer pyramid format (either ASCII or binary encoding), such as that created by WritePyr, or from a file in `plain' ASCII pyramid format.

The plain file format is as follows. The first line of the file must be

#!/usr/explorer/bin/explorer cxPyramid plain 1.0

Comment lines begin with a `#' character, and whitespace is ignored. The file should contain the following fields, in this order:

.I Base Lattice This can be either included in the same file, if the lattice keyword is present, indicating that the lattice data (in plain lattice format) follows, or may be sourced from another file, if the include filename keyword is present, in which case the lattice data is read from the file filename. The lattice data in filename may be in plain or Explorer lattice format and will be read in by ReadLat.

count This is the number of layers in the pyramid.

ref The type of compression of the pyramid. A value of 0 indicates no compression; a value of 1 indicates unique compression; and a value of 2 indicates multiple compression.

If compression is unique, the next field in the input file should be index which specifies the type of compression element. For example, a value of 0 indicates an element of type cx_pyramid_dict_point, 1 indicates cx_pyramid_dict_line, 2 indicates cx_pyramid_dict_triangle; and so on (see the Module Writer's Guide for the full list of elements and their indices).

If compression is of type multiple, the next field in the input file should be numIndices followed by a vector indices with numIndices values, specifying the dictionary reference elements as above.

.I Layer data The next part of the file should contain layer data in the following format, for each layer from 1..count.

numElements numConnections The number of elements and connections at this layer. If both of these fields are zero, the layer is assumed to be compressed, and there are no further fields for this layer.

elements The vector of element data; with (numElements+1) values.

connections The vector of connections data; with numConnections values.

.I Layer lattice The lattice of data at this layer. As for the base lattice, the data can be included using the lattice keyword, or can be sourced from another file using the include filename keyword. Finally, the absence of lattice data at this level is indicated by the NULL keyword.

Example data in this format can be found in the /usr/explorer/data/pyramid directory. The source code for the module can be found in the /usr/explorer/src/readers directory.

INPUTS

WIDGETS

Port: Filename
Type: Text
The name of the file to be read.

OUTPUTS

Port: Output
Type: Pyramid
Constraints: 1..-layer.
optional-baseLat.
n-D compression.
n-compression type.
The output pyramid.

PROBLEMS

The file browser widget does not correctly browse files on remote machines. The remote filename can be entered in the selection box, but the option menu is inoperable. Only crude error checking is done for plain format files. If the input file is malformed, the module may crash.

SEE ALSO

WritePyr CropPyr PrintPyr ReadLat
[ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1996