viewit v91.0 Reference Manual December, 1990 #KW -abs NAME -abs - Absolute Value USAGE -abs SYNOPSIS ss1 := abs(ss1) DESCRIPTION Returns the absolute value of array elements in ss1. #KW -acos NAME -acos - arc cosine USAGE -abs SYNOPSIS ss1 := acos(ss1) DESCRIPTION Returns the arc cosine of array elements in ss1 in the range 0 to PI. #KW -add NAME -add - scalar array addition USAGE -add SYNOPSIS ss1 := ss2 + ss1 ss2 := ss2 DESCRIPTION Addition of array elements in ss2 to ss1. ss2 and ss1 must either be arrays of the same size or scalar values. #KW -art3d NAME -art3d DESCRIPTION Experimental 3-D algebraic reconstruction. #KW -asin NAME -asin - arc sine USAGE -asin SYNOPSIS ss1 := asin(ss1) DESCRIPTION Returns the arc sine of array elements in ss1 in the range - PI/2 to PI/2. #KW -atan NAME -atan - arc tangent USAGE -atan SYNOPSIS ss1 := atan(ss1) DESCRIPTION Returns the arc tangent of array elements in ss1 in the range -PI/2 to PI/2. #KW -atan2 NAME -atan2 - arc tangent of ss2/ss1. USAGE -atan2 SYNOPSIS ss1 := atan(ss2/ss1) ss2 := ss2 DESCRIPTION Converts rectangular coordinates to polar by computing the argument or phase of array elements in ss2 divided by the array elements in ss1 in the range of -PI to PI. #KW -band NAME -band - bitwise and USAGE -band SYNOPSIS ss1 := ss2 & ss1 ss2 := ss2 DESCRIPTION Bitwise and of array elements in ss2 and ss1. Floating point values are converted to integer values prior to operation and converted back to floating point after the operation. Operates as follows: 0 0 | 1 0 1 | 0 1 0 | 0 1 1 | 1 #KW -bior NAME -bior - bitwise inclusive or USAGE -bior SYNOPSIS ss1 := ss2 | ss1 ss2 := ss2 DESCRIPTION Bitwise inclusive or of array elements in ss1 and ss2. Floating point values are converted to integer values prior to operation and converted back to floating point after the operation. Operates as follows: 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1 #KW -bkproj_2d NAME -bkproj_2d - 2-D back projection USAGE -bkproj_2d nsize0 nsize1 offset0 offset1 size0 size1 int_method nsize0, nsize1: Number of elements in dimension 0 and dimension1 of the resulting reconstruction array. offset0, offset1: Offsets in dimension0 and dimension1 to normalized reconstruction area in the range of -1.0 to 1.0 size0, size1: Size of normalized region to be reconstruct in dimension0 and dimension1 respectively in the range of 0.0 to 2.0. int_method: Interpolation method used during back projection. int_method is NNEIGHBOR for nearest neighbor interpolation and for linear interpolation. SYNOPSIS 2-D back projection of 2-D projection table in ss1 register based on table of theta values (radians) in ss2 register. The projection table is defined as a two dimensional array of projections sampled along dimension 0. The total number of projections defined along dimension 1 is equal to the number of theta values in ss2. After the operation, a 2-D array of size arsize0 by arsize1 is returned to ss1. ss2 is not affected. DESCRIPTION 2-D back projection to normalized reconstruction space defined from (-1.0, -1.0) to (1.0, 1.0). The method allows partial reconstruction of the normalized reconstruction space by of the offsets(offset0 offset1) and size (size0 size1) and the number of samples in the reconstruction array (nsize0 nsize1). NOTES 1. FORTRAN implementation dependency. EXAMPLE Reconstruct all of the normalized reconstruction space using linear interpolation to 100x100 array. -bkproj_2d 100 100 -1.0 -1.0 2.0 2.0 LINEAR Reconstruct one quadrant of normalized reconstruction using nearest neighbor interpolation to 64x64 array. -bkproj_2d 64 64 0.0 0.0 1.0 1.0 NNEIGHBOR #KW -bkproj_3d_fast NAME -bkproj_3d_fast - 3-D back projection USAGE -bkproj_3d_fast nsize0 nsize1 nsize2 zf0 zf1 zf2 int_method nsize0, nsize1, nsize2: Number of elements in dimension 0, dimension 1 and dimension 2 of the resulting reconstruction array. zf0, zf1, zf2: Zoom factor for each dimension from the center of the normalized reconstruction volume. int_method: Interpolation method used during back projection. int_method is NNEIGHBOR for nearest neighbor interpolation and LINEAR for linear interpolation. SYNOPSIS 3-D back projection of 2-D projection table in ss1 register based on table of theta and phi values (radians) in ss2 that describe the geometry of the planer projection. The projection table is defined as a two dimensional array of projections sampled along dimension 0. The total number of projections defined along dimension 1 is equal to the number of theta and phi value pairs defined in dimension 1 of ss2. After the operation, a 3-D array of size nsize0 x nsize1 x nsize2 is returned to ss1. ss2 is not affected. DESCRIPTION 3-D back projection to a normalized reconstruction volume. The method allows reconstruction of a partial volume by specifying a zoom factor about the origin. Each projection is weighted by the sin(theta). NOTES 1. FORTRAN implementation dependency. EXAMPLE Reconstruct complete reconstruction space to a 100x100x100 array using linear interpolation. -bkproj_3d_fast 100 100 100 1.0 1.0 1.0 LINEAR Reconstruct only the center 1/8th of the normalized reconstruction space using nearest neighbor interpolation to 64x64x64 array. -bkproj_3d_fast 64 64 64 2.0 2.0 2.0 NNEIGHBOR #KW -bkproj_3d_new NAME -bkproj_3d_new - 3-D back projection USAGE -bkproj_3d_new nsize0 nsize1 nsize2 zf0 zf1 zf2 weight_method nsize0, nsize1, nsize2: Number of elements in dimension 0, dimension 1 and dimension 2 of the resulting reconstruction array. zf0, zf1, zf2: Zoom factor for each dimension from the center of the normalized reconstruction volume. weight_method: The method use to weight projections. If SIN_THETA each projection is weighted by the sin(theta) and if CONSTANT, no weighting is performed. SYNOPSIS 3-D back projection of 2-D projection table in ss1 register based on table of theta and phi values (radians) in ss2 that describe the geometry of the planer projection. The projection table is defined as a two dimensional array of projections sampled along dimension 0. The total number of projections defined along dimension 1 is equal to the number of theta phi value pairs defined in dimension 1 of ss2. After the operation, a 3-D array of size nsize0 x nsize1 x nsize2 is returned to ss1. ss2 is not affected. DESCRIPTION 3-D back projection to a normalized reconstruction volume. The method allows reconstruction of a partial volume by specifying a zoom factor about the origin. Linear interpolation is used during the back_projection. NOTES 1. Sampling method is most "exact" at small computation cost. 2. FORTRAN implementation dependency. EXAMPLE Reconstruct complete reconstruction space to a 100x100x100 array using sin(theta) weighting. -bkproj_3d_new 100 100 100 1.0 1.0 1.0 SIN_THETA Reconstruct only the center 1/8th of the normalized reconstruction space using nearest neighbor interpolation to 64x64x64 array. -bkproj_3d_new 64 64 64 2.0 2.0 2.0 CONSTANT #KW -blc NAME -blc - baseline correction USAGE -blc new_mean new_mean: new mean value SYNOPSIS ss1 := (ss1-mean(ss1))+ new_mean DESCRIPTION Scale element values in ss1 to new mean value. EXAMPLE Scale elements in ss1 to new mean of 0.0. -blc 0.0 #KW -blpf NAME -blpf - Butterworth low-pass filter USAGE -blpf cutoff order cutoff: Frequency cutoff value in the range of 0.0 to 0.5. order: Order of Butterworth low pass filter in the range of approx. 1.0 to 10.0 SYNOPSIS ss1 := 1/ (1+ (radial()/cutoff)**power) where radial(ss1) is normalized radial frequency from origin of array in ss1. DESCRIPTION Computes radially symmetric multidimensional Butterworth low pass filter. SEE ALSO -radial #KW -bxor NAME -bxor - bitwise exclusive or USAGE -bxor SYNOPSIS ss1 := ss2 ^ ss1 ss2 := ss2 DESCRIPTION Bitwise exclusive or of array elements in ss1 and ss2. Floating point values are converted to integer values prior to operation and converted back to floating point after the operation. Operates as follows: 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0 #KW -cadd NAME -cadd - complex model addition USAGE -cadd SYNOPSIS ss1 := ss1 + ss3 ss2 := ss2 + ss4 ss3 := ss3 ss4 := ss4 DESCRIPTION Complex addition using the complex register storage model. #KW -cart NAME -cart - polar to Cartesian conversion USAGE -cart SYNOPSIS ss1 := ss1 * cos(ss2) ss2 := ss1 * sin(ss2) DESCRIPTION Convert from polar to Cartesian representation. #KW -ceil NAME -ceil - ceiling USAGE -ceil SYNOPSIS ss1 := ceil(ss1) DESCRIPTION Rounds up each array element to the next integer. #KW -center NAME -center Array centering USAGE -center SYNOPSIS ss1 := center(ss1) DESCRIPTION Translates an array in each dimension by 1/2 the number of elements in each dimension. If an array dimension size is of odd dimension, the amount of translation is rounded down to the nearest whole integral value. EXAMPLE Consider the following array: ss1: [ 1.0 0.0 0.0 0.0 0.0 0.0 .0 0.0 0.0 ] After execution of -center: ss1: [ 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 ] #KW -chs NAME -chs - change sign USAGE -chs SYNOPSIS ss1 := -1.0 * ss1 DESCRIPTION Changes the sign of the array elements in ss1. #KW -chunk NAME -chunk - chunk sub-array extraction USAGE -chunk offset_vector size_vector offset_vector: Vector parameter specifying the starting offsets into ss1 for sub-array extraction. size_vector: Vector parameter specifying the number of elements in each dimension to be extracted. SYNOPSIS ss1 := chunk(ss1) DESCRIPTION Extracts a subset of an array from a larger array. It is used to remove a "chunk" from a larger array. NOTES 1. Array indexing is from 0 to nn-1. #KW -clr NAME -clr - clear register USAGE -clr reg_number reg_number is 1, 2, 3 or 4 corresponding to ss1, ss2, ss3 and ss4. DESCRIPTION Clear and deallocate register memory. #KW -cmback - Connection Machine 2D Back Projection NAME -cmback - 2D back-projection on the connection machine USAGE -cmback nsize0 nsize1 start0 start1 end0 end1 int_method nsize0, nsize1: Number of elements in dimension 0 and dimension 1 of the resulting reconstruction array. start0, start1: Lower left hand corner of normalized reconstruction area. The values must lie in the range -1.0 to 1.0. end0, end1: Upper right hand corner of normalized reconstruction area. The values must lie in the range -1.0 to 1.0. int_method: Interpolation method used during back projection. Supported values are: NNEIGHBOR - nearest neighbor interpolation LINEAR - linear interpolation SYNOPSIS 2-D back projection of 2-D projection table in ss1 register based on table of theta values (radians) in ss2 register. The projection table is defined as a two dimensional array of projections sampled along dimension 0. The total number of projections defined along dimension 1 is equal to the number of theta values in ss2. After the operation, a 2-D array of size nsize0 by nsize1 is returned to ss1. ss2 is not affected. DESCRIPTION 2-D back projection to normalized reconstruction space defined from (-1.0, -1.0) to (1.0, 1.0). The method allows partial reconstruction of the normalized reconstruction space by specification of the start (start0 start1) and end (end0 end1) and the number of samples in the reconstruction array (nsize0 nsize1). NOTES 1. The size of the reconstruction volume (nsize0 x nsize1) must equal or exceed the number of physical processors being used on the connection machine. EXAMPLE Reconstruct all of the normalized reconstruction space using linear interpolation to 100x100 array. -cmproj 100 100 -1.0 -1.0 2.0 2.0 LINEAR Reconstruct one quadrant of normalized reconstruction using nearest neighbor interpolation to 64x64 array. -cmproj 64 64 0.0 0.0 1.0 1.0 NNEIGHBOR #KW -cmreorder NAME -cmreorder - Connection Machine Reorder USAGE -cmreorder new_axis0 new_axis1 ... SYNOPSIS Reorder the axis in the ss1 register array to be the requested order using the connection machine. DESCRIPTION The connection machine reads the ss1 register from the front- end with the axis reordered. It puts new_axis0 into the most contiguous axis location, new_axis1 into the next most contiguous axis location, etc. The connection machine then returns the reordered array to ss1. NOTES 1. The size of the ss1 register array must be as large as the number of physical processors on the attached connection machine. 2. The number of arguments to -cmreorder must equal the number of dimensions in the ss1 register. EXAMPLE Transpose a 2 dimensional array. -cmreorder 1 0 #KW -cmrotate NAME -cmrotate - Connection Machine Rotation USAGE -cmrotate angle SYNOPSIS Rotates the 3D array in ss1 register about axis2 by the specified angle(degrees). The result is left in the ss1 register. DESCRIPTION The connection machine rotates the array in the ss1 register by the angle (degrees). It replaces the original array in the ss1 register. The array must be 3D. A 3D linear interpolation is performed, but the rotation approximation is not good for angles near 45, 135, 225, and 315 degrees. NOTES 1. The size of the array in ss1 must equal or exceed the number of physical processors attached on the connection machine. 2. The array in ss1 must be three dimensions. EXAMPLE Rotate the rectangular parallelepiped in ss1 about axis2 by 22.5 degrees. -cmrotate 22.5 #KW -cmproj NAME -cmproj - Connection Machine Projector USAGE -cmproj alpha angle reduce_method [ ERODE erode_thresh ] alpha: defines the decay function angle: angle of rotation prior to projection (degrees) reduce_method: either MIN, MAX, or ADD erode_thresh: erode threshold (optional) SYNOPSIS -cmproj rotates the 3D array in the ss1 register by angle, multiples the result by exp((-alpha*x)/nx), erodes the data set by erode_thresh (if requested), and finally projects the 3D array down to a 2D array along axis0 via the method specified by reduce_method. The result is placed in the ss1 register. DESCRIPTION The function -cmproj first rotates the 3D data set in ss1 about axis2 by the specified angle (degrees). The result is multiplied by the decay function exp((-alpha*x)/nx), where x is the pixel position along axis0 and nx is the number of values in axis0. If ERODE is requested, then -cmproj performs a running addition along axis0, setting each pixel value to 0 until the cumulative sum exceeds erode_thresh. Finally, the 3D result is projected down to a 2D image along axis0. The reduce_method flag specifies whether the reduction should be via pixel integration (ADD), maximum pixel value (MAX) or minimum pixel value (MIN). The result is placed in ss1 with axis2 replacing axis0. NOTES 1. The data set in ss1 must be three dimensional. 2. The number of data elements in ss1 must equal or exceed the number of physical processors on the connection machine. 3. The rotate algorithm is inexact at angles near 45 degrees. #KW -cmmovie NAME -cmmovie - Connection Machine Volume Movie USAGE -cmmovie alpha reduce_method [erode erode_threshold] alpha: defines the decay function reduce_method: either MIN, MAX, or ADD erode_thresh: erode threshold (optional) SYNOPSIS -cmmovie creates a number of movie frames using the algorithm specified in -cmproj (see DESCRIPTION below). The input array must be a 3D array in the ss1 register and the vector of movie frame rotation angles (degrees) are in the ss2 register. The result is a 3D data set in ss1 where the movie frames are stacked along axis2. DESCRIPTION For each angle (degrees) specified in the ss2 register, -cmmovie creates a movie frame using the following algorithm: First rotate the 3D data set in ss1 about axis2 by the current angle (degrees) value. Second, multiply the result by the decay function exp((- alpha*x)/nx), where x is the pixel position along axis0 and nx is the number of values in axis0. If ERODE is requested, then perform a running addition along axis0, setting each pixel value to 0 until the cumulative sum exceeds erode_thresh. Finally, project the resulting 3D data set down to a 2D movie frame along axis0. The reduce_method flag specifies whether the reduction should be via pixel integration (ADD), maximum pixel value (MAX) or minimum pixel value (MIN). The result is placed in ss1 with each successive frame being along axis2. SEE ALSO -movie #KW -cmul NAME -cmul - complex model multiplication USAGE -cmul SYNOPSIS ss1 := ss1*ss3 + ss2*ss4 ss2 := ss1*ss4 + ss2*ss3 ss3 := ss3 ss4 := ss4 DESCRIPTION Complex multiplication using the complex register storage model. #KW -conj NAME -conj - complex conjugate USAGE -conj SYNOPSIS ss1 := ss1 ss2 := -ss2 DESCRIPTION Returns complex conjugate using complex register storage model. #KW -const NAME -const - constant USAGE -const scalar_value scalar_value: scalar constant value. SYNOPSIS ss1 := scalar_value DESCRIPTION Create and allocate scalar constant value. #KW -copy NAME -copy - copy register USAGE -copy source_reg destination_register SYNOPSIS ss(destination_register)= ss(source_register) DESCRIPTION Copies array in source register to the destination register. EXAMPLE The following would copy the ss4 register to the ss2 register: -copy 4 2 #KW -cormat NAME -cormat - Multivariate Correlation Matrix USAGE -cormat SYNOPSIS ss1 := cormat(ss1) DESCRIPTION Calculate the correlation matrix between multiple variables of the variable dimension (last dimension) of multidimensional array. SEE ALSO Viewit User's Manual #KW -cos NAME -cos - cosine USAGE -cos SYNOPSIS ss1 := cos(ss1) DESCRIPTION Returns the cosine of radian argument element values. #KW -covarmat NAME -covarmat - covariance matrix USAGE -covarmat SYNOPSIS ss1 := covarmat(ss1) DESCRIPTION Calculates the covariance matrix between multiple variables of the variable dimension (last dimension) of a multidimensional array. #KW -dcfilt NAME -dcfilt - DC Filter USAGE -dcfilt DC_value SYNOPSIS ss1[0] := DC_value ss1[>0] := 1.0 DESCRIPTION Sets all values in an array to 1.0 except the first element which is set to the specified DC_value. EXAMPLE -dim 2 5 5 -dcfilt 0.1 ss1: [0.1 1 1 1 1 1...1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] #KW -debug NAME -debug - set debug level USAGE -debug debug_level debug_level: Level of output for debug. DESCRIPTION Provides for debug reporting. Level 0 is for no debug output. A level of 1 provides minimal debug reporting and a level of 2 provides the highest level of debug output. #KW -degrees NAME -degrees Convert from radians to degrees. USAGE -degrees SYNOPSIS ss1 := 180.0 * ss1/PI DESCRIPTION Convert array element values from radians to degrees. #KW -diagonalize_vector NAME -diagonalize_vector USAGE -diagonalize_vector SYNOPISIS ss1 := diag(ss1) DESCRIPTION Place the elements of vector in ss1 in diagonal matrix form. #KW -dim NAME -dim register dimensioning and memory allocation USAGE -dim ndim nsize_0 nsize_1 .... nsize_ndim-1 ndim: number of dimensions in array to allocate. nsize_0, nsize_1 ... nsize_ndim-1: Vector parameter specifying the size of each dimension. SYNOPSIS Reallocates array memory in ss1. DESCRIPTION Dynamic reallocation of memory. Internally, a multidimensional array is stored so that the leading dimension (dimension 0) in the parameter list varies the fastest. EXAMPLE To allocate a 64x100x20 array: -dim 3 64 100 20 #KW -displ NAME -displ - raster display USAGE VT Distributed Display Protocol -displ VT host_name host_name: Name or Internet number of host server running VT display server process (i.e viewit_tool, taac_tool, vt, vt2, etc.) TK Distributed Display Protocol -displ TK host_name variable_name host_name: Name or Internet number of host server running TK display server process (i.e. datascope) variable_name: Local variable Identification (any text string). VR Display Protocol -displ VR W xoff yoff xsize ysize /* Create Window */ -displ VR P /* Display Data */ xoff, yoff: Local display offsets in pixels. xsize, ysize: Display window size in pixels. X-11 Display Protocol -displ X host_name /* Display Data */ -displ XLUT host_name /* Load LUT */ host_name: name of host server running X-11. CM-2 Frame Buffer -displ CMFB [PSEUDO RGB] zoom_factor -displ CMFB2 [PSEUDO RGB] zoom_factor_x zoom_factor_y Ultra Frame Buffer -displ UFB [PSEUDO RGB] zoom_factor GX4000 Frame Buffer -displ [RED GREEN BLUE ALL OPEN CLOSE] IVAS Frame Buffer -displ IVAS [RED GREEN BLUE ALL] DESCRIPTION Provides raster image display capabilities for a variety of distributed frame buffer protocols and hardwired frame buffers. SEE ALSO Viewit User's Manual #KW -div NAME -div - scalar array division USAGE -div SYNOPSIS ss1 := ss2/ ss1 ss2 := ss2 DESCRIPTION Division of array elements in ss2 by ss1. ss2 and ss1 must either be arrays of the same size or scalar values. #KW -doff NAME -doff display offset USAGE -doff xoff yoff xoff: x display offset yoff: y display offset SYNOPSIS Does not affect registers. DESCRIPTION Sets display offset to (xoff, yoff) for use by the -displ function. #KW -drand48 NAME -drand48 - Uniform random number generator USAGE -drand48 SYNOPSIS ss1 := drand48() DESCRIPTION Generates uniformly distributed random numbers using the drand48() system call. The range of values returned is implementation dependent. #KW -DTM NAME -DTM - Data Transfer Mechanism USAGE viewit -DTM Internet_address Internet_address: Address of DTM client. DESCRIPTION Initiates viewit in DTM command/control mode. This mode is used by NCSA Image3 for distributed execution. SEE ALSO Viewit User's Guide #KW -dtmwriteb NAME -dtmwriteb - DTM write bytes USAGE -dtmwriteb DESCRIPTION Used to transfer data to DTM client using DTM command/control mode. Register data is converted from floating point to unsigned byte and transfered. #KW -dtmwritef NAME -dtmwritef - DTM write floats USAGE -dtmwritef DESCRIPTION Used to transfer data to DTM client using DTM command/control mode. Register data is transferred as floating point data. #KW -duplicate NAME -duplicate - array duplication USAGE -duplicate ntimes ntimes: number of times to duplicate the array. SYNOPSIS ss1 := duplicate(ss1) The total number of elements returned to ss1 is ntimes the original number of elements. DESCRIPTION Expands the number of dimensions of an array by duplicating the array ntimes into the next dimension. EXAMPLE Consider the following 1-d array: ss1: [1.0 2.0 3.0 4.0] A two dimensional array could be created using the -duplicate function. For example, -duplicate 2 would create the following: ss1: 1.0 2.0 3.0 4.0 1.0 2.0 3.0 4.0 #KW -eigen NAME -eigen - eigen values and eigen vectors USAGE -eigen vector Return eigen vectors. -eigen value Return eigen values. DESCRIPTION Returns to the ss1 register eigen values or eigen vectors of a real symmetric matrix in the ss1 register. NOTES 1.) Uses NAG library. #KW -exp NAME -exp exponential USAGE -exp SYNOPSIS ss1 := exp(ss1) DESCRIPTION Return the exponential of array element values ( e**x). #KW FILE_FORMATS FILE FORMAT CHARACTERISTICS ======================================= File Format 1 2 3 4 5 RAW N/A I/O N N skips bytes YAHO1 N-D I/O N Y none YAHOXDR N-D I/O Y Y none HDF N-D I/O Y Y none FITS N-D I N(a) Y none SISCO 1,2,3-D I N Y none HDF_RASTER_8 2 I/O Y Y none HDF_RASTER_8_WLUT 2 I/O Y Y none HDF_RASTER_24 2 I/O Y Y no CHARACTERISTICS 1. Maximum array dimensionality supported. 2. Viewit support for Input and/or Output. 3. Machine Independent File Format. 4. Internal Definition of array dimensions and data typing (self- defining 5. -ioffset affect. NOTES a. FITS definition is machine independent but machine independence is not supported. RAW File Format DESCRIPTION: Provides capability to read and write a stream of raw data elements where the data type must be specified with the -itype or -otype function. Input Data Type Comments =============== ============================ UBYTE Unsigned Bytes BYTE Signed Bytes USHORT Unsigned Short Integers SHORT Signed Short Integers ULONG Unsigned Long Integers LONG Signed Long Integers FLOAT Floats DOUBLE Double Floats CFLOAT Complex Floats (real, imag) CSHORT Complex Short Integers(real, imag) CLONG Complex Long Integers (real, imag) VAXSHORT Vax short integers ASCII ASCII Character Representation Output Data Type Comments ================ ============================= UBYTE Unsigned Bytes BYTE Signed Bytes USHORT Unsigned Short Integers SHORT Signed Short Integers ULONG Unsigned Long Integers LONG Signed Long Integers FLOAT Floats DOUBLE Double Floats CFLOAT Complex Floats (real, imag) ASCII ASCII Character Representation YAHO1 File Format DESCRIPTION: A self defining file type that describes the shape and data type of the array. The YAHO1 file format allows only one multidimensional array to be stored in a file. The YAHO1 file format is not machine independent. The file format consists of a simple header of consisting of integer values that describe the number of dimensions, size of each dimension and the data type. Input Data Type Comments ================================================= UBYTE Unsigned Bytes BYTE Signed Bytes USHORT Unsigned Short Integers SHORT Signed Short Integers ULONG Unsigned Long Integers LONG Signed Long Integers INTEGER Signed Long Integers FLOAT Floats DOUBLE Double Floats CFLOAT Complex Floats (real, imag) CSHORT Complex Short Integers(real, imag) CLONG Complex Long Integers (real, imag) Output Data Type Comments ================ ============================= UBYTE Unsigned Bytes BYTE Signed Bytes USHORT Unsigned Short Integers SHORT Signed Short Integers ULONG Unsigned Long Integers LONG Signed Long Integers FLOAT Floats DOUBLE Double Floats CFLOAT Complex Floats (real, imag) YAHOXDR File Format DESCRIPTION: A machine independent self-defining file format similar to YAHO1 except the header and data values are encoded using the XDR (external data representation) standard. Input Data Type Comments ================================================== UBYTE Unsigned Bytes SHORT Signed Short Integers LONG Signed Long Integers FLOAT Floats CFLOAT Complex Floats (real, imag) CSHORT Complex Short Integers(real, imag) CLONG Complex Long Integers (real, imag) Output Data Type Comments ==================================================== UBYTE Unsigned Bytes SHORT Signed Short Integers LONG Signed Long Integers FLOAT Floats CFLOAT Complex Floats (real, imag) CSHORT Complex Short Integers(real, imag) CLONG Complex Long Integers (real, imag) HDF File format DESCRIPTION: This file format supports multi-dimensional floating point arrays using the NCSA Hierarchical Data Format for scientific datasets (HDF-SDS Format). The format is a machine independent, self-defining file format. Input Data Type Comments =============== ================== FLOAT Floats Output Data Type Comments ================ ================== FLOAT Floats HDF_RASTER_8 File Format HDF_RASTER_8_WLUT File Format HDF_RASTER_24 File Format DESCRIPTION: The HDF_RASTER file formats support 2-D raster image files using the NCSA Hierarchical Data format. These formats are self defining and are machine independent. HDF_RASTER_8 imports and exports 2-D raster datasets. HDF_RASTER_8_WLUT provides the capability to store 2-D raster datasets with a color table that is stored as a 256x3 array in ss2. HDF_RASTER_24 provides support for 3x8bit RGB imagery where the data is imported and exported by a 3xnrowsxncols array in ss1. These file formats are primarily used for importing and exporting data between the NCSA software visualization tool suite (Image, Datascope, etc.) SISCO File Format DESCRIPTION: Provides the capability to import Spectroscopy Imaging Systems, Inc. fid data files. Data is usually stored as a 1-D, 2-D or 3-D complex containing raw echo or fid data. Viewit will read these data using the complex model and store the real part in ss1 and the imaginary part in ss2. FITS File Format DESCRIPTION: File format primarily used by the astronomical community for n-dimensional, regularly spaced arrays. The file format contains an ASCII header the specifies a number of parameters. Viewit searches this header for the NAXIS and BITPIX parameters as described by the FITS specification to determine the dimensionality and data type. Viewit will import FITS files only. #KW -filt1d #KW -floor NAME -floor - floor USAGE -floor SYNOPSIS ss1 := floor(ss1) DESCRIPTION Rounds down each array element to the nearest integer. #KW -ft NAME -ft - multidimensional Fourier Transform -ft1d - 1-D Fourier Transform -ft2d - 2-D Fourier Transform USAGE -ft input_type analysis_or_synthesis output_type -ft1d input_type analysis_or_synthesis output_type -ft2d input_type analysis_or_synthesis output_type input_type: specifies that the transform is to be applied to real or complex data. If input_type = REAL , the transform is applied to an array in ss1. If input_type = COMPLEX, the transform is applied to a complex data storage model with the real part in ss1 and the imaginary part in ss2. analysis_or_synthesis: Specifies if Fourier analysis (exponential sign is -) or Fourier synthesis is to be performed (exponential sign is +). If analysis_or_synthesis = FWRD, Fourier analysis is performed if analysis_or_synthesis= BACK, Fourier synthesis in performed. output_type: Specifies the type of data to be returned to the register stack after Fourier transform. If output_type = COMPLEX, the data will be returned in the complex storage model with the real part in ss1 and the imaginary part in ss2. If output_type = CMOD, the complex modulus is computed and returned to ss1 and if output_type= POLAR, the complex modulus is returned to ss1 and the phase is returned to ss2. These options are summarized as follows: output_type Result ----------------------------------------------- COMPLEX -ft ss1: real ss2: imag POLAR -ft ss1: sqrt( real**2 + imag**2) ss2: atan( imag/ real) CMOD -ft ss1: sqrt( real**2 + imag**2) ss2: imag PSD -ft ss1: log( real**2 + imag**2) ss2: imag DESCRIPTION The -ft, -ft1d and -ft2d functions perform a Fourier transform on register data structures. The -ft function performs the transform on all of the dimensions in the array. For example, if the register has 3 dimensions, a 3-d Fourier transform will be performed. The -ft1d function perform a 1-D Fourier transform on the leading dimension (dimension 0) of a array. If the array has more than one dimension, the 1-D Fourier transform is applied successively to all other elements. For example if -ft1d was applied to a 64x20x20 array, 400 transforms with 64 elements would be performed. The -ft2d function is similar to the -ft1d function and will perform successive 2-D transforms on the leading two dimensions the array. For example, if - ft2d was applied to a 64x64x20 array, 20 two dimensional 64x64 transforms would be applied. NOTES 1. The sizes of the dimensions do not have to be powers of 2. 2. FORTRAN implementation dependency. #KW -ft1d SEE -ft #KW -ft2d SEE -ft #KW -gauss NAME -gauss - Gaussian deviate random number generator USAGE -gauss SYNOPSIS ss1 := gauss() DESCRIPTION Generates normally distributed random numbers with a mean of 0.0 and a standard deviation of 1.0. The algorithm uses the Box- Muller method to generate normal deviates. #KW -glue NAME -glue - glue USAGE -glue SYNOPSIS ss1 := ss1||ss2 ss2 := ss2 DESCRIPTION Appends the array elements values in ss2 to the end of the array element values in ss1. Regardless of the dimensionality, both arrays in ss1 and ss2 are treated as 1-D linear vectors and the result is a 1-D array which may be re-dimensioned. EXAMPLE Consider the following: ss1: [ 1 2 3 4 1 2 3 4 1 2 3 4 ] ss2: [ 3 3 3 3 4 4 4 4 ] After -glue ss1: [ 1 2 3 4 1 2 3 4 1 2 3 4 3 3 3 3 4 4 4 4 ] ss2: [ 3 3 3 3 4 4 4 4 ] #KW -graph NAME -graph - Crude Raster Plotting USAGE -graph ival LOCAL_SCALE GLOBAL_SCALE SCALE min max DESCRIPTION Produces a crude raster plot of the values in the leading dimension of the array as a function of position in the array. The ival parameter is the "color" value of the point to be plotted. The SCALE parameters specify the method of scaling the data. #KW -group NAME -group - mosaic array USAGE -group ncols ncols: Number of columns in 2-D mosaic. SYNOPSIS ss1 := group(ss1) DESCRIPTION The function is used to create 2-D mosaics from 3-D arrays. It reduces the rank of a 3-D array by conceptually lifting 2-D slices from the 3-D array and placing them next to each other in row order. NOTES: 1. Limited to 3-D -> 2-D should be expanded to n-D -> n-D-1 case. #KW -height_reduce NAME -height_reduce USAGE -height_reduce SYNOPSIS ss1 := height_reduce(index_of_element_>_0.0) ss2 := height_reduce( ss1[index_of_element_>_0.0)) DESCRIPTION A specialized reduction operator for 3-D arrays that operates along the last dimension (dimension 2) of the array. The index of the first element, or the "depth field" is returned to ss1 and the value of the array element with this index is returned to ss2 NOTES 1. A "klunky" function that is reasonably useful for some visualization applications. 2. Not very efficient. #KW -histogram NAME -histogram - mulitvariate histogram USAGE -histogram SYNOPSIS ss1 := ss1 ss2 := histogram(ss1) DESCRIPTION N-dimensional, multivariate histogram function. The bins for the histogram are indexed by an array in ss2 where the size of each dimension is equal to the number of bins for each variable. NOTES 1. See the User's Guide for examples. #KW -i NAME -i - input file USAGE -i file_name file_name: Name of file to load to registers. SYNOPSIS ss1 := read_file(file_name) ss2 := possibly imaginary part of array depending on iformat and itype DESCRIPTION Reads and loads a file to register data structures. The actual format of the file that is loaded is based on the settings for the input file format (-iformat) and the input data type ( -itype ) which should be set before execution of -i. This function will automatically allocate memory and dimension registers if the input file format contains array dimension information. SEE ALSO -iformat, -itype, -ioffset, FILE_FORMATS #KW -identity_matrix NAME -identity_matrix USAGE -identity_matrix SYNOPSIS ss1 := identity_matrix() DESCRIPTION Creates an identity matrix for 2-D arrays. #KW -iformat NAME -iformat - Set input file format USAGE -iformat input_file_format_type SYNOPSIS Registers are not affected. DESCRIPTION Sets the input file format type for use by -i. This command should be used before execution of the -i command. SEE ALSO -i, -itype, -ioffset, FILE_FORMATS #KW -ilpf NAME -ilpf - ideal low pass filter USAGE -ilpf cut_off cut_off: relative_cut_off_frequency (0.0 < cut_off < ~= 1.0 SYNOPSIS ss1 := 0.0 if radial() > cut_off 1.0 if radial() <= cut_off DESCRIPTION Create a radially symmetric multidimensional ideal low pass based. #KW -index NAME -index - index values based on table USAGE -index SYNOPSIS ss1 := ss1[ss2] ss2 := ss2 DESCRIPTION Rearranges values in the ss1 register based on index value in ss2 register. Arrays are assumed to be stored as linear vectors with corresponding index values. NOTES 1. Zero based indexing ( index values start at 0). #KW -index_table NAME -index_table - create index table USAGE -index_table SYNOPSIS ss1 := indices_for_sort_in_ascending_order() DESCRIPTION Creates a table of indices for sorting array values in ascending order. #KW -interactive NAME -interactive - set interactive mode USAGE -interactive ON or OFF DESCRIPTION Provides the ability to enter interactive mode from viewit command line executing from the UNIX shell. EXAMPLE kepler_5 % viewit -dim 2 100 100 -rand -interactive ON -stats -dim 2 100 100 -interactive viewit> -rand -rand viewit> -interactive OFF -interactive ON -stats Univariate Statistics: n=10000, sum= ... #KW -interlace NAME -interlace - odd/even shuffle across last dimension USAGE -interlace SYNOPSIS ss1 := interlace(ss1) DESCRIPTION This is the multi-dimensional equivalent of a perfect shuffling of a deck of playing cards. SEE ALSO User's Guide. #KW -ioffset NAME -ioffset - input file offset USAGE -ioffset file_offset file_offset: Number of things (usually bytes) to skip before loading array from file. SYNOPSIS Registers are not affected. DESCRIPTION The -ioffset command provides the ability to skip objects or things (usually bytes) before loading a file. This function is most commonly used with the RAW input_file format to specify the number of bytes to skip before loading an array from a file. It is useful for skipping over file headers. The offset is assumed to be 0 if not specified. The -ioffset command should be used prior to execution of -i. SEE ALSO -i, FILE_FORMATS #KW -itype NAME -itype - Set input data type. USAGE -itype input_data_type SYNOPSIS Registers are not affected. DESCRIPTION Sets the input data type for use by -i. This command is not required if the input file format specifies the data type. If necessary this command should be used before the -i command. SEE ALSO -i, -iformat, -ioffset, FILE_FORMATS #KW -land NAME -land - logical and USAGE -land SYNOPSIS ss1 := ss2 && ss1 ss2 := ss2 DESCRIPTION Logical and of array elements in ss1 and ss2. Floating point values are converted to integer values prior to operation and converted back to floating point after the operation. #KW -leq NAME -leq - equality USAGE -leq SYNOPSIS ss1 := ss2 == ss1 ss2 := ss2 DESCRIPTION Equality test between array elements in ss1 and ss2. #KW -lge NAME -lge - relational greater than or equal USAGE -lge SYNOPSIS ss1 := ss2 >= ss1 ss2 := ss2 DESCRIPTION Relational test for ss2 >= ss1. #KW -lgt NAME -lgt - relational greater than USAGE -lgt SYNOPSIS ss1 := ss2 > ss1 ss2 := ss2 DESCRIPTION Relational test for ss2 > ss1. #KW -light NAME -light - Simulate lighting of scalar field. USAGE -light elevation aspect background elevation: geometry specifying elevation angle of lighting vector (degrees) aspect: geometry specifying aspect angle of lighting vector (degrees) background: Background threshold level. DESCRIPTION Simulates lighting a two dimensional depth field by calculating dot product between a unit lighting vector defined by the elevation and azimuth of the light source and the local surface normal vector of the height field. Any resulting dot product value less than the background threshold level is set to this value. NOTES 1. Should be extended to n-d case. 2. Depth is relative to distance between array elements and values should be scaled on the order of 0.0 to 1.0 for things to look very good. #KW -linscl NAME -linscl - linear scaling USAGE -linscl LS US LS: Lower scaling value. US: Upper scaling value. SYNOPSIS ss1 := (US-LS)/(MAX-MIN)*(ss1-MIN)+LS where MIN and MAX are the minimum and maximum values in the array respectively. DESCRIPTION Scales an array between a specified range. #KW -lle NAME -lle - relational less than or equal USAGE -lle SYNOPSIS ss1 := ss2 <= ss1 ss2 := ss2 DESCRIPTION Relational test for ss2 <= ss1. #KW -llt NAME -llt - relational less than USAGE -llt SYNOPSIS ss1 := ss2 < ss1 ss2 := ss2 DESCRIPTION Relational test for ss2 < ss1. #KW -log NAME -log - natural logarithm USAGE -log SYNOPIS ss1 := log(ss1) DESCRIPTION Returns the natural logarithm of array elements. #KW -log10 NAME -log10 - common logarithm USAGE -log10 SYNOPSIS ss1 := log10(ss1) DESCRIPTION Returns the common logarithm of array elements. #KW -look_up NAME -look_up - LUT specified transfer function USAGE -look_up int_method int_method: Specifies interpolation method to be used to determine transfer function. If int_method is NNEIGHBOR, nearest neighbor or 0th order interpolation s used. If int_method is LINEAR, linear or 1st order is used. SYNOPSIS ss1 := ss1[ss2] ss2 := ss2 DESCRIPTION Used to transform data values in ss2 based on a transfer function that is specified as a table of values in ss1. The table values are loaded column wise in ss1 (along dimension 0). The first column contain the abscissa values for the transfer function and successive columns contain ordinate values for each of the variables in the multivariate array. SEE ALSO User's Guide #KW -loop NAME -loop, -end_loop - command line looping USAGE -loop n ... -end_loop n: number of times to loop DESCRIPTION Used to perform simple looping within a command line. The set of functions between -loop and -end_loop is executed n times. #KW -lor NAME -lor - logical or USAGE -lor SYNOPSIS ss1 := ss2 || ss1 DESCRIPTION Conditional and of array elements in ss1 and ss2. Floating point values are converted to integer values prior to operation and converted back to floating point after the operation. #KW -lshift NAME -lshift - left shift USAGE -lshift nbits SYNOPSIS ss1 := ss1 << nbits DESCRIPTION Left bit shift of array element values after conversion to integer. Vacated bits are 0 filled. #KW -macro NAME -macro - execute macro command file USAGE -macro file_name DESCRIPTION Executes a command list residing in an ASCII file. NOTES 1. Probably should not be used recursively. 2. Some Bugs. #KW -matmul NAME -matmul - real matrix multiplication USAGE -matmul SYNOPSIS ss1 := ss2 * ss1 DESCRIPTION Premultiplication of matrix in ss1 by matrix in ss2 using real storage mode. #KW -mirror NAME -mirror - mirror USAGE -mirror dimension_number dimension_number: Dimension number to reflect array across ( i.e. 0,1,2, etc.) SYNOPSIS ss1 := mirror(ss1, dimension_number) DESCRIPTION Reflects an array across a given dimension. #KW -mod NAME -mod - remainder USAGE -mod SYNOPSIS ss1 := ss2 % ss1 DESCRIPTION Returns remainder of ss2/ss1 using the fmod() routine. #KW -movie NAME -movie - Volume Cine USAGE -movie alpha method erode_flag erode_thresh 2diff_FLAG alpha: defines the decay function. method: Reduction method ceil- Maximum add- sum ceil_index- index of maximum erode_flag: erode- Use erosion method. no_erode- Do not use erosion method. erode_thresh: erode threshold value 2diff_flag: 2DIFF- Calculate second difference. NO2DFIFF- Do not calculate second difference. SYNOPSIS On entry ss1 contains a 3-D array containing the volume to be rendered. A 1-d array that contains a list of rotation angles is loaded to ss2. On exit, ss1 will contain a three-dimensional array that has a 2-D projection of the volume for each of the rotation angles. DESCRIPTION Provides the capability to create a movie or "cine" of a rotating volume. For each angle (degrees) specified in the ss2 register, -movie creates a movie frame using the following algorithm: First rotate the 3D data set in ss1 about axis2 by the current angle (degrees) value. Second, multiply the result by the decay function exp((-alpha*x)/nx), where x is the pixel position along axis0 and nx is the number of values in axis0. If ERODE is requested, then perform a running addition along axis0, setting each pixel value to 0 until the cumulative sum exceeds erode_thresh. Finally, project the resulting 3D data set down to a 2D movie frame along axis0. The reduce_method flag specifies whether the reduction should be via pixel integration (ADD), maximum pixel value (MAX) or minimum pixel value (MIN). The result is placed in ss1 with each successive frame being stacked along axis2. SEE ALSO -cmmovie, -reduce #KW -mul NAME -mul - scalar array multiplication USAGE -mul SYNOPSIS ss1 := ss2 * ss1 ss2 := ss2 DESCRIPTION Multiplication of array elements in ss2 and ss1 on an element by element basis. ss2 and ss1 must either be array of the same size or scalar values. #KW -nbhd NAME -nbhd - neighborhood USAGE Adaptive Histogram Equalization -nbhd AHE ksize Multidimensional Convolution Unweighted Average -nbhd UNWAVG ksize Convolution with kernal specified in ss2 -nbhd SS2 Predefined 2-D Convolution Unweighted Smoothing -nbhd UNWA3 Exponential Weighted 3x3 -nbhd gauss3 sigma Exponential Weighted 5x5 -nbhd gauss5 sigma Laplacian -nbhd LAP43 Vertical Edge Enhancer -nbhd VEDGE1 Weighted Vertical Edge Enhance -nbhd VEDGE2 Vertical Line Enhancer -nbhd VLINE1 Horizontal Edge Enhancer -nbhd HEDGE1 Weighted Horizontal Edge Enhancer -nbhd HEDGE2 Horizontal Line Enhancer -nbhd HLINE1 Predefined 3-D Convolution Exponential Weighted -nbhd gauss4 sigma Rank Order Neighborhood Operators Generalized Rank Order Filter -nbhd rank ksize icval icval: rank replacement value Median Filter -nbhd median ksize Minimum Filter -nbhd min ksize Maximum Filter -nbhd max ksize Statistical Neighborhood Operators Mean Filter -nbhd mean ksize Variance Filter -nbhd variance ksize Standard Deviation Filter -nbhd stddev ksize Neighborhood Correlation -nbhd r ksize Neighborhood Sum -nbhd sum ksize Neighborhood sum of squares -nbhd sum^2 ksize Neighborhood Z-score -nbhd zscore ksize Neighborhood Fraction -nbhd nf ksize ksize: Specifies the number of elements in one dimension of the neighborhood DESCRIPTION Encompasses a class of functions that require neighborhood transforms such as discrete convolution, rank order filtering, adaptive histogram equalization and statistical neighborhood parameter estimation. Most of the neighborhood operators will operate with multidimensional arrays. NOTES 1. The size of each dimension of the neighborhood are assumed to be equal. SEE ALSO User's Guide #KW -nopdim NAME -nopdim - Set number of operations dimensions USAGE -nopdim ndim ndim: Number of operations dimensions ( i.e. 1, 2, 3). If ndim is 0, resets nopdim mode to original number of dimensions. DESCRIPTION Restricts an operation to a given number of leading dimensions. By default, the multi-dimensional functions in viewit operate on dimensions defined in a register. The use of -nopdim, allows the dimensionality of the function to be restricted. SEE ALSO User's Guide #KW -o NAME -o - output file USAGE -o file_name file_name: Name of output file. SYNOPSIS Registers are not affected. DESCRIPTION Writes register data structures to file. The actual format of the output file is based on the settings of the output file format (- oformat ) and the output data type (-otype) which should be set before execution of -o. SEE ALSO -oformat, -otype, FILE_FORMATS #KW -oformat NAME -oformat - Set output file format USAGE -oformat output_file_format_type SYNOPSIS Registers are not affected. DESCRIPTION Sets the output file format type for use by -o. This command should be used prior to execution of -o. SEE ALSO -o, -otype, FILE_FORMATS #KW -otype NAME -otype - Set output data type. USAGE -otype output_data_type SYNOPSIS Registers are not affected. DESCRIPTION Sets the output data type for use by -o. SEE ALSO -o, -oformat, FILE_FORMATS #KW -phase_correct_1 NAME -phase_correct_1 - First order Phase Rotation USAGE -phase_correct_1 RP LP RP: 0th order phase correction parameter (degrees) LP: First order phase correction parameter (degrees) DESCRIPTION Used for phase rotation of a spectrum by mixing the real and imaginary parts. The -phase_correct_1 function performs first order frequency dependent phasing according to Absorption Spectrum= Real* Sin(theta) + Imaginary* cos(theta) where theta is a frequency dependent phase term such that theta= RP + (w-w0)*LP Where RP and LP are the zeroth and first order phase correction specified as two parameters to the phase_correct_1 function. The RP and LP parameters are specified in degrees and correspond to the RP and LP values on the SISCO NMR imaging system. The -phase_correct_1 function operates on the leading or zeroth dimension of the ss1 register. #KW -plot NAME -plot - NCAR Graphics Interface USAGE Open NCAR metafile -plot OPEN X*Y Plot w/ implied abscissa -plot EZY title X*Y Plot -plot EZXY title Multiple X*Y Plot w/ implies abscissa -plot EZMY title Multiple X*Y Plot -plot EZMXY title EZ Contour Plot -plot EZCNTR Contour Plot w/ level specification -plot CONREC low high increment Surface Profile Plot -plot EZSRFC elevation aspect Field Plot -plot EZVEC Close NCAR metafile. -plot CLOSE DESCRIPTION Provides an interface to commonly used NCAR graphics routines. NOTES 1. NCAR implementation dependency. SEE ALSO Viewit User's Guide #KW -polar NAME -polar - Cartesian to polar conversion USAGE -polar SYNOPSIS ss1 := sqrt (ss1^2 + ss2^2) ss2 := atan2 (ss2/ ss1) DESCRIPTION Convert from Cartesian to polar representation. #KW -pop NAME -pop - register stack pop USAGE -pop SYNOPSIS ss1 := ss2 ss2 := ss3 ss3 := ss4 ss4 := ss4 DESCRIPTION Lifts the register stack by copying from the bottom of the register stack to preceding registers. #KW -pow NAME -pow - power USAGE -pop SYNOPSIS ss1 := ss2 ** ss1 DESCRIPTION Array elements in ss2 raised to the power of ss1 array elements on an element by element basis. #KW -print NAME -print - List array element values USAGE -print DESCRIPTION Lists values of array elements. #KW -proj_3d NAME -proj_3d - 3D Planar Projection DESCRIPTION 3D Planar projection of array. NOTES 1.) Experimental function for iterative 3-D projection methods. #KW -push NAME -push - register stack push USAGE -push SYNOPSIS ss1 := ss1 ss2 := ss1 ss3 := ss2 ss4 := ss3 DESCRIPTION Pushes the register stack by copying from the top of the stack to the bottom of the stack. SEE ALSO -pop, -copy, -xchg, -swap, -glue #KW -quit NAME -quit - quit viewit USAGE -quit DESCRIPTION Used to exit from viewit. NOTES 1. does the same thing. #KW -r24r8 NAME -r24r8 - Convert RGB color model to 8 Bit pseudocolor model. USAGE -r24r8 SYNOPSIS; ss1 := 8_bit_mapped_pseudo_color_data(ss1) ss2: := 3x256 LUT to map ss1 to pseudo RGB. DESCRIPTION Used to map RGB color model data to 8 bit pseudocolor data through the use of a generated LUT. On entry, ss1 contains a 3xN0xN1 ...Nn array that represents a RGB components of a multi- dimensional array. On exit, this array is mapped to 8 bit unsigned byte data that can be displayed as pseudocolor RGB by using the 3x256 array in ss2 as a LUT. #KW -radial NAME -radial - normalized euclidian intra-array distance USAGE -radial SYNOPSIS ss1 := radial() DESCRIPTION Computes normalized Euclidian radial distance from origin of array in ss1. #KW -radians NAME -radians - Convert from degrees to radians USAGE -radians SYNOPSIS ss1 := PI * ss1 /180. DESCRIPTION Convert array elements from degrees to radians. #KW -ramp NAME -ramp - Increment Values USAGE -ramp n d n: Period of sequence. d: Number of repeats SYNOPSIS Over all array elements: for i= 0 to n-1 for j= 1 to d ss1 := i next j next i DESCRIPTION Fills a multidimensional array with incrementing values with a given period. #KW -rand NAME -rand - Uniform random number generator USAGE -rand SYNOPSIS ss1 := rand() DESCRIPTION Generates uniformly distributed random numbers using the rand() system call. The range of values returned is implementation dependent. #KW -rank NAME -rank - rank value USAGE -rank SYNOPSIS ss1 := rank(ss1) DESCRIPTION Returns an array containing rank order values of array elements. #KW -rcp NAME -rcp - reciprocal USAGE -rcp SYNOPSIS ss1 := 1/ss1 DESCRIPTION Returns reciprocal of array element values. #KW -recv NAME -recv - receive register array USAGE -recv reg_no port_no reg_no: Name of register (ss1, ss2, ss3 or ss4) port_number: port number to transfer data from (i.e 3500, 3501, 3502, etc...) SYNOPSIS ss(reg_no) = Read array from port_no. DESCRIPTION Provides distributed interprocess data transfer mechanism to receive array data through Berkeley sockets using the XDR protocol. - recv initiates viewit as a server process by creating a socket at the specified port number and listening until a connection is established from a client process. Register array data is then transferred using the XDR protocol. SEE ALSO -send #KW -reduce NAME -reduce - array reduction USAGE -reduce method method: add - sum mul - product ceil - maximum floor - minimum median - median median_not_equal_zero - median of values not equal to 0.0 ceil_index - index of maximum value b1 - Linear regression model that returns slope. DESCRIPTION Dimensionality reduction operator that collapses the leading dimension of a multidimensional array using specified method. SEE ALSO Viewit User's Manual #KW -reorder NAME -reorder - rearrange array dimensions USAGE -reorder new_dim0 new_dim1 new_dim2 ... new_dim: New dimension replacement. DESCRIPTION Rearranges order of dimensions in multi-dimensional array based on new order parameter vector (new_dim0, new_dim1, Dimensioning numbering begins with 0. EXAMPLE To transpose the rows and columns in a 2D array: -reorder 1 0 #KW -replace_chunk NAME -replace_chunk off USAGE -replace_chunk offset0 offset1 offset2 .... offset: Vector parameter specifying offsets to begin subarray replacement SYNOPSIS ss1 := ss1 ss2 within subarray ss2: ss2 DESCRIPTION Replaces a subarray starting at specified offsets within ss1 with array in ss2. #KW -rotate NAME -rotate - rotate 3D array USAGE -rotate theta theta: rotation angle in degrees. SYNOPSIS ss1 := rotate(ss1, theta) DESCRIPTION Resamples a 3D array after a rotation about dimension 2. #KW -rscl NAME -rscl - linear scaling within specified range USAGE -rscl LT UT MIN MAX SYNOPSIS ss1 := (UT-LT)/(MAX-MIN)* (ss1-MIN) +LT DESCRIPTION Linear rescaling of values to a range of LT and UT based on specified range of data MAX and MIN. #KW -rshift NAME -rshift - right shift USAGE -rshift nbits SYNOPSIS ss1 := ss1 >> nbits DESCRIPTION Right bit shift of array element values after conversion to integer. #KW -scale NAME -scale - Dimension Rescaling USAGE -scale sf_dim0 sf_dim1 sf_dim2 sf_dim: Vector parameter specifing the scaling factor in each dimension. DESCRIPTION Resamples a multi-dimensional array be rescaling the dimension sizes of the array based on the scale factor vector parameter. Nearest neighbor or linear interpolation methods may be used to resample the array. NOTES: 1.) Interpolation method used is set with -set INTERPOLATE_METHOD. 2.) Not fast or efficient. #KW -scan NAME -scan - scan USAGE -scan method method add - cumulative sum mul - cumulative product erode erode_threshold Set values to 0.0 until cumulative sum is greater than erode_threshold. DESCRIPTION Multidimensional scan using leading dimension. SEE ALSO Viewit User's Guide #KW -send NAME -send - send register array USAGE -send reg_no host port_number reg_no: Name of register (ss1, ss2, ss3 or ss4) host: host name or Internet address of server. port_number: port number to transfer data through (i.e 3500, 3501, 3502, etc...) SYNOPSIS Send array data in reg_no through port number to server process on host. DESCRIPTION Provides a distributed interprocess data transfer mechanism to send array data to remote server process using a Berkeley sockets and the XDR protocol. SEE ALSO -recv #KW -set NAME -set - set viewit global parameters USAGE -set parameter_name value Frame Buffer Display Rate -set CINE_RATE rate Interpolation Method -set INTERPOLATE_METHOD LINEAR NNEIGHBOR Algorithm -set ALGORITH_METHOD method DESRIPTION Sets global parameters. NOTES 1.) Replaces -interpolate_method, -algorith_method. #KW -show NAME -show - show global parameters USAGE -show DESCRIPTION Displays global parameters. #KW -show_reg NAME -show_reg - show register stack USAGE -show_reg DESCRIPTION Displays register stack. #KW -sign NAME -sign - sign USAGE -sign SYNOPSIS ss1 :=1 if ss1 > 0 0 if ss1 = 0 -1 if ss1 < 0 DESCRIPTION Evaluates the sign of array elements. #KW -sin NAME -sin - sin USAGE -sin SYNOPSIS ss1 := sin(ss1) DESCRIPTION Returns the sine of radian argument element values. #KW -size NAME -size - size USAGE -size SYNOPSIS ss1 := size_of(ss1) DESCRIPTION Returns a vector containing the shape (number of elements in each dimension). #KW -sleep NAME -sleep - sleep USAGE -sleep tsec tsec: Number of seconds to suspend execution. DESCRIPTION Suspends execution for a specified time. #KW -smooft NAME -smooft - smooft USAGE -smooft npts npts: number of points to be smoothed SYNOPSIS ss1 := smooft(ss1) DESCRIPTION One dimensional smoothing using low pass filtering based on Numerical Recipes smooft algorithm. REFERENCES W. H. Press, B. P. Flannerery, S.A. Teukolsky and W.T. Vetterling, Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, 1986, pp. 495-497. #KW -sort NAME -sort - sort USAGE -sort SYNOPSIS ss1 := sort(ss1) DESCRIPTION Sorts array values in ascending order. Arrays are assumed to be stored as linear vectors. #KW -sqrt NAME -sqrt - square root USAGE -sqrt SYNOPSIS ss1 := sqrt(ss1) DESCRIPTION Returns square root of array element values. #KW -square NAME -square - square USAGE -square SYNOPSIS ss1 := ss1**2 DESCRIPTION Returns square of array element values. #KW -stats NAME -stats - statistics USAGE -stats SYNOPSIS stats(ss1) DESCRIPTION Report basic descriptive statistics (n, sum, sum^2, mean, standard deviation, min, max) on array in ss1. #KW -status NAME -status -status USAGE -status DESCRIPTION Reports elapsed CPU time, elapsed wall clock time and version of viewit. #KW -stuff NAME -stuff - stuff USAGE -stuff value0 value1 value2 value3... values: Values to load to register SYNOPSIS ss1 := [ value0 value1 value2 value3 ...] DESCRIPTION Load values from command line to register array. #KW -sub NAME -sub - scalar array subtraction USAGE -sub SYNOPSIS ss1 := ss2 -ss1 DESCRIPTION Returns difference of array elements in ss2 and ss1. ss2 and ss1 must either be arrays of the same size or scalar values. #KW -sum1d NAME -sum1d - Partial Sum Reduction USAGE -sum1d nelements nelements: Number of elements used to compute partial sum. SYNOPSIS ss1 := [ (ss1[ ss1[0]+ss1[1]+...+ss1[nelements-1]) (ss1[nelements]+ss1[nelements+1]+... ss1[nelements+nelements-1) ...] DESCRIPTION Partial sum reduction along leading dimension. REFERENCES Viewit User's Manual #KW -swap NAME -swap - swap registers USAGE -swap sa sb sc sd SYNOPSIS ss1 := ss(sa) ss2 := ss(sb) ss3 := ss(sc) ss4 := ss(sd) DESCRIPTION Swaps order of registers according to the swap_order_vector parameter. #KW -tan NAME -tan - tangent USAGE -tan SYNOPSIS ss1 := tan(ss1) DESCRIPTION Returns the tangent of radian argument element values. #KW -thresh NAME -thresh - threshold USAGE -threshold LT UT LT: Lower threshold Value UT: Upper threshold Value SYNOPSIS ss1 := 1 if (ss1 >=LT) and (ss1 <=UT) 0 otherwise DESCRIPTION Relational test to determine if array element values are within the range LT to UT. #KW -timer NAME -timer - timer USAGE -timer state state: ON set timer on. OFF set timer off. DESCRIPTION When set to ON returns CPU time and wall clock time for each function executed. #KW -translate NAME -translate - translate USAGE -translate noff_dim0 noff_dim1 noff_dim2 ... SYNOPSIS ss1 := translate(ss1) DESCRIPTION Multidimensional translation of array in ss1. Array is shifted by noff_dim0 elements in dimension 0, noff_dim1 elements in dimension 1, etc. #KW -truncate NAME -truncate - truncate USAGE -truncate LT UT LT: lower truncation value. UT: upper truncation value. SYNOPSIS ss1 := LT if (ss1= LT) and (ss1 <= UT) := UT if (ss1 > UT) DESCRIPTION Truncate array element values to given range. #KW -unif NAME -unif - uniform fill USAGE -unif value SYNOPSIS ss1 := value DESCRIPTION Fill an array with uniform values. #KW -vector NAME -vector - Convert to vector USAGE -vector SYNOPSIS ss1 := vector(ss1) DESCRIPTION Convert multidimensional arrays to 1D vector form. #KW -xchg NAME -xchg - exchange registers USAGE -xchg SYNOPSIS ss1 := ss2 ss2 := ss1 DESCRIPTION Exchange ss2 and ss1 registers. #KW -zscore NAME -zscore - zscore array values USAGE -zscore SYNOPSIS ss1 := (ss1 -MEAN(ss1))/ STDEV(ss1) DESCRIPTION Subtracts the mean of the array from each array element value and divides by the standard deviation.