Appendix F IDL USER LIBRARY ROUTINES ADDSYSVAR* Allows the user to define new system variables ADJCT Adjusts color table contrast function using mouse. ARROW* Draw a vector(s) with an arrow head. BAR_PLOT Business style bar charts. BILINEAR Bilinear interpolation. BIN_DATE* Convert a standard form ASCII date/time to binary. BOX_CURSOR Variable size box cursor for windows. C_EDIT Interactive color table creation, HSV or HLS systems. CALDAT* Returns the month, day and year corresponding to a given julian date. CALENDAR* Display a calendar for a month or an entire year. CDF_EXISTS* Test for the existence of the CDF library CHEBYSHEV* Implements forward and reverse Chebyshev polynomial expansion of a set of data. CIR_3PNT* Returns the radius and center of a circle, given 3 points on the circle. COLOR_EDIT Interactive color table creation, HSV or HLS systems. COMPLEXROUND* Rounding a complex array. COND* Computes the condition number of the input N x N matrix. CONGRID Resamples image to specified dimensions. COORD2TO3* Return 3-D data coordinates given the normalized X and Y screen coordinates and one of the three data coordinates. CORRELATE Sample correlation coefficient. COSINES Sample function used by SVDFIT. CREATE_VIEW* Sets the various system variables required to define a coordinate system and a 3-D view. CROSSP Vector cross product. CT_LUMINANCE* Calculate the luminance of the colors in the COLORS common block. CURVEFIT Nonlinear least squares fit to a function. DEFROI Define an irregular region of interest using the mouse. DEMO_MODE* Returns true if IDL is in Demo Mode. DERIV Differentiation using 3-point Lagrangian interpolation. DETERM Determinant of a square matrix. DIFFEQ_23* Solve a system of first-order, ordinary differential equations using the Runge-Kutta method of order 2 and 3. DIFFEQ_45* Solve system of first-order, ordinary differential equations using the Runge-Kutta method of order 4 and 5. DIGITAL_FILTER Calculate coeffs of non-recursive digital filter. DISP_TXT* Displays text strings in the current IDL window. DISSOLVE Digital "dissolve" effect for images. DIST Create a matrix with each element set to its Euclidean distance from the origin. DL_DOS* Extract the documentation template of one or more procedures (DOS version). DL_UNIX* Extract the documentation template of one or more IDL modules (procedures or functions). DL_VMS* Extract the documentation template of one or more procedures. DOC_LIBRARY Documents Users' library procedures. DRW_LOGO* Displays the IDL logo in a region defined by two opposite corners ERRPLOT Overplots error bars. EXPAND* Array magnification (CONGRIDI like except that this really works!) EXTRAC* Returns any rectangular sub-matrix or portion of the parameter array. EXTRACT_SLICE* A UIMAGE-specific routine, allows a user to 2-D data-object from a selected 3-D data object after indicating a desired index number FILEPATH* Returns the fully-qualified path to use in opening the specified file. FLICK Flicker display between two images. FLOW3* Draw lines representing a 3-D flow/velocity field. FUNCT Sample function for CURVEFIT. GAMMA_CT Gamma correction for color tables. GAUSSFIT Fits sum of a Gaussian and a quadratic. GEAR* Graphically displays how front and rear gears of a bike interact. H_EQ_CT* Histogram-equalize the color tables for an image or a region of the display. H_EQ_INT* Interactively histogram-equalize the color tables of an image or a region of the display. HANNING Window function for FFT filtering. HDF_EXISTS* Test for the existence of the HDF library HELP_VM* Prints the amount of virtual memory currently allocated. HELPFILES* Prints useful information about the currently open files. HELPSY* Prints the values of all system variables. HILBERT Constructs a Hilbert matrix. HIST_2D* Return the density function (histogram) of two variables. HIST_EQUAL Histogram equalizes an image. HIST_EQUAL_CT Histogram equalizes color tables from an image or display region. HIST_EQUAL_INT Interactive histogram equalization. HLS Hue Lightness Saturation color system color tables. HSV Hue Saturation Value color system color tables. HSV_TO_RGB* Convert from the HSV (Hue, Saturation, Value) color system to the RGB (Red, Green, Blue) color system. IMAGE_CONT Overlay an image and its contour plot. INTERPOL Linear interpolation from vectors. JULDAY Calculate Julian Day Number from month, day, year. LATLON* Tracks longitude and latitude of mouse location on a MAP_SET projection and displays them in a separate window. LEEFILT Lee Filter for images. LEGO* To plot lego graph of the given 2 dimensional data. LJLCT Loads standard color tables for DEC LJ250 printer. LL_ARC_DISTANCE* Return the [lon, lat] of the point a given arc distance and azimuth from lon_lat0. LN03 Produce plot files for a DEC LN03+ laser printer. LOADCT Loads standard color tables. MAN_PROC* Provide on-line documentation for IDL topics. MAP_IMAGE* Returns the specified image warped to fit the map specified by the system variable !Map. MAP_SET* Establishes axis type and coordinate conversion for mapping points on the Earth's surface to points of a plane. MENUS Crude menu facility (used by ADJCT). MK_LIBRARY_HELP* Generates a file in IDL help format containing documentation for routines in a specified directory that contain a DOC_LIBRARY style documentation template. MODIFYCT Save modified color tables in standard color table files. MOVIE Displays cyclic animated sequences of images (SunView). MP_BASIC* Provides on-line documentation for IDL topics. MULTI Replicates current color table, enhancing contrast. NCDF_EXISTS* Test for the existence of the NetCDF library NORM* Computes the infinity norm of the input M x N matrix. ONLY_8BIT Initializes Sun display for systems without monochrome planes. OPLOTERR Overplot data points with error bars. PALETTE Interactively constructs color tables using RGB system. PDE_ADI* Computes the numerical solution of the initial-boundary value problem using the ADI method. PHASER* Issues the SET_PLOT and DEVICE commands for a Tektronix Phaser IIpxi color PostScript laser printer. PLOT_FIELD Plots two-dimensional fields using arrows. PLOTERR Plots data with error bars. PM* Performs formatted output of matrices stored in the IMSL/IDL linear algebra storage scheme to the standard output. PMF* Perform formatted output of matrices stored in the IMSL/IDL linear algebra storage scheme to the specified file. POLAR_SURFACE* Interpolate a surface from polar coordinates to rectangular coordinates. POLY Evaluates polynomials. POLY_AREA Returns area of a polygon. POLY_FIT Polynomial least squares fit. POLYCONTOUR Fills contour paths with solid colors. POLYFITW Polynomial least squares fit with weights. POLYWARP Coefficients for polynomial spatial warping of images. POPD Remove the top directory on the working directory stack maintained by PUSHD/POPD and make it the current directory. PRINTD Display PUSHD/POPD's working directory stack. PROFILE Extracts an image profile along an arbitrary line. PROFILES Interactively plots row or column image profile. PROJECT_VOL* Returns a two dimensional image that is the projection of a 3-D volume of data onto a plane (similar to an X-ray). PROMPT* Sets the interactive prompt to the specified string. PSEUDO Color tables based on LHB (Lightness, Hue, and Brightness) color system. PUSHD Push a directory onto the working directory stack. RDPIX Interactively reads and displays image pixel values. READ_GIF* Read the contents of a GIF format image file and return the image and color table vectors (if present) in the form of IDL variables. READ_PICT* Reads limited types of image files written in the PICT Version 2 Format. READ_SRF Reads SUN raster format files. READ_WAVE* Read a .wave or .bwave file created by the Advanced Data Visualizer into a series of IDL variables. READ_X11_BITMAP* Read bitmaps stored in the X11 format. READ_XWD Reads XWD (X Window dump) format files. (UHelp lists this as READ_XED.) REDUCE_COLORS Reduce the number of colors used in an image by eliminating pixel values without members. REGRESS Multiple linear regression. REVERSE Reverses vectors or arrays. RGB_TO_HSV* Convert from the RGB (Red, Green, Blue) color system to the HSV (Hue, Saturation, Value) color system. RM* Perform formatted input of matrices stored in the IMSL/IDL linear algebra storage scheme from the standard input stream. RMF* Perform formatted input of matrices stored in the IMSL/IDL linear algebra storage scheme from the specified file. ROT Rotates/magnifies image with nearest neighbor sampling. ROT_INT Rotates/magnifies an image, with bilinear interpolation. SCALE3* Set up transformation and scaling for basic 3-D viewing. SCALE3D Scales three-dimensional unit cube into display area. SCRABBLE* Solve Scrabble(R) puzzles. SEARCH2D* Finds "objects" or regions of similar data values within a 2-D array of data. SEARCH3D* Finds "objects" or regions of similar data values within a 3-D array of data. SET_SCREEN* Emulates the Version I VMS/IDL SET_SCREEN procedure. SET_VIEWPORT* Emulates the Version I VMS/IDL SET_VIEWPORT procedure. SET_XY* Emulates the Version I VMS/IDL SET_XY procedure. SETUP_KEYS Defines escape sequence keys for common keyboards. SHADE_SURF_IRR Shaded surface display of irregularly gridded elevations. SHOW3 Combines SURFACE and CONTOUR for 3-D image display. SHOWFONT* Display a vector-drawn font on the current graphics device. SIGMA* Calculates the standard deviation value of an array or over one dimension of an array as a function of all the other elements. SIMPSON* Numerically approximates the definite integral of a function with limits [A, B]. SKEY_DEC* Provides a very general routine named DEFINE_KEY that allows the user to specify key names and escape sequences for a DEC VT200-style keyboard. SKEY_HP* Allows the user to specify the names and escape sequences for the HP 9000 series 300 keyboard. SKEY_MIPS* Allows the user to specify the names and escape sequences the MIPS RS series keyboard. SKEY_SGI* Allows the user to specify the names and escape sequences for a Sun keyboard. SKEY_SUN* Allows the user to specify the names and escape sequences for a Sun keyboard. SPIRO* Draw "Spirograph"(TM) patterns. SPLINE Cubic spline interpolation. STDEV Standard deviations. STR_SEP* Cuts a string into pieces which are separated by the separator string. STRETCH Linear color table contrast enhancement. SURFACE_FIT Polynomial fit to a surface. SURFR Duplicate rotation, translation, and scaling of SURFACE. SVDFIT General least squares fit using SVD. T3D Various three-dimensional transformations. TEK_COLOR Loads Tektronix 4115 default color map. TETRIS* IDL version of the falling blocks game Tetris. THREED Plots two-dimensional array using pseudo 3-D plot. TIFF_DUMP* Dumps the Image File Directories of a TIFF file. TIFF_READ Reads 8 bit TIFF files. TIFF_WRITE Writes 8 bit TIFF files. TIME_TEST* General purpose IDL benchmark program that performs approximately 20 common operations and prints the time required. UNIQ* Returns the subscripts of the unique elements in an array. VEL Draws vector flow (field) plots with streamlines. VELOVECT Draws vector flow (field) plots. VMSCODE* Converts between VMS Version I and the newer IDL type codes. VORONOI* Computes the Voronoi polygon of a point within an irregular grid of points, given the Delauney triangulation. WARP_TRI* Warps image using control (tie) points. WRITE_GIF* Write an IDL image and color table vectors to a GIF (graphics interchange format) file. WRITE_NRIF* Writes an IDL image and color table vectors to an NCAR Raster Interchange Format (NRIF) raster file. WRITE_PICT* Writes image files with the current color palette in the PICT Version 2 Format. WRITE_SRF Writes Sun raster file format files. WRITE_WAVE* Writes a three-dimensional IDL array to a .wave or .bwave file for use with the Wavefront Visualizer. XANIMATE Cyclic animated sequences of images (SunView and X). ZOOM Zooms portion of the display using mouse. ZOOM_24 Zoom for 24 bit true-color displays. * Routine is not listed in UHelp. Some of these have been superseded by newer routines, so check the help file carefully.