DATAMANIP commands


PROGRAM NAME

korient - Change Orientation of Data on Dimensions

DESCRIPTION

korient allows data to be reorganized from its original orientation on the dimensions of WIDTH (W), HEIGHT (H), ELEMENTS (E), DEPTH (D), and TIME (T), to another orientation on these dimensions.
\f(CW

+-----------+ +-----------+ E /-----------/| E /-----------/| /-----------/|| /-----------/|| +-----------+----+||| +-----------+----+||| E /-----------/| |||| E /-----------/| |||| /-----------/|| |||| /-----------/|| |||| +-----------+||| |||| +-----------+||| |||| | |||| ||/ / | |||| ||/ / H | ||||----+/ / H | ||||----+/ / | |||| D . . . | |||| D | ||/ / | ||/ / +-----------+/ / +-----------+/ / W W

<----------------------------- T ------------------------------->

The new orientation is defined by setting the OLD DIMENSIONS to NEW DIMENSIONS flags. On the graphical user interface accessible via cantata, these flags are represented as a matrix of buttons, where each row of the matrix represents the set of dimensions that will be oriented to the new dimension. On the command line, these flags are specified by two letter combinations of w,h,d,t,e -- the first letter indicates the source, or old, dimension, the second indicates the destination, or new, dimension. For example,

korient -i infile -o outfile -hw
will cause the height dimension (along with the width dimension) to be reoriented along the width dimension. If the input file has width = 4, height = 2, as shown below, the output dimension will have width = 8, height = 1.
\f(CW
Input Data:     1 2 3 4
		5 6 7 8
		
Output Data:	1 2 3 4 5 6 7 8

To transpose the same data set, one would execute

korient -i infile -o outfile -wh -hw
\f(CW
Output Data:    1 5
		2 6
		3 7
		4 8

As is illustrated above, data existing on a set of dimensions can be reoriented to a single dimension. When this occurs, data will be arranged according to the following dimensional order: Width, Height, Elements, Depth, Time.

If defaults (korient -i infile -o outfile -ww, -hh, -ee, -dd, -tt) are used, no change in orientation will occur between the input and output data files.

Implementation issue: If data on a dimension is not being transferred to another dimension, first set that dimension for no transfer. For example, if no flags have been set to orient width data along another dimension, the -ww flag is set. Then build the set of dimensions that will be oriented along the new dimension by going vertical on the user interface matrix. For example, the two letter flags that end in w that have been specified on the command line indicate the dimensions that will be reoriented.

Map Data If the source object has map data, the map data cannot have depth, time, or elements dimensions of greater than one. The map width and height dimensions can be any size.

Location & Time Data If the source object has rectilinear or curvilinear location or time data, the orientation operator will fail. If the source object has uniform location data, orientation will continue, but the location data will not be modified to reflect the reorientation.

Map Data If the object has mask data, it will be reoriented along with the value data.

Failure Modes The orientation operator will fail if the source object does not contain value data, or if it contains rectilinear or curvilinear location or time data.

REQUIRED ARGUMENTS

-i
type: infile
desc: input data object
-o
type: outfile
desc: resulting data object

Mutually Exclusive Group; you must specify ONE of:

-ww
type: flag
desc: orient WIDTH data to be on WIDTH dimension
OR
-wh
type: flag
desc: orient WIDTH data to be on HEIGHT dimension
OR
-we
type: flag
desc: orient WIDTH data to be on ELEMENTS dimension
OR
-wd
type: flag
desc: orient WIDTH data to be on DEPTH dimension
OR
-wt
type: flag
desc: orient WIDTH data to be on TIME dimension

Mutually Exclusive Group; you must specify ONE of:

-hw
type: flag
desc: orient HEIGHT data to be on WIDTH dimension
OR
-hh
type: flag
desc: orient HEIGHT data to be on HEIGHT dimension
OR
-he
type: flag
desc: orient HEIGHT data to be on ELEMENTS dimension
OR
-hd
type: flag
desc: orient HEIGHT data to be on DEPTH dimension
OR
-ht
type: flag
desc: orient HEIGHT data to be on TIME dimension

Mutually Exclusive Group; you must specify ONE of:

-ew
type: flag
desc: orient ELEMENT data to be on WIDTH dimension
OR
-eh
type: flag
desc: orient ELEMENT data to be on HEIGHT dimension
OR
-ee
type: flag
desc: orient ELEMENT data to be on ELEMENTS dimension
OR
-ed
type: flag
desc: orient ELEMENT data to be on DEPTH dimension
OR
-et
type: flag
desc: orient ELEMENT data to be on TIME dimension

Mutually Exclusive Group; you must specify ONE of:

-dw
type: flag
desc: orient DEPTH data to be on WIDTH dimension
OR
-dh
type: flag
desc: orient DEPTH data to be on HEIGHT dimension
OR
-de
type: flag
desc: orient DEPTH data to be on ELEMENTS dimension
OR
-dd
type: flag
desc: orient DEPTH data to be on DEPTH dimension
OR
-dt
type: flag
desc: orient DEPTH data to be on TIME dimension

Mutually Exclusive Group; you must specify ONE of:

-tw
type: flag
desc: orient TIME data to be on WIDTH dimension
OR
-th
type: flag
desc: orient TIME data to be on HEIGHT dimension
OR
-te
type: flag
desc: orient TIME data to be on ELEMENTS dimension
OR
-td
type: flag
desc: orient TIME data to be on DEPTH dimension
OR
-tt
type: flag
desc: orient TIME data to be on TIME dimension

OPTIONAL ARGUMENTS

none

EXAMPLES

SEE ALSO

kaxis

RESTRICTIONS

This program has not yet been updated to completely support the polymorphic data model.

REFERENCES

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.