User Library Routines
This User Library is divided into the following sections:
*Arrays
*Graphics and Plotting
*GUI Tools
*Image Processing and Color
*Input/Output
*Mathematics
*Programming
*Volume Rendering and Ray Tracing
*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.