This page is a listing of the entire contents of this library for IDL. This listing is the long version. Viewing the much more compact listing may be handier.
NAME: CHARLIST PURPOSE: This program opens a file called 'charlist.dat' and then writes out lines 0 through 255, where each line contains somthing like 'ascii 65 = "A"'. It is sometimes handy to have a file which contains every possible ascii character. CALLING SEQEUNCE: charlist
(See /host/bluemoon/usr2/idllib/deutsch/misc/charlist.pro)
NAME: CONV_MAIL PURPOSE: This procedure converts a VMS mail folder to a unix-compatible mail folder. CALLING SEQEUNCE: VMSMAIL> set folder mail VMSMAIL> extract/all vms.mailfol Call> conv_mail,searchspec' e.g.> conv_mail,'*.mailfol'" INPUT: SEARCHSPEC Search specification for files to be converted. MODIFICATION HISTORY: 01-AUG-95 Added properly handling on lines beginning with "From " in the message body. E. Deutsch
(See /host/bluemoon/usr2/idllib/deutsch/misc/conv_mail.pro)
NAME: CRD PURPOSE: This program reads and prints the x,y coordinates of the position of the mouse click in an IDL window. CALLING SEQEUNCE: crd crd,[/data,/normal,/device] crd,x,y,[/data,/normal,/device]
(See /host/bluemoon/usr2/idllib/deutsch/misc/crd.pro)
NAME:
EXIST
PURPOSE:
A very simple check to see if a file exists...
CALLING SEQEUNCE:
result=exist(filename)'
INPUT:
FILENAME This is the filename or search spec. that should be checked.
OUTPUT:
RESULT The returned result is the number of files which match the
search spec, and 0 if no file exists.
EXAMPLE:
if exist('input.dat') then print,'Yes' else print,'No'
if not exist('input.dat') then print,'Create'
result=exist('*.hhh') & print,strn(count),' Header files available'
NOTES:
A search spec of multiple files uses `findfile()`. A search for a
a single file uses `openr` with an error trap because it is much faster.
Unreadable files will in that case appear not to exist.
HISTORY:
1992-07-27 Header added to old routine (E. W. Deutsch)
1999-04-16 Rewritten to be faster and tidier (E. W. Deutsch)
(See /host/bluemoon/usr2/idllib/deutsch/misc/exist.pro)
*NAME: GAUSS2
*CLASS:
numerical function
*CATEGORY:
*PURPOSE: TO CALCULATE A GAUSSIAN FUNCTION
*CALLING SEQUENCE:
GAUSS,X,X0,DX,YMAX,Y
*PARAMETERS:
X (REQ) (I) (0 1) (I L F D)
required scalar or vector containing the independent variable(s)
X0 (REQ) (I) (0) (F D)
required scalar giving the center of the Gaussian function
This parameter must have the same units as X.
DX (REQ) (I) (0) (F D)
required scalar giving the one sigma width of the distribution
This parameter must have the same units as X.
YMAX (REQ) (I) (0) (F D)
the Gaussian value at the peak of the distribution
Y (REQ) (O) (0 1) (F D)
required output scalar or vector giving the calculated value
of the gaussian from the expression:
Y = YMAX * EXP (-0.5 * ((X-X0)/DX)^2)
*EXAMPLES:
To calculate a gaussian with center at 1545 A, sigma of 2 A, using the
wavelength scale derived from an IUE spectrum, with amplitude 1.0,
GAUSS,WAVE,1545.,2.,1.0,Y
*SYSTEM VARIABLES USED:
None
*INTERACTIVE INPUT:
None
*SUBROUTINES CALLED:
PARCHECK
*FILES USED:
None
*SIDE EFFECTS:
None
*RESTRICTIONS:
None
*NOTES:
Values for which (X-X0)/DX > 9 are set to zero.
If DX = 0, the delta function is returned.
*PROCEDURE:
GAUSS is similiar to Bevingtons program PGAUSS (p.45)
*MODIFICATION HISTORY:
Aug 19 1979 I. Ahmad initial program
Jul 7 1984 RWT GSFC updated documentation
Sep 25 1984 RWT GSFC changed limit from 12 sigma to 9 sigma due to
problems in WFIT. Also compiles PCHECK.
Apr 13 1987 RWT GSFC add PARCHECK
Aug 19 1987 RWT GSFC add procedure call listing
Mar 9 1988 CAG GSFC add VAX RDAF-style prolog
Nov 26 1990 JKF ACC copied to GHRS DAF
(See /host/bluemoon/usr2/idllib/deutsch/misc/gauss2.pro)
NAME: GETDEFVAL PURPOSE: This procedure returns the default value for the supplied keyword, first checking IDL_PRFDEF and then IDL_SYSDEF. CALLING SEQEUNCE: GetDefVal,value,keyword
(See /host/bluemoon/usr2/idllib/deutsch/misc/getdefval.pro)
NAME:
GETSTRIP
PURPOSE:
This procedure returns a profile through an image at any angle or position.
First the theoretical line is calculated given the center, angle and length
in pixels. Then pixel in the profile is bilinearly interpolated from the
pixels in the image.
CALLING SEQEUNCE:
result = GetStrip(img,xcent,ycent,angle,length,xvect,yvect)
INPUT:
IMG This is the 2D image array from which the profile is to be taken.
XCENT This is the X coordinate of the center of the profile. It does
not need to be an exact integer. nn.0 references the exact
X center of a pixel.
YCENT This is the Y coordinate of the center of the profile. It does
not need to be an exact integer. nn.0 references the exact
Y center of a pixel.
ANGLE This is the angle of the profile in degrees counterclockwise
from the positive X axis.
LENGTH This is the length in elements (and pixels) of the returned
profile. Therefore no matter what the angle is, the returned
vector will have LENGTH elements and is a profile with a
physical length of LENGTH image pixels.
OUTPUT:
result The returned profile array.
OPTIONAL OUTPUT:
XVECT This variable returns the array of positions of each profile
pixel. These returned values are floating. This returned
vector is especially useful for averaging along wide strips.
YVECT This variable returns the array of positions of each profile
pixel. These returned values are floating.
EXAMPLE: In a North Up and East Left image of size 512x512 and pixelsize
of 1.5", the following call:
IDL> TMP=GetStrip(img,256,256,45,51)
returns a 51 element vector where tmp(25)=img(256,256) and
elements less than 25 are to the Southeast and elements greater
than 25 increase toward the Northwest. The pixel size of the
strip TMP is 1.5" also.
IDL> tmp=GetStrip(img,256,256,0,51)
is equivalent to...
IDL> tmp=img(256-25:256+25,256)
HISTORY:
27-JUL-92 Added header and spiffed up this procedure. (E. Deutsch)
12-NOV-92 Removed extra +.5's inside the interpolate(). (E. Deutsch)
(See /host/bluemoon/usr2/idllib/deutsch/misc/getstrip.pro)
***************************************************************************** ******* PROCEDURE: HDRLOG ***************************************************************************** *** DESCRIPTION: *** This procedure takes a group of files in the SDAS format and creates *** a .LOG file of concatenated headers in the exact same format as the *** FITSLOG program does with FITS tapes. *** INPUT: *** SRCHPATH The path specification and filter where to search for the *** header files. MUST include the .xxH extender! *** LOGfile The output filename where the concatenated headers are put. *** OUTPUT: *** A file of concatenated headers name LOGfile *** All passed variables remain unchanged *** COMMON blocks: *** None *** Other Procedures/Functions Called: *** None *** NOTES: *** None *** HISTORY: *** 08-AUG-90 Version 1 adapted from olde IDL version *********** IDL 2.0 ************ Eric W. Deutsch ********* 08-AUG-90 ********
(See /host/bluemoon/usr2/idllib/deutsch/misc/hdrlog.pro)
result=call_external(CLIB,'imcombine',imgcube,fimg,sz,1L)
(See /host/bluemoon/usr2/idllib/deutsch/misc/imcombine.pro)
Name: legend Purpose: This procedure makes a legend for a plot. The legend can contain a mixture of symbols, linestyles, and filled polygons (usersym). Examples: The call: legend,['diamond','asterisk','square'],psym=[4,2,6] produces: ----------------- | | | <> diamond | | * asterisk | | [] square | | | ----------------- Each symbol is drawn with a plots command, so they look OK. Other examples are given in usage. Usage: legend,items,linestyle=linestyle ; vertical legend at upper left legend,items,psym=psym ; ditto except using symbols legend,items,psym=psym,/horizontal ; horizontal format legend,items,psym=psym,box=0 ; sans border legend,items,psym=psym,delimiter='=' ; embed an '=' betw psym & text legend,items,psym=psym,margin=2 ; 2-character margin legend,items,psym=psym,position=pos ; position of legend legend,items,psym=psym,number=2 ; plot two symbols, not one legend,items,/fill,psym=[8,8,8],colors=[10,20,30]; 3 filled squares Inputs: items = text for the items in the legend, a string array. You can omit items if you don't want any text labels. Optional Inputs: linestyle = array of linestyle numbers psym = array of plot symbol numbers. If psym(i) is negative, then a line connects pts for ith item. If psym(i) = 8, then the procedure usersym is called with vertices define in the keyword usersym. N. B.: Choose either linestyle, psym, neither, or both. If neither is present, only the text is output. If both linestyle and psym parameters are present, they both have to have the same number of elements, and normal plot behaviour occurs. By default, if psym is positive, you get one point so there is no connecting line. Optional Keywords: /help = flag to print header /horizontal = flag to make the legend horizontal /vertical = flag to make the legend vertical (D=vertical) box = flag to include/omit box around the legend (D=include) delimiter = embedded character(s) between symbol and text (D=none) colors = array of colors for plot symbols/lines (D=!color) textcolors = array of colors for text (D=!color) margin = margin around text measured in characters and lines spacing = line spacing (D=bit more than character height) pspacing = psym spacing (D=3 characters) charsize = just like !p.charsize for plot labels position = normalized coordinates of the upper left of the legend number = number of plot symbols to plot or length of line (D=1) usersym = 2-D array of vertices, cf. usersym in IDL manual. (D=square) /fill = flag to fill the usersym Outputs: legend to current plot device Optional Output Keywords: corners = 4-element array, like !p.position, of the normalized coords for the box (even if box=0): [llx,lly,urx,ury]. Useful for multi-column or multi-line legends, for example, to make a 2-column legend, you might do the following: c1_items = ['diamond','asterisk','square'] c1_psym = [4,2,6] c2_items = ['solid','dashed','dotted'] c2_line = [0,2,1] legend,c1_items,psym=c1_psym,corners=c1,box=0 legend,c2_items,line=c2_line,corners=c2,box=0,pos=[c1(2),c1(3)] c = [c1(0)c2(2),c1(3)>c1(3)] plots,[c(0),c(0),c(2),c(2),c(0)],[c(1),c(3),c(3),c(1),c(1)],/norm Common blocks: none Procedure: If keyword help is set, call doc_library to print header. Restrictions: Here are some things that aren't implemented. It would be nice to allow data and device coords as well. An orientation keyword would allow lines at angles in the legend. An array of usersyms would be nice---simple change. An order option to interchange symbols and text might be nice. Somebody might like double boxes, e.g., with box = 2. Another feature might be a continuous bar with ticks and text. Side Effects: Modification history: write, 24-25 Aug 92, F K Knight (knight@ll.mit.edu) allow omission of items or omission of both psym and linestyle, add corners keyword to facilitate multi-column legends, 26 Aug 92, FKK
(See /host/bluemoon/usr2/idllib/deutsch/misc/legend.pro)
91apr26-if tiny<0. then make linebar ticks go up (case of gal absorb) -if zflag is negative or zero hold the z-value printing (on the right side of the plots) if tiny then csize = 0.50 else csize = 0.65
(See /host/bluemoon/usr2/idllib/deutsch/misc/linebar.pro)
NAME: PRINTPATH PURPOSE: This program prints out the current !PATH in a column on unix machines. (or other "colon-separated !PATH variables) CALLING SEQEUNCE: printpath
(See /host/bluemoon/usr2/idllib/deutsch/misc/printpath.pro)
NAME:
PSCLOSE
PURPOSE:
This procedure closes the POSTSCRIPT output mode and returns the mode to
the device when SETPS was called. The POSTSCRIPT output is sent to the
PostScript file and may also optionally be sent automatically to the printer.
It is designed to be used in conjunction with SETPS.
CALLING SEQEUNCE:
PSCLOSE,[autoprint],[queue],[/silent,/autoprint,autoprint='']
OPTIONAL INPUT:
AUTOPRINT Specifies whether IDL.PS should automatically be sent to
the printer queue (0=NO, 1=Last or Default Printer,
2=Choose Printer from list)
QUEUE Specifies the queue to which the plot is automatically
sent in AUTOPRINT=1 (Default from cluster info. file)
OPTIONAL KEYWORDS:
AUTOPRINT Specifies whether IDL.PS should automatically be sent to
the printer determined by:
0=NO
1=Last Printer printed to (PSCLOSE) or the Default Printer
2=Choose Printer from list
string=assumed to be the Queue Name.
SILENT Indicates that none of the informational messages are printed.
HISTORY:
11-JUL-90 Version 1 written by Eric Deutsch
26-MAY-92 Proper header and other minor modifications. EWD
23-OCT-92 Modified to use list of printers and to work with UNIX. EWD
06-FEB-93 Added support for filenames other than idl.ps. EK & EWD
96-OCT-16 Get rid of FOS_POST, as it is gone. rcb
(See /host/bluemoon/usr2/idllib/deutsch/misc/psclose.pro)
NAME: PSLANDFIX PURPOSE: Fix the upside-down landscape that IDL generates. Probably only works with the output of setps,/land CALLING SEQEUNCE: pro pslandfix,[filename] INPUT: FILENAME Name the idl PostScript file to fix. Default is 'idl.ps' OUTPUT: Fixed PostScript file NOTES: none HISTORY: 10-AUG-95 Version 1 written E. Deutsch
(See /host/bluemoon/usr2/idllib/deutsch/misc/pslandfix.pro)
NAME:
PSOUT
PURPOSE:
This procedure writes the specified image to a postscript file IDL.PS and
automatically sends it to the printer is the flag is set.
CALLING SEQEUNCE:
pro psout,image,xsize,ysize,xoffset,yoffset,[/color,ctable=,
autoprint=,/inverse]
INPUT:
IMAGE 2D array to be printed or IDL window number to read and print.
It should be a BYTE array or only the least significant byte
is used for display.
OPTIONAL INPUT:
XSIZE Width of image in inches
YSIZE Height of image in inches
XOFFSET Lwr-lft corner of image starts XOFFSET inches from the
left edge of paper.
YOFFSET Lwr-lft corner of image starts YOFFSET inches from the
bottom edge of the paper.
OPTIONAL KEYWORDS:
AUTOPRINT Specifies whether IDL.PS should automatically be sent to
the printer determined by:
0=NO
1=Last Printer printed to (PSCLOSE) or the Default Printer
2=Choose Printer from list
string=assumed to be the Queue Name.
INVERSE If set, TV,255-image is used which will yield a white sky for
BYTE type images. (1=YES, 0=no)
COLOR Specifies whether the output is to be color Postscript or not.
(1=YES, 0=no)
BITS Number of BitsPerPixel to use. Default is 8.
CTABLE The optional keyword allows the user to specify a color table.
If CTABLE is a BYTARR(3,256) this array is used as the table.
If CTABLE is a scalar LOADCT is run with this parameter.
If CTABLE is not specified, the current color table loaded in
the COMMON block "colors" (CURRENT set) is used. If no table
has been previously loaded, LOADCT is run and the user must
type in a color.
DONTCLOSE If this keyword is set, then the PostScript channel is left open
and the user must manually close it. However, this allows
the user to send more output over the image (e.g. annotation)
FILENAME This keyword allows the PostScript filename to be specified.
The default is 'idl.ps'
OUTPUT:
IDL.PS Postscript File
All passed variables remain unchanged
NOTES:
none
HISTORY:
18-JUN-90 Version 1 written E. Deutsch
27-FEB-92 Added Color capability and automatic image sizing. Parameters
were changed to keywords. EWD
14-MAY-92 Added STScI specifiic /PARAM=LAYUP needed to override the default
margins on the 3C Colormate PS printer. Help from Greg
McLesky to set up the override. EWD
27-MAY-92 Added IDL_SYSDEF support for keywords PSTSCRPT and CLRPSCPT. EWD
07-FEB-92 Added /DONTCLOSE and FILENAME= keyword. EWD
(See /host/bluemoon/usr2/idllib/deutsch/misc/psout.pro)
read line lists
(See /host/bluemoon/usr2/idllib/deutsch/misc/rdlines.pro)
NAME:
SETPS
PURPOSE:
This procedure sets up the output channel for POSTSCRIPT output.
Designed to be used in conjunction with PSCLOSE.
CALLING SEQEUNCE:
SETPS,[xsize,ysize],[xoffset,yoffset],[/landscape,/silent]
OPTIONAL INPUT:
XSIZE Width of the output in inches
YSIZE Height of the output in inches
XOFFSET Lwr-lft corner of the output starts XOFFSET inches from the
left edge of paper.
YOFFSET Lwr-lft corner of the output starts YOFFSET inches from the
bottom edge of the paper.
OPTIONAL KEYWORDS:
LANDSCAPE Specifies that the output is to be in Landscape (sideways) mode.
SILENT Indicates that none of the informational messages are printed.
TOP This keyword generally is only used when no other parameters
are specified. It moves the portrait 7x7 inch plot to
the top of the page instead of the default bottom. This is
especially useful for putting plots so that there is room
for the caption at the bottom.
FILENAME This keyword specifies the name of the PostScript file. The
default value is 'idl.ps'
HISTORY:
11-JUL-90 Version 1 written by Eric Deutsch
26-MAY-92 Proper header and other minor modifications. EWD
12-NOV-92 Added /TOP keyword. EWD
06-FEB-92 Added FILENAME= keyword. EK & EWD
(See /host/bluemoon/usr2/idllib/deutsch/misc/setps.pro)
splfit driver routine for splinefit to compute least squares spline with equally spaced nodes. CALLING SEQUENCE: fit = splfit(x,y,nodes,xs,ys) INPUTS: x - x data vector y - y data vector nodes - number of spline nodes OUTPUT: the least square spline, evaluated at points x, is returned as the function value. OPTIONAL OUTPUTS: xs - x positions of the least squares spline ys - y positions of the least sqaures spline HISTORY: version 1 D. Lindler May 1989 version 2 DJL/ACC 1/22/92 Moved to IDL Version 2 14-JUL-95 Deutsch renamed 'sfit' to 'splfit' since IDL now includes a routine called sfit (surface fitting)
(See /host/bluemoon/usr2/idllib/deutsch/misc/splfit.pro)
splie2 Given an M by N tabulated function YA, and tabulated independent variables X1A (M values) and X2A (N values), this routine constructs one-dimensional natural cubic splines of the rows of YA and returns the second derivatives in the array Y2A. SOURCE: Numerical Recipes, 1986. (page 100) CALLING SEQUENCE: splie2,x1a,x2a,ya,m,n,y2a INPUTS: x1a - independent variable vector (first dimension) x2a - independent variable vector (second dimension) ya - dependent variable array m - length of first dimension n - length of second dimension OUTPUTS: y2a- second derivative array HISTORY: converted to IDL, D. Neill, October, 1991
(See /host/bluemoon/usr2/idllib/deutsch/misc/splie2.pro)
splin2 Given X1A, X2A, YA, M, N as described in SPLIE2.PRO and Y2A as produced by that routine, and given a desired interpolating point X1, X2, this routine returns an interpolated function value Y by bicubic spline interpolation. SOURCE: Numerical Recipes, 1986. (page 101) CALLING SEQUENCE: splin2,x1a,x2a,ya,y2a,m,n,x1,x2,y INPUTS: x1a - independent variable vector (first dimension) x2a - independent variable vector (second dimension) ya - dependent variable array y2a - second derivative array (as produced by SPLIE2.PRO) m - length of first dimension n - length of second dimension x1 - first coordinate of interpolating point x2 - second coordinate of interpolating point OUTPUTS: y - bicubic spline interpolated function value HISTORY: converted to IDL, D. Neill, October, 1991
(See /host/bluemoon/usr2/idllib/deutsch/misc/splin2.pro)
NAME: SPLINEFIT PURPOSE: Non-linear least squares fit to a cubic spline function of an arbitrary number of nodes. CATEGORY: E2 - Curve and Surface Fitting CALLING SEQUENCE: YFIT = SPINEFIT(X,Y,W,XS,YS,SIGYS,DELY) INPUTS: X = Row vector of independent variables. Y = Row vector of dependent variable, same length as x. W = Row vector of weights, same length as x and y. For no weighting w(i) = 1., instrumental weighting w(i) = 1./y(i), etc. XS = Vector containing the x-positions of the spline nodes YS = Vector containing the intial y-position for the spline at each node (same length as XS) OPTIONAL INPUTS: DELY = distance to use in computing numerical derivatives with respect to YS values. The distance is DELY*YS(i) (Default= 0.001) OUTPUTS: YS = Vector of parameters containing fit. Function result = YFIT = Vector of calculated values. YFIT=CSPLINE(XS,YS,X) OPTIONAL OUTPUT PARAMETERS: Sigys = Vector of standard deviations for parameters ys. COMMON BLOCKS: NONE. RESTRICTIONS: NONE. PROCEDURE: Copied from "CURFIT", least squares fit to a non-linear function, pages 237-239, Bevington, Data Reduction and Error Analysis for the Physical Sciences. "This method is the Gradient-expansion algorithm which compines the best features of the gradient search with the method of linearizing the fitting function." Iterations are perform until the chi square changes by only 0.1% or until 20 iterations have been performed. The initial guess of the parameter values should be as close to the actual values as possible or the solution may not converge. MODIFICATION HISTORY: Modified (D. Lindler, Feb. 87) version of IDL routine CURVEFIT written by DMS, RSI, September, 1982.
(See /host/bluemoon/usr2/idllib/deutsch/misc/splinefit.pro)
splinf Given arrays X and Y of length N containing a tabulated function, i.e. Yi = f(Xi), with X1 < X2 < ... < Xn, and given values YP1 and YPN for the first derivative of the interpolating function at points 1 and N, respectively, this routine returns and array Y2 of length N which contains the second derivatives of the interpolating function at the tabulated points Xi. If YP1 and/or YPN are equal to 1.E30 or larger, the routine is signalled to set the corresponding boundary condition for a natural spline, with zero second derivative on that boundary. SOURCE: Numerical Recipes, 1986. (page 88) CALLING SEQUENCE: splinf,x,y,n,yp1,ypn,y2 INPUTS: x - independent variable vector y - dependent variable vector n - dimension of x and y vectors yp1 - first derivative at x(0) ypn - first derivative at x(n-1) OUTPUTS: y2 - second derivatives at all x, of length n HISTORY: converted to IDL, D. Neill, October, 1991
(See /host/bluemoon/usr2/idllib/deutsch/misc/splinf.pro)
splint Given arrays XA and YA of length N, which tabulate a function (with the XA's in order), and given the array Y2A, which is the output from SPLINE.PRO, and given a value of X this routine returns a cubic-spline interpolated value Y. SOURCE: Numerical Recipes, 1986. (page 89) CALLING SEQUENCE: splint,xa,ya,y2a,n,x,y INPUTS: xa - independent variable vector ya - dependent variable vector y2a- second derivative vector from SPLINF.PRO n - length of above vectors x - x value of interest OUTPUTS: y - cubic-spline interpolated value at x HISTORY: converted to IDL, D. Neill, October, 1991
(See /host/bluemoon/usr2/idllib/deutsch/misc/splint.pro)
NAME:
STAREO
PURPOSE:
STAREO is a main program which dabbles in 3D pattern pictures.
CALLING SEQEUNCE:
.run stareo
INSTRUCTIONS:
Align you eyes to inifinity. The two dots will now we discrernable as
four dots. Slowly bring your eyes together until there are only three
dots (i.e. the two center ones merge.) If you carefully 'notice' the
rest of the image, you will eventually be able to see a rectangle that
appears to float a bit above the rest of the noise. It works okay but
not wonderfully... once you got it, try setting objtype to 1 and 2 for
different images.
-E. Deutsch 2/16/93
(See /host/bluemoon/usr2/idllib/deutsch/misc/stareo.pro)
NAME: STDEV PURPOSE: Compute the standard deviation and, optionally, the mean of any array. CATEGORY: G1- Simple calculations on statistical data. CALLING SEQUENCE: Result = STDEV(Array [, Mean]) INPUTS: Array: The data array. Array may be any type except string. OUTPUTS: STDEV returns the standard deviation (sample variance because the divisor is N-1) of Array. OPTIONAL OUTPUT PARAMETERS: Mean: Upon return, this parameter contains the mean of the values in the data array. COMMON BLOCKS: None. SIDE EFFECTS: None. RESTRICTIONS: None. PROCEDURE: Mean = TOTAL(Array)/N_ELEMENTS(Array) Stdev = SQRT(TOTAL((Array-Mean)^2/(N-1))) MODIFICATION HISTORY: DMS, RSI, Sept. 1983. [7/17/95] E. Deutsch writes: RSI has done away with this function in IDL 4.0 in favor of a function called moment(). I keep this old routine around for backwards-compatibility and convenience sake. [ stdev(var) is clearer than sqrt((moment(var)(0)) ]
(See /host/bluemoon/usr2/idllib/deutsch/misc/stdev.pro)
NAME:
StrDel
PURPOSE:
This function removes the piece specified from a string. For example,
IDL> str=' 3,234.99'
IDL> print,float(strdel(str,strpos(str,','),1))
yields 3234.99
CALLING SEQEUNCE:
tmp = StrDel(string,pos,len)
INPUT:
STRING This is the string variable from which the subtring it to be
removed.
POS First character to remove where the first character is 0.
LEN Number of characters to remove.
HISTORY:
30-AUG-1990 Version 1 written.
27-JUL-1992 Proper Header added.
(See /host/bluemoon/usr2/idllib/deutsch/misc/strdel.pro)
NAME:
WHICH
PURPOSE:
Determine in which library/directory the procedure or function
specified is located in the !PATH. This is useful for finding
out which library a certain procedure comes from, particularly
when there are duplicates. This is similar to the unix
'which' command.
CALLING SEQUENCE:
WHICH, [ proc_name ] ;Find PROC_NAME in !PATH and display
OPTIONAL INPUT:
proc_name - Character string giving the name of the IDL procedure or
function. Do not give an extension. If omitted,
the program will prompt for PROC_NAME.
OUTPUTS:
None.
SIDE EFFECTS
None.
PROCEDURE:
The system variable !PATH is parsed into individual libraries or
directories. Each library or directory is then searched for the
procedure name. If not found in !PATH,
then the ROUTINES.HELP file is checked to see if it is an intrinsic
IDL procedure.
EXAMPLE:
Find out where the procedure CURVEFIT lives.
IDL> which, 'curvefit'
RESTRICTIONS:
None.
REVISION HISTORY:
29-MAY-94 Modified from getpro.pro by E. Deutsch
14-JUL-95 Fixed for IDL 4.0
(See /host/bluemoon/usr2/idllib/deutsch/misc/which.pro)