User Library Routines

This User Library is divided into the following sections:

Arrays

Array Manipulation Routines

Graphics and Plotting

Coordinate Conversion Routines

General Graphics Routines

Mapping Routines

Plotting Routines

View Setup Routines

Window Routines

GUI Tools

GUI Tools

Image Processing and Color

Colortable Manipulation Routines

Image Display Routines

Image I/O Routines

Image Processing Routines

Input/Output

Input and Output Routines

Mathematics

General Mathematical Functions

Programming

Data Conversion Routines

Data Extraction Routines

Date/Time Functions

File Manipulation Routines

Help and Information Routines

Operating System Access Routines

Programming Routines

String Processing Routines

Volume Rendering and Ray Tracing

Polygon Generation Routines

Polygon Rendering Routines

Ray Tracing Routines

VDA Tools

VDA Tools

GUI Tools

GUICOLOR

Show colors associated with motif color strings.

Note:

The supplemental GUI Tools listed below can be found in the guitools subdirectory of the User Library.

WgDefroi

Creates a widget used to define a region of interest.

WgFileImport

Uses WAVE Widgets to allow import of various file types.

WgImageTool

Creates a widget that can display and filter up to five images.

WgPassword

An interface to allow users to enter a password

WgPlotTool

Allows you to view an X/Y plot of your data.

WgProfiles

Creates a widget used to create profile plots.

WgQueryTool

Creates a table or external database query tool.

WgViewContTool

Allows you to view z,x,y data as a filled or hollow contour plot.

WgViewSurfTool

Allows you to view z,x,y data as a shaded surface, scatter plot or mesh surface.

Widgets_Tm_Example

An example using many kinds of widgets.

Widget_Zoom_Test

Interactive zoom in WwDrawing area, uses WwHandler

WwExitButton

Creates an exit button widget.

WwRubberArea

Creates a rubber band widget.

WwZoomDraw

Adds rubber-band zoom or region selection capability to a WwDrawing area.

VDA Tools

NET

Runs the Network VDA Tool. This VDA Tool resides in the network subdirectory of the User Library.

USERVDA_INIT

Sets the path to run VDA Tools in the vdatools subdirectory.

Note:

The supplemental VDA Tools listed below can be found in the vdatools subdirectory of the User Library.

WzMap

Draws maps and optionally overlays contour data.

WzVolume

Volumetric rendering—overlays slices and IsoSurfaces.

WzEz

Adds VDA Tool functionality to your existing procedures.

WzImage_cont

Creates a color image with overlaid contours.

WzCandleStick

Creates candlestick plots.

String Processing Routines

ACCENT

Adds European accents into strings—for plot titles, etc.

FASTSPLIT

Splits a string into an array of substrings where the user has specified a single character as the delimeter. This version is significantly faster than STRSPLIT.

PAD

Pad an integer with leading zeros.

STRARRPOS

Finds all occurrences of a string in a string array.

STRMPOS

Finds all occurrences of a substring in a string.

STRTRIMZ

Remove extra blank spaces and trailing zeros

Plotting Routines

ARC

Displays an arc with center point, radius, and sweep.

AXIS_DBL

Similar to the normal AXIS routine but allows for double precision axis ranges to be passed to OPLOT_DBL. Must be used after a call to PLOT_DBL. AXIS_DBL only supports single precision for the z-axis.

CARDIOID

Calculates the points for drawing a cardioid.

CONTOUR_ZXY

Draws a contour plot gridded from raw XYZ data points.

CROSS_3D

Plots a row or column of 2D data in 3D space.

ELLIPSE

Calculates the points for drawing an ellipse.

FILL_CONTOUR

Makes a contour plot with filled contours.

FLOW

Compute streamlines for a 2d potential with sinks.

GEAR

Calculates and plots front/rear bicycle gear interaction.

GETTICK

Computes tick locations.

GRIDL

Draws gridlines at arbitrary locations on a plot.

GRID_LINES

Implements gridlines using electable linestyle.

HATCHLINE

Overplots a hatched line pattern onto a 2D plot.

LEGEND2

Puts a legend on a graph.

MINOR_GRIDS

Implements minor gridlines with a selectable linestyle.

OPLOTBAR

Overplots a bar graph filled with a pattern. (See PLOTBAR.)

OPLOT_DBL

OPLOT for double precision data. (See PLOT_DBL.)

PIE_CHART2

Displays a pie chart, with labels, slices, shadows.

PLOT_2BAR

Plots two dependent datasets as bar graphs.

PLOT_3BAR

Plots three dependent datasets as bar graphs.

PLOT3D

Creates 3D scatterplots and line graphs.

PLOTBAR

Plots a bar graph filled with a pattern.

PLOT_DBL

PLOT for double precision X and/or Y data.

PLOT_FFT

Plots a correct looking FFT frequency-magnitude plot.

PLOTM

Comprehensive missing-data plotting utility.

PLOTSMITH

Draws a Smith chart with real and imaginary Gamma values.

POLAR

