aboutsummaryrefslogtreecommitdiff
path: root/pkg/utilities/doc
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/utilities/doc')
-rw-r--r--pkg/utilities/doc/bases.hlp43
-rw-r--r--pkg/utilities/doc/curfit.hlp168
-rw-r--r--pkg/utilities/doc/detab.hlp28
-rw-r--r--pkg/utilities/doc/entab.hlp30
-rw-r--r--pkg/utilities/doc/lcase.hlp32
-rw-r--r--pkg/utilities/doc/polyfit.hlp91
-rw-r--r--pkg/utilities/doc/split.hlp59
-rw-r--r--pkg/utilities/doc/surfit.hlp257
-rw-r--r--pkg/utilities/doc/translit.hlp49
-rw-r--r--pkg/utilities/doc/ucase.hlp32
-rw-r--r--pkg/utilities/doc/urand.hlp41
11 files changed, 830 insertions, 0 deletions
diff --git a/pkg/utilities/doc/bases.hlp b/pkg/utilities/doc/bases.hlp
new file mode 100644
index 00000000..01f822ef
--- /dev/null
+++ b/pkg/utilities/doc/bases.hlp
@@ -0,0 +1,43 @@
+.help bases Jan85 utilities
+.ih
+NAME
+bases -- Convert an integer to hex, octal, and binary
+.ih
+USAGE
+bases i
+.ih
+PARAMETERS
+.ls i
+Integer for base conversion.
+.le
+.ls nbyte = 0
+Number of bytes of precision. Allowed values are "0", "1", "2", or "4".
+.le
+.ls verbose = yes
+Print labels for columns?
+.le
+.ih
+DESCRIPTION
+The BASES task converts an input integer value to equivalent values in
+other base systems.
+.ih
+EXAMPLES
+1. Convert the number 256 (in various bases). Note the 'x' and 'b' suffix
+appended to the value to change the input base value:
+
+.nf
+ ecl> bases 256 # decimal input
+ dec hex octal 7654 3210 7654 3210
+ 256 0100x 000400b 0000 0001 0000 0000
+ ecl> bases 256x # hex input
+ dec hex octal 7654 3210 7654 3210
+ 598 0256x 001126b 0000 0010 0101 0110
+ ecl> bases 256b # octal input
+ dec hex oct 7654 3210
+ 174 AEx 256b 1010 1110
+
+.fi
+
+.ih
+SEE ALSO
+.endhelp
diff --git a/pkg/utilities/doc/curfit.hlp b/pkg/utilities/doc/curfit.hlp
new file mode 100644
index 00000000..df8be6fd
--- /dev/null
+++ b/pkg/utilities/doc/curfit.hlp
@@ -0,0 +1,168 @@
+.help curfit Jun88 utilities
+.ih
+NAME
+curfit -- fit a curve to a list or an image section
+.ih
+USAGE
+curfit input
+.ih
+PARAMETERS
+.ls input
+The data to be fit. May be an image section, STDIN or a list of file names.
+.le
+.ls function = legendre
+The type of function with which to fit the data. Choices are
+legendre, chebyshev, spline1 (linear spline) or spline3 (cubic spline).
+.le
+.ls order = 4
+The order of the fit or number of spline pieces.
+.le
+.ls weighting = uniform
+The type of weighting for the fit. The options are:
+.ls uniform
+The weight w = 1.0. This option may be used for both list input and image
+input.
+.le
+.ls user
+The weights are supplied by the user. This option may be used for list input
+only.
+.le
+.ls statistical
+The weight w = 1.0 / y. This option can be used for both list and image data.
+.le
+.ls instrumental
+The user supplies the sigmay for each point and w = 1.0 / sigmay ** 2.
+This option may be used for list input only.
+.le
+.le
+.ls interactive = yes
+If \fBinteractive\fR is set to yes, a plot of the fit is drawn and the
+cursor is available for interactively examining and adjusting the fit.
+.le
+.ls axis = 1
+If \fBinput\fR names an image or image section, this parameter specifies
+the axis along which the image is projected for fitting.
+.le
+.ls listdata = no
+If \fBlistdata\fR is set to yes, the only printed output will be the calculated
+values for the X,Y pairs. This is useful as input to \fIgraph\fR or some
+other list oriented program.
+.le
+.ls verbose = no
+If \fBverbose\fR is set to yes, the fitted (X,Y) pairs are listed in addition
+to the default output of filename, function type, order, rejection parameters,
+coefficients and their errors.
+.le
+.ls power = no
+If \fBpower\fR is set to yes, the coefficients of the legendre or
+chebyshev polynomials will be converted to power series coefficients.
+.le
+.ls calctype = "double"
+Calculation datatype. The two datatypes are "real" (single precision) and
+"double" (double precision).
+.le
+.ls device = "stdgraph"
+The output device for interactive graphics.
+.le
+.ls cursor = "stdgcur"
+The source of graphics cursor input.
+.le
+.ih
+DESCRIPTION
+A curve is fit to data read from either an image section or a list.
+The type of curve is set by the \fBfunction\fR parameter as either
+a legendre polynomial, chebyshev polynomial, linear spline or cubic
+spline, with the order of the fit (or number of spline pieces) set by
+\fBorder\fR. If data is read from an image, the \fBaxis\fR parameter
+is used to reduce the dimensionality of the image; it specifies the
+axis along which the image is projected. For example, when \fBaxis\fR
+= 1, the image is compressed to a column. \fBAxis\fR = 2 would project
+the image along a line; \fBaxis\fR = 3 indicates projection in the z
+direction, etc.
+
+The input data must be ordered in x because of a restriction in the
+interactive plotting package. If the input is from a list, the data
+are sorted prior to fitting; image input data are assumed to be ordered
+in x and are not explicitly sorted by \fIcurfit\fR.
+
+If the input is from a list the user may specify a set of weights,
+\fBweighting\fR = user or a set of errors, \fBweighting\fR =
+instrumental. An additional weighting option \fBweighting\fR = statistical
+can be used for both list and image data. The default is \fBweighting\fR =
+uniform.
+
+When \fBinteractive\fR = yes, the curve is plotted and cursor commands allow
+for interactive examining and adjustment of the fit.
+The full range of interactive cursor commands is available
+including those for changing the function type, order, and rejection criteria,
+and examining the residuals.
+
+The final fit parameters are written to STDOUT with the
+format controlled by parameters \fBverbose\fR and \fBlistdata\fR.
+By default, the function type, order, and resulting chi-square are
+printed as well as the coefficients and their standard deviations.
+If \fBverbose\fR is set to yes, a list of X, Y_calculated, Y_input,
+and W_input is also printed.
+If \fBlistdata\fR is set to yes, the only printed output will
+be a listing of X, Yc, Y and W. This provides a list suitable as input to
+\fBgraph\fR or any other list oriented utility. Setting \fBlistdata\fR
+to yes overrides the verbose option.
+
+When \fBpower\fR = yes, the coefficients are converted to power series
+coefficients of the form a0 + a1*X + a2*X**2 +a3*X**3 ....
+Only legendre and chebyshev coefficients are converted; a conversion
+of spline coefficients is meaningless. Also, errors in the coefficients
+are not converted.
+
+The user has a choice of single or double precision calculations. Generally
+double precisions is used since the calculation time is only slightly
+longer. The single precision calculation is used in many other tasks
+which do many fits. This task provides a test tool to compare the
+results between the two levels of precision.
+.ih
+EXAMPLES
+
+1. The x,y pairs in file test.data are interactively fit with a fourth
+order legendre polynomial. The printed output is shown.
+
+ cl> curfit test.data
+
+.nf
+ NOAO/IRAF V2.0 Hammond@lyra Fri 11:45:41 13-Dec-85
+ file = test.data
+ function = legendre
+ grow = 0.
+ naverage = 1
+ order = 4
+ low_reject = 0., high_reject = 0.
+ niterate = 1
+ sample = *
+ total points = 8
+ sample points = 8
+ nrejected = 0
+ deleted = 0
+ square root of reduced chi square = 3.008706E-6
+ coefficient error
+ 1 2.633E1 1.098E-6
+ 2 3.150E1 1.820E-6
+ 3 8.167E0 1.896E-6
+ 4 -1.621E-6 2.117E-6
+
+.fi
+2. Fit a cubic spline to the last 12 columns of image "m74".
+
+ cl> curfit m74[501:512,1:512] axis=2 func=spline3 order=5
+
+3. Use \fIcurfit\fR as a filter to overplot a smoothed curve to an existing
+plot of the data points. The command line for \fBgraph\fR is shown as
+well as the \fBcurfit\fR command. Note the interactive flag for
+\fBcurfit\fR is turned off.
+
+ cl> graph points.list point+ mark=box wx1=.13 xlab="X VALUES"\
+ >>> ylab="Y VALUES" title="Legendre fit to points.list"
+
+ cl> type points.list | curfit list+ inter- | graph append+
+.ih
+SEE ALSO
+icfit, polyfit
+.endhelp
diff --git a/pkg/utilities/doc/detab.hlp b/pkg/utilities/doc/detab.hlp
new file mode 100644
index 00000000..a84ccf5f
--- /dev/null
+++ b/pkg/utilities/doc/detab.hlp
@@ -0,0 +1,28 @@
+.help detab Mar84 utilities
+.ih
+NAME
+detab -- remove tab characters from a file or files
+.ih
+USAGE
+detab files
+.ih
+PARAMETERS
+.ls files
+Template specifying files to be processed e.g. "file1" or "file*".
+.le
+.ls tablist = "9 +8"
+String containing a list of tabstops separated by blanks or commas.
+Alternatively a two element string of the form m +n will set
+tabstops every n columns beginning in column m. A null string will
+default to "9 +8".
+.le
+.ih
+EXAMPLE
+Remove the tabs from file "cubspl.f", using the default tab stops.
+
+.nf
+ cl> detab cubspl.f > temp
+ cl> delete cubspl.f
+ cl> rename temp cubspl.f
+.fi
+.endhelp
diff --git a/pkg/utilities/doc/entab.hlp b/pkg/utilities/doc/entab.hlp
new file mode 100644
index 00000000..224f9a82
--- /dev/null
+++ b/pkg/utilities/doc/entab.hlp
@@ -0,0 +1,30 @@
+.help entab Mar84 utilities
+.ih
+NAME
+entab -- replaces blanks by tabs and blanks
+.ih
+USAGE
+entab files
+.ih
+PARAMETERS
+.ls files
+Template specifying the files to be processed, e.g. "file" or "file*".
+.le
+.ls tablist = "9 +8"
+String containing a list of tabstops separated by blanks or commas.
+A two element string of the form "m +n" will set
+tabstops in every n columns beginning in column m.
+A null string defaults to "9 +8".
+.le
+.ih
+EXAMPLE
+Convert the file "prog.c", written using full tabstop indents, to
+an equivalent file with an initial indent of one full tabstop,
+with 4 space indents thereafter.
+
+.nf
+ cl> detab prog.c tab='9 +4' | entab > temp
+ cl> delete prog.c
+ cl> rename temp prog.c
+.fi
+.endhelp
diff --git a/pkg/utilities/doc/lcase.hlp b/pkg/utilities/doc/lcase.hlp
new file mode 100644
index 00000000..4fa859c8
--- /dev/null
+++ b/pkg/utilities/doc/lcase.hlp
@@ -0,0 +1,32 @@
+.help lcase Jan85 utilities
+.ih
+NAME
+lcase -- convert text files to lower case
+.ih
+USAGE
+lcase files
+.ih
+PARAMETERS
+.ls files
+The list of text files to be converted to lower case. If more than one
+text file is specified as input the suffix .lc is appended to the input
+file name to create the output file name.
+.le
+.ih
+DESCRIPTION
+LCASE takes input from a list of text files or the standard input, converts
+the text to lower case and prints the result on the standard output.
+If multiple files are specified as input, the suffix .lc is appended to
+the input file name to create the output file name.
+.ih
+EXAMPLES
+1. Convert a list of files to lower case
+
+.nf
+ cl> lcase *.x
+.fi
+
+.ih
+SEE ALSO
+ucase
+.endhelp
diff --git a/pkg/utilities/doc/polyfit.hlp b/pkg/utilities/doc/polyfit.hlp
new file mode 100644
index 00000000..c9c01a8f
--- /dev/null
+++ b/pkg/utilities/doc/polyfit.hlp
@@ -0,0 +1,91 @@
+.help polyfit Nov87 utilities
+.ih
+NAME
+polyfit -- fit a polynomial to sets of data
+.ih
+USAGE
+polyfit filelist order
+.ih
+PARAMETERS
+.ls \fBfilelist\fR
+File containing X,Y, SIGMAY triples to be fit. May be STDIN, or a list
+of file names. Note that the third list quantity is only required if
+\fIweighting\fR = instrumental.
+.le
+.ls \fBorder\fR
+The order of the polynomial fit. (e.g. a parabolic fit has order 2)
+.le
+.ls weighting = uniform
+The type of weighting for the fit. The choices are:
+.ls uniform
+No weighting.
+.le
+.ls instrumental
+The weight of each point is equal to 1. / SIGMAY ** 2.
+.le
+.ls statistical
+The weight of each point is equal to 1. / Y.
+.le
+.le
+.ls \fBverbose\fR = no
+If \fBverbose\fR = yes, additional information about the fit is printed on
+the standard output.
+.le
+.ls \fBlistdata\fR = no
+If \fBlistdata\fR = yes, the only output will be the calculated values for the
+X,Y pairs. This is useful as input to \fIgraph\fR.
+.le
+.ih
+DESCRIPTION
+A polynomial weighted fit of specified order is fit to the X,Y, SIGMAY data
+triples
+read from the input file, files, or STDIN. The resulting coefficients
+of the polynomial are printed on the first line of the standard output.
+The uncertainty in each coefficient is printed on the next line.
+These are listed as:
+
+.br
+a0 a1 a2 a3 ...
+.br
+s0 s1 s2 s3 ...
+
+.br
+where the polynomial has the form:
+
+.br
+y = a0 + a1*x + a2*x**2 + a3*x**3 + ...
+
+.br
+and the coefficients have uncertainties ("sigmas") s0 - sN.
+
+If verbose is set to yes, the following additional information is
+listed: the resulting reduced chi-square, f-test, correlation coefficient,
+standard deviation of residuals, and number of items in the list.
+Also a tabular listing of each data element, X,Y, SIGMAY and the independent
+variable, Yc, as calculated according to the fit, is printed.
+
+If listdata is set to yes, the only output which will appear will
+be the listing of X,Yc,Y, SIGMAY. This provides a list suitable as input to
+GRAPH or any other list oriented utility. Setting listdata to yes
+overrides the verbose option.
+
+The routine REGRES from the library of routines written by Bevington is used
+for the fit; see \fBData Reduction and Error Analysis\fR, by Bevington.
+.ih
+EXAMPLES
+ cl> polyfit STDIN 2
+.br
+ cl> polyfit datafile 4 verbose+
+.ih
+BUGS
+The maximum number of data elements is currently limited to 1000
+X,Y,SIGMAY triples. Also the system must be overdetermined. That is, the
+number of data elements must exceed the order by at least 2.
+
+Beware of data elements having large dynamic range. The limitation
+of the machine exponent range can produce overflow and underflow
+arithmetic exceptions.
+.ih
+SEE ALSO
+curfit
+.endhelp
diff --git a/pkg/utilities/doc/split.hlp b/pkg/utilities/doc/split.hlp
new file mode 100644
index 00000000..e398fe3d
--- /dev/null
+++ b/pkg/utilities/doc/split.hlp
@@ -0,0 +1,59 @@
+.help split Sep86 utilities
+.ih
+NAME
+split -- split a large file into smaller segments
+.ih
+USAGE
+split input output
+.ih
+PARAMETERS
+.ls input
+The name of the input file (only a single file can be processed).
+.le
+.ls output
+The root name of the output files.
+.le
+.ls nlines = 1000
+The maximum number of lines per output segment file, if the input file
+is a text file.
+.le
+.ls nbytes = 16384
+The maximum number of bytes per output segment file, if the input file
+is a binary file.
+.le
+.ls maxfiles = 999
+Maximum number of output files. Used to determine the amount of zero
+padding needed for the filename extensions.
+.le
+.ls verbose = yes
+Print the name and size of each output file as it is generated.
+.le
+.ih
+DESCRIPTION
+The \fIsplit\fR task is used to break large files up into smaller segments,
+e.g., when it is necessary to deal with an unmanageably large file.
+Lacking any knowledge of the file structure, the segments are broken on
+arbitrarily located but equally spaced boundaries. The segments may
+subsequently be reassembled into larger segments of the original file with
+\fIconcatenate\fR or \fIcopy\fR (with output redirection), or \fIsplit\fR may
+be applied again to break a large segment up into smaller segments without
+losing any information.
+.ih
+EXAMPLES
+1. Split a large text file into segments, each of which is the default size.
+
+ cl> split textfile seg
+
+2. Split a large \fItar\fR format archive file (10240 byte records) up into
+a series of smaller files, each of which contains 10 records from the input
+tar file.
+
+ cl> split big.arc seg nb=(10240*10)
+
+.ih
+TIME REQUIREMENTS
+very fast
+.ih
+SEE ALSO
+concatenate, copy
+.endhelp
diff --git a/pkg/utilities/doc/surfit.hlp b/pkg/utilities/doc/surfit.hlp
new file mode 100644
index 00000000..36b70803
--- /dev/null
+++ b/pkg/utilities/doc/surfit.hlp
@@ -0,0 +1,257 @@
+.help surfit Jun93 utilities
+.ih
+NAME
+surfit -- fit a surface, z=f(x,y), to a set of x, y, z points
+.ih
+USAGE
+surfit input
+.ih
+PARAMETERS
+.ls input
+Input text file containing the data to be fit. The file consists of lines
+with three or four whitespace separated values giving x, y, z, and
+optionally a weight.
+.le
+.ls image = ""
+Optional image name in which to create an evenly sampled image of the
+fitted surface. If no name is specified a image is not created. If an
+image name is specified then the x range in the input is evenly divided by
+the specified number of image columns, the y range is evenly divided by the
+specified number of lines, and the fitted surface values evaluated at the
+sampled x and y points are written as the pixel values of the image. A
+linear world coordinate system based on the x and y values is also created
+for the image.
+.le
+.ls coordinates = "", fit = ""
+The first two columns of the text file specified by the coordinates parameter
+are use to supply x and y values which are evaluated by the surface and
+the resulting x, y, and z values are appended to the specified fit file.
+If either parameter is not specified then this surface evaluation is
+not done. Note that the input data points are evaluated as part of
+the standard output but one may, if desired, specify the input file
+as the coordinate file to create a separate output.
+.le
+
+.ls function = "polynomial" (chebyshev|legendre|polynomial)
+Surface function type to fit. The choices are a chebyshev, legendre,
+or simple power series bi-dimensional polynomial.
+.le
+.ls xorder = 2, yorder = 2
+The polynomial orders in x and y.
+.le
+.ls xterms = "full"
+The options are:
+.ls none
+The individual polynomial terms contain powers of x or powers of y but not
+powers of both.
+.le
+.ls half
+The individual polynomial terms contain powers of x and powers of y, whose
+maximum combined power is max (xorder - 1, yorder - 1).
+.le
+.ls full
+The individual polynomial terms contain powers of x and powers of y, whose
+maximum combined power is max (xorder - 1 + yorder - 1).
+.le
+.le
+.ls weighting = "user" (uniform|user|statistical|instrumental)
+The type of weighting for the fit. The options are:
+.ls uniform
+All weights are 1. Any input weights are ignored.
+.le
+.ls user
+The weights in the fourth input column are used. If no weight is given
+a weight of 1 is supplied.
+.le
+.ls statistical
+The reciprocal of the absolute value of z input data is used as the weight.
+Any input weights are ignored. Z values less than 1e-20 are set to 1e-20.
+.le
+.ls instrumental
+The fourth input column is taken as a sigma and the weight is the
+reciprocal of the sigma squared. If no sigma is given a sigma of
+1 is supplied. Sigma values less than 1e-10 are set to 1e-10.
+.le
+.le
+.ls xmin = INDEF, xmax = INDEF, ymin = INDEF, ymax = INDEF
+These parameters define the range of input x and y data to be used and
+also define the range over which the surface function is defined. If
+INDEF then the appropriate limit from the input data points is used.
+If input data points lie outside these limits they are discarded. The
+range may be given larger than the range of the input data in order
+to all evaluating coordinates outside input data; i.e. to
+allow extrapolation.
+.le
+.ls zmin = INDEF, zmax = INDEF
+These parameters apply threshold limits to the input data. If INDEF
+the appropriate limit from the input data points is used. Input
+data points with z values outside this range are discarded.
+.le
+.ls ncols = 100, nlines = 100
+The number of columns and lines for the optional surface image. These
+parameters determine the size of the image and how finely the x and
+y input data range is subdivided.
+.le
+.ih
+DESCRIPTION
+This task fits a surface, a function of two coordinates, to a set of
+possibly irregularly sampled data points specified in a text file.
+The input consists of a file with three or four columns. The first
+two columns define the two coordinates, called x and y, the third
+column gives the value the function is supposed to fit, called z,
+and the optional fourth column is a weight or sigma. If a weight or
+sigma is not specified it will have a unit weight or sigma. The type
+of weighting is selected by a task parameter.
+
+The input data points may be restricted by use of the \fIxmin, xmax,
+ymin, ymax, zmin, zmax\fR parameters. If these parameters are INDEF
+(the default) the full range of the input is used. The surface function
+is only defined within the specified x and y range. In order to
+extrapolate outside the range of the input data these limits must
+be specified explicitly.
+
+The functions which may be fit are legendre, chebyshev, or simple
+power series bi-dimensional polynomials. The user selects the
+function type, the order in x and y, and whether to include
+cross terms. The orders are the number of coefficients which
+is the highest polynomial power plus 1. For example the default
+values of 2 in each coordinate define a linear sloped plane.
+All computations are done in double precision.
+
+Several polynomial cross terms options are available. Options "none",
+"half", and "full" are illustrated below for a quadratic polynomial in
+x and y.
+
+.nf
+xterms = "none"
+xorder = 3, yorder = 3
+
+ z = a11 + a21 * x + a12 * y + a31 * x ** 2 + a13 * y ** 2
+
+xterms = "half"
+xorder = 3, yorder = 3
+
+ z = a11 + a21 * x + a12 * y + a31 * x ** 2 + a22 * x * y + a13 * y ** 2
+
+xterms = "full"
+xorder = 3, yorder = 3
+
+ z = a11 + a21 * x + a31 * x ** 2 +
+ a12 * y + a22 * x * y + a32 * x ** 2 * y +
+ a13 * y ** 2 + a23 * x * y ** 2 +
+ a33 * x ** 2 * y ** 2
+.fi
+
+
+The fit results are written to the standard output; the terminal unless
+redirected. It consists of the input parameters, the coefficients and
+errors, and the input data plus the fitted values and residuals. The
+coefficient lines contain four columns. The first two columns are the x
+and y polynomial powers and then the coefficient and error in the
+coefficient are given. The coefficients are determined based on a
+normalized coordinate; the range of input x and y values, which is shown in
+the output as xmin, xmax, ymin, and ymax, is mapped to the range -1 to 1.
+The data portion gives the x, y, and z input values followed by the fitted
+value and the residual (z - fit) and finally the weight.
+
+There are two types of additional output which may be selected if desired.
+One is a two dimensional image of the surface evenly sampled over the x and
+y data range set by the xmin, xmax, ymin, ymax parameters. This type of
+output is selected by specifying an image name and the number of columns
+and lines. The number of columns and lines defines the size of the image
+and also the sampling of the x and y values. The first pixel in each
+dimension is the minimum x or y value and the sample interval per pixel is
+given by:
+
+.nf
+ dx = (xmax - xmin) / (ncols - 1)
+ dy = (ymax - ymin) / (nlines - 1)
+.fi
+
+The fitted surface is evaluated at each pixel and written to the image.
+The linear world coordinate system defining the x and y pixel sampling is
+written to the image header. This allows tasks such as \fBimplot\fR and
+\fBlistpixels\fR to show the fitted values in the input x and y units.
+
+The second type of output allows the surface to be evaluated at an
+arbitrary set of x and y coordinates. The coordinates are input
+as a text file. The first two columns are taken as the x and y values
+and any other columns are ignored. The x and y values and the fitted
+values are appended to a specified text file. This output is
+optional and only occurs if both an input coordinate and output
+fit file are specified. Note that the input data points are
+always evaluated as part of the standard output but the input
+data file may also be used as a coordinate file if desired.
+Also the output data file may be specified as "STDOUT" to merge
+this output with the basic results output.
+.ih
+EXAMPLES
+1. The following example shows use of all the output options using some
+random numbers.
+
+.nf
+ cl> urand 50 3 scale=100. >sf1
+ cl> head sf1 nl=5
+ 70.87 42.5 99.06
+ 51.49 42.19 64.86
+ 70.75 83.34 80.39
+ 57.1 67.79 30.24
+ 60.91 49.76 53.32
+
+ cl> urand 5 2 scale=100. seed=2 >sf2
+ cl> head sf2
+ 20.62 17.86
+ 66.39 86.26
+ 48.08 35.07
+ 70.39 95.8
+ 53.64 15.51
+
+ cl> surfit sf1 image=sf coord=sf2 fit=sf3 ncols=20 nlines=20
+ Surface parameters:
+ function = polynomial
+ xorder = 2
+ yorder = 2
+ xterms = full
+ weighting = user
+ xmin = 0.684
+ xmax = 89.74
+ ymin = 1.051
+ ymax = 95.36
+ zmin = 1.217
+ zmax = 99.14
+
+
+ Surface coefficients:
+ x y coeff error
+ 0 0 75.7125 17.2504
+ 1 0 -0.37273 0.356014
+ 0 1 -0.77194 0.336627
+ 1 1 0.009884 0.006295
+
+ Fitted points:
+ x y z fit residual weight
+ 70.87 42.5 99.06 46.2611 52.7989 1.
+ 51.49 42.19 64.86 45.4249 19.4351 1.
+ 70.75 83.34 80.39 43.2899 37.1001 1.
+ 57.1 67.79 30.24 40.3604 -10.1204 1.
+ 60.91 49.76 53.32 44.5562 8.76384 1.
+ ...
+
+ chisqr = 903.797
+
+ cl> head sf3
+ 20.62 17.86 57.8802
+ 66.39 86.26 40.9855
+ 48.08 35.07 47.3864
+ 53.64 15.51 51.9697
+
+ cl> listpix sf[*:10,*:10] wcs=world formats="%5.2f %5.2f"
+ 0.68 1.05 74.65366
+ 47.56 1.05 57.66973
+ 0.68 50.69 36.67273
+ 47.56 50.69 42.6855
+.fi
+.ih
+SEE ALSO
+apphot.fitsky, apphot.txdump, imsurfit
+.endhelp
diff --git a/pkg/utilities/doc/translit.hlp b/pkg/utilities/doc/translit.hlp
new file mode 100644
index 00000000..aba81f86
--- /dev/null
+++ b/pkg/utilities/doc/translit.hlp
@@ -0,0 +1,49 @@
+.help translit Mar84 utilities
+.ih
+NAME
+translit -- replace or delete specified characters in a file
+.ih
+USAGE
+translit infile from_string [to_string]
+.ih
+PARAMETERS
+.ls infile
+The input file name or template, e.g. "abc" or "abc.*".
+.le
+.ls from_string
+String containing characters to be mapped.
+If delete is yes then the characters in from_string are deleted from the input
+file(s). The from_string may specify a range of characters, e.g. "a-z" or "A-Z".
+If the first character of from_string is ^ then the program will operate
+on all but the specified characters, e.g. "^a-z" means all but lower case
+alphabetic characters.
+.le
+.ls to_string
+Requested if delete is no, otherwise set to the null string.
+Characters in from_string are mapped into characters in to_string.
+When to_string is short with respect to from_string, it is padded
+by duplicating the last character.
+.le
+.ls delete = no
+If delete is yes the characters in from_string are deleted from the input
+file(s) and no to_string is requested.
+.le
+.ls collapse = no
+If this switch is set all strings of repeatedly mapped output characters
+are squeezed to a single character.
+.le
+.ih
+EXAMPLES
+To change all the alphabetic characters in a file from lower to upper
+case, writing the result on the standard output:
+
+ cl> translit filename a-z A-Z
+
+To delete the letters a, b, and c from a file:
+
+ cl> translit filename abc de=yes
+
+To replace all but the letters abc in a file with A:
+
+ cl> translit filename ^abc A
+.endhelp
diff --git a/pkg/utilities/doc/ucase.hlp b/pkg/utilities/doc/ucase.hlp
new file mode 100644
index 00000000..e776ac16
--- /dev/null
+++ b/pkg/utilities/doc/ucase.hlp
@@ -0,0 +1,32 @@
+.help ucase Jan85 utilities
+.ih
+NAME
+ucase -- convert text files to upper case
+.ih
+USAGE
+ucase files
+.ih
+PARAMETERS
+.ls files
+The list of text files to be converted to upper case. If more than one
+text file is specified as input the suffix .uc is appended to the input
+file name to create the output file name.
+.le
+.ih
+DESCRIPTION
+UCASE takes input from a list of text files or the standard input, converts
+the text to upper case and prints the result on the standard output.
+If multiple files are specified as input, the suffix .uc is appended to
+the input file name to create the output file name.
+.ih
+EXAMPLES
+1. Convert a list of files to upper case
+
+.nf
+ cl> ucase *.x
+.fi
+
+.ih
+SEE ALSO
+lcase
+.endhelp
diff --git a/pkg/utilities/doc/urand.hlp b/pkg/utilities/doc/urand.hlp
new file mode 100644
index 00000000..f5e54263
--- /dev/null
+++ b/pkg/utilities/doc/urand.hlp
@@ -0,0 +1,41 @@
+.help urand Mar84 utilities
+.ih
+NAME
+urand -- uniform random number generator
+.ih
+USAGE
+urand nlines ncols
+.ih
+PARAMETERS
+.ls nlines
+The number of lines of output to be generated.
+.le
+.ls ncols
+The number of random numbers per output line.
+.le
+.ls ndigits = 4
+Number of digits of precision in each random number.
+.le
+.ls scale_factor = 1.0
+Factor by which the numbers are to be scaled (multiplied).
+.le
+.ls seed = 1
+Seed for the random number generator. If the value is "INDEF" then
+the clock time (integer seconds since 1980) is used as the seed
+value giving different random numbers for different executions.
+.le
+.ih
+DESCRIPTION
+The system random number generator is called to generate a sequence of
+random numbers in list form. By default, the random numbers will
+be uniformly distributed over the range 0 to 1. The number of lines
+of output, number of columns (random numbers) per line, and number of
+significant digits in each number may all be set by the caller.
+.ih
+EXAMPLES
+Generate a sequence of 100 random numbers and graph them on the graphics
+terminal in point plot mode. Autoscaling is turned off so that the plot
+will be scaled to the rand 0-1 (the \fBgraph\fR defaults) in both axes.
+
+ cl> urand 100 2 | graph po+ xa- ya-
+.endhelp