Draws a 2D or 3D polar plot and axes.

RAINFALL

Produces rainfall plot in 3D space.

SQUAREPLOT

Makes a plot with equal length X and Y axes.

STRING_TICKS

Creates formatted decimal strings of numbers.

STRIP_TRAJ

Shows a 3D strip chart.

SURFACE_MISS

Creates a surface plot with missing data.

TVSERIES

Create a BYTSCLed image of multiple time series

VECTOR

Produces a 2D vector field plot from parametric data.

VELOVECT2

Produces a 2D vector field plot.

WATERFALL

Produces a waterfall plot of XY datasets.

Help and Information Routines

ARRAY_STATS

Calculates and prints basic statistics about a variable.

PROGRESSBAR

Creates a progressbar that you update to show progress

SCRABBLE

Solves Scrabble(R) puzzles (but needs /usr/dict/words).

TEST_OMP

Display graph of OpenMP parallelization speed-ups

XFD

Shows fonts and selection of a character.

Polygon Rendering Routines

BALLSTICK

Creates and displays a ball-and-stick molecular model.

POLY_CYLINDER

Return vertex_list-polygon_list for a section of a cylinder.

Polygon Generation Routines

TORUS

Creates and displays a shaded torus primitive.

Image Processing Routines

BNDRY

Compute the boundary of a region in an array.

CROP

Removes a thresholded border from a 2D array.

FIND_DIFFS

Finds differences between one frame and the next.

FIXDAT

Repairs an image with lines of bad data in it.

IMAGE_GRAB

Reads an image, with a colormap, from a window.

MAKE_IMG_GREYSCALE

Convert a 24 bit greyscale image to an 8 bit image.

PIXELATE

Reduces image detail by summarizing discrete regions.

THRSH

Thresholds an array.

Image Display Routines

FLICK

Flickers between two images at a given rate.

IMAGE_LEGEND

Attaches a color bar to the right side of the original image.

MOVIE_COLOR_QUANT

Quantize a 24bit movie into an 8bit movie

NEWICK

Parses a Newick phylogenetic tree and displays it

TVCLIP

Displays clipped images.

XANIMATE

Displays an animated sequence of images using pixmaps.

ZOOM_24

Modified version of ZOOM for 24-bit color images.

Image I/O Routines

COMPRESS_IMAGES

Compresses a series of images and stores them in a file.

COMPRESS_INIT

Common block file for COMPRESS_IMAGES.

IMAGE_TOOL

Saves and restores images and color palettes.

UNCMPRS_IMAGES

Uncompresses what COMPRESS_IMAGES has compressed in file.

General Graphics Routines

BOX_CURSOR2

Emulates the operation of a variable-sized box cursor.

CLEANPLOT

Restores the system plotting variables to their defaults.

CURS3D

Selects an XYZ point from a 3D mesh surface interactively.

CURSOR_3D

Selects points from a 3D mesh surface interactively.

DRAW

Simple interactive graphics primitive drawing tool.

WTILE

Tiles a window background with a bitmap.

Date/Time Functions

CALENDAR

Displays a calendar for a month or year.

JULDAY

Calculates the Julian day number, given the month, day, year.

Operating System Access Routines

CALL

A simplified interface to LINKNLOAD.

Colortable Manipulation Routines

HIST_EQUAL_INT

Interactively histogram equalizes colortables or the display.

MULTI

Multiple wrap of existing colortable.

PAL_TOOL

Manipulates current color palette.

TRIPLEBYTE

Used to obtain familiar colors on 24-bit displays.

General Mathematical Functions

CAPABILITY

Computes process capability statistics like Cp Cpk Cpm

CFRAC

Computes a continuous fraction approximation.

CONJHARM

Compute a conjugate harmonic.

CONTROLRULE

Process control tests

CTPOLL

Converts polar coordinates on a sphere into latitude/longitude coordinates.

DET

Computes the determinant of a real square matrix.

DO_SPLINE2D

Spline fitting routine for nonmonotonic 2D data.

ELLIPS

Fits an ellipse to some data.

FFTAPP

Approximates an array by a sum of dominant frequencies.

FFTFIT

Approximates an array as a sum of dominant frequencies.

HYPRSPHR

Fits a hypersphere to some data.

INTEGRATE

Trapezoidal integral of a function represented by a 1D array.

INTEGRATE_M

Integrate an M dimensional function over an N dimensional box.

INTERPCOS

Interpolate between two points using a half cosine.

INTERSECT

Finds the intersection of two sets (arrays).

INTERSECT2

Finds the intersection point of two line segments.

KRON

Outputs the Kroneker Tensor Product of two matrices.

NONLIN_BOUND_OPT

Enhancement wrapper to the PV-WAVE IMSL Mathematics function NONLINPROG.

NRMLZ

Normalizes the columns of a matrix.

PIP

(Point In Polygon) Returns whether point(s) is in polygon

POLY_INT

Compute the intersection of two polynomials.

POLYEVAL

Evaluates a polynomial of N variables.

POLYFITN

Fits an n-variate polynomial to some n dimensional data.

POLY_FIT2D

Performs a least squares fit of a function of two variables.

QRSOLC

Solves a linear system (complex version of QRSOL).

RATIONAL

Return the fractional equivalent of a float.

SMOOT

Smooths a region of an array using nearest neighbor averaging.

SPLINE3D

Spline fitting routine for nonmonotonic 3D data.

TENSOR_PROD

Computes the tensor product of two arrays (with optional contraction).

TRACE

Contracts an array over a pair of indices.

TRANSP

Transposes adjacent indices in an array.

UNION

Find the union of some sets (arrays).

ZEROVECT

Find the zeros of a function represented by a 1D array.

Coordinate Conversion Routines

DATA2DEV

Converts data coordinates to device coordinates.

DATA2NORM

Converts data coordinates to normal coordinates.

DEV2DATA

Converts device coordinates to data coordinates.

DEV2NORM

Converts device coordinates to normal coordinates.

NORM2DATA

Converts normal coordinates to data coordinates.

NORM2DEV

Converts normal coordinates to device coordinates.

Data Conversion Routines

DATA_CONVERT

Converts numeric data between various platform formats.

DECIMAL_TO_BINARY

Converts a base-10 long-integer to its binary

HEX_TO_FLOAT

Converts hexadecimal string data to floating point data.

LONG_REVERSE

Swaps byte order in a longword.

LONG_TO_HEX

Convert a long to a hex string.

RATIONAL

Return the fractional equivalent of a float.

REAL

Return the real part of a complex number.

SCL

Emulates BYTSCL for byte, integer, long, float, double.

SIGN_TO_UNSIGN

Converts 16-bit unsigned integer to signed longword int.

VIEWHEX

View an array or file as hex values

WBYTEORDER

Just like BYTEORDER, but adds some XDR conversion keywords.

Data Extraction Routines

GET_RGB

Extracts 8-bit R,G,B components from 24-bit hex color value

STR2FLOAT

Reads an array of floats from a string. Allows you to specify delimeter strings and replace specified strings with missing values.

Mapping Routines

EARTH

Creates a MAP user projection giving any view of earth from space.

MAP_LABEL

Adds gridline labels to MAP.

MAP_PROJ_ALBERS

Converts latitude and longitude to Albers x,y coordinates or vice versa.

MAP_PROJ_SP

Converts latitude and longitude to Alaska State Plane coordinates or vice versa.

MAP_PROJ_UTM

Converts latitude and longitude to Universal Transverse Mercator (UTM) coordinates or vice versa.

MAP_PROJECTIONS

An old utility for transforming map projections.

MERCATOR

Returns the Y (or X) component of a Mercator projection.

Programming Routines

CLEAR

Clears out funcs, procs and vars of the current session

EMACS_KEYS

Binds control keys to be more like emacs (Unix only).

GET_KEYWORDS

Finds the keywords used by a routine.

SLEEP

Alternative to the WAIT procedure.

XMENU

Modified version of TVMENU (pre-WAVE Widgets).

Array Manipulation Routines

BNDRY

Compute the boundary of a region in an array.

DUPLICATES

Returns a vector of duplicate values found in the input vector. If no duplicates are found, -1 is returned.

EXTRAC

Extracts a subarray of an array.

FAST_UNIQUE

Faster than UNIQUE for some data—also works for complex data.

SMOOT

Smooths a region of an array using nearest neighbor averaging.

SORT2

Sort without permutation of elements already in order.

THRSH

Thresholds an array.

WHEREIN2

Finds the indicies into an array of the values occurring in a second array.

File Manipulation Routines

FILE_IN_PATH

Searches for a file in a path (set of directories).

FILEMENU

Creates a menu of files matching the type asked for.

GREP

Searches files for lines containing an expression.

SIZE_OF

Returns the number of rows (records) in a file.

WHICH

Prints the file that PV-WAVE would find to .RUN a procedure.

Ray Tracing Routines

MOLECULE

Ray traced red, green, and blue "ball-and-stick" model.

Input and Output Routines

AVIWRITE

AVI file writer for 8-bit images

PRINT_TABLE

Prints PV-WAVE table or structure contents to a file or the screen.

READ_TEXT

Reads the contents of an ASCII text file into a PV-WAVE variable.

READNETCDF

Read an entire netcdf file without prior knowledge of its contents.

RIFF_READ

Reads Windows RIFF WAV files.

RIFF_WRITE

Writes Windows RIFF WAV files.

SAVE_COMPRESSED

Saves compressed data to a file.

SEGY_HEADER

Makes a SEGY-Header.

SEGY_READ

Reads data files in SEGY format.

SEGY_WRITE

Writes data files in SEGY format.

View Setup Routines

SCALE

Scales !P.T to bring a unit cube into the viewing area.

Window Routines

SCALE_CGM

Controls the size of a plot in a CGM file.

WINDEL

Like WDELETE, but has an All keyword.