From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- doc/packages.hlp | 1986 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1986 insertions(+) create mode 100644 doc/packages.hlp (limited to 'doc/packages.hlp') diff --git a/doc/packages.hlp b/doc/packages.hlp new file mode 100644 index 00000000..9077fa68 --- /dev/null +++ b/doc/packages.hlp @@ -0,0 +1,1986 @@ +.help packages Aug83 "IRAF Package Structure" +.sh +1. Introduction + + This document is a first attempt to fully define the decomposition of +the IRAF system and applications software into packages. The functions +to be supplied by each package are summarized. The names of some of the +individual packages are likely to change. Given the package structure +detailed below, the IRAF root menu would appear as follows: + +.nf +cl> ? + artdata digiphot help lists system + astrometry dtoi images nsurfbrt twodspec + database filterphot imred onedspec utilities + dataio focas language softools +.fi + +.sh +2. Top Level Packages + + If the command HELP is typed without any arguments, the default action +is to print out a summary of the contents of the current package, giving +a one line description of the function of each package. The nonspecific +HELP documentation for the root package, i.e., the package "clpackage", +might appear as follows: + +.nf + artdata artificial data generation + astrometry astrometric routines + database database management utilities + dataio data format conversions (FITS, card image, etc.) + digiphot digital stellar photometry + dtoi density to intensity transformations + filterphot filter photometry reductions + focas faint object classification and analysis + help online help utility (not a package) + images general image processing and display + imred image reductions + language language stuff (task, kill, set, etc.) + lists list processing utilities + onedspec one dimensional spectra + softools software tools + nsurfbrt new surface brightness package + system system utilities (files etc.) + twodspec two dimensional spectra + utilities miscellaneous utilities +.fi + +.sh +3. Notes on Individual Packages + + Each top level package may contain any number of tasks or second level +packages. As we proceed lower into the hierarchy, the tasks and packages +become more specific in the type of data they deal with. An individual +task should not be duplicated in several packages; a task which is needed +in more than one package should be defined at a higher level in the hierarchy. +Examples of such general purpose tasks include HELP, and the tasks in the +LISTS and SYSTEM packages. + +.sh +3.1 Package ARTDATA + + The ARTDATA package shall provide routines for the generation of +artificial data. The principal use of artificial data is for testing +reduction and analysis software, making objective comparison of algorithms +and packages possible, and quantifying the non-systematic errors of such +software. The package shall meet the following requirements: +.ls 4 +.ls (1) +It shall be possible to model the noise functions of various detectors. +.le +.ls (2) +It shall be possible to add noise to an image, by randomly sampling +a gaussian or poisson distribution, the width of which is some function +of pixel intensity (this is determined by the noise model). +.le +.ls (3) +It shall be possible to analytically model line and point spread functions. +.le +.ls (4) +It shall be possible to model the characteristic curve of photographic +plates (and possibly other nonlinear detectors). +.le +.ls (5) +It shall be possible to generate diagnostic rasters, including constant +rasters, gaussian or poisson noise rasters with a constant noise function, +multidimensional smooth distributions (i.e., two dimensional gaussians, +ellipses, and legendre surfaces), stepwedge, stairstep, ramps, and so on. +.le +.ls (6) +It shall be possible to generate artificial starfields, optionally including +scaled galaxy images randomly selected from an digital library, wherein +the noise function, luminosity function, point spread function, spatial +distribution, and non-linearity are all modeled. +.le +.ls (7) +It shall be possible to generate artificial one and two dimensional spectra, +wherein the noise function, line spread function, line list, dispersion, +and geometric distortions (pincushion, s, and tilt) are all modeled. +.le +.ls (8) +All model parameters used to generate an artificial image shall be saved +in such a form that they can be compared with the parameters derived by +reduction and analysis software to compute errors. It shall be possible +to export model parameters on a FITS or cardimage tape, along with the +artificial image. +.le +.le + +.ks +.nf +Subpackages: + + artstars artificial starfield generation + artspec artificial 1&2 dim spectra generation +.fi +.ke + +.sh +3.2 Package ASTROMETRY + + A collection of routines for performing astrometry. Coordinate +input generally comes from other packages; the astrometry routines +determine the image coordinate system and transform object coordinates +in pixels into other coordinate systems. The following functions shall +be provided: +.ls +.ls (1) +It shall be possible to determine the coordinates of an object or objects +within an image by fitting gaussians or discrete psf marginal profiles to +the marginal profiles of the image. +.le +.ls (2) +It shall be possible to determine the transformation from pixel to user +coordinates for an image given the pixel and user coordinates of 1, 2, +or 3 or more stars in the image. The computation of the coordinate +transformation shall be decoupled from the generation of object coordinates. +It may be desirable to provide several types of transformations to model +the geometric distortions of various detectors. +.le +.ls (3) +The transformation parameters shall be saved in such a form that they +can be edited by the user or supplied by external programs. +.le +.ls (4) +It shall be possible to apply the coordinate transformation to convert +a list of coordinates from one coordinate system to another, +given the input list, the names of the input and output coordinate systems, +and the transformation descriptor. +.le +.le + +.sh +3.3 Package DATABASE + + The IRAF database management utilities. Routines shall be included for +inspecting, editing, copying, and otherwise manipulating the contents +of datafiles. The IRAF system does not yet have a database capability; +the requirements for the DATABASE package will be defined when the +form of the IRAF database facilities have been worked out. + +.sh +3.4 Package DATAIO + + Routines for data format conversion. The essential thing here is +format conversion; although files will often be read or written to magtape, +we should not build conversion routines so that they work only on magtape +devices. As networking becomes more widely used on our systems, we will +wish to use the same conversion routines to read and write data transmitted +electronically between machines. DATAIO shall provide the following +capabilities: +.ls +.ls (1) +It shall be possible to convert a FITS file into an IRAF imagefile, +and vice versa. +.le +.ls (2) +It shall be possible to convert a PDS file into an IRAF imagefile. +.le +.ls (3) +It shall be possible to convert a CAMERA file into an IRAF imagefile. +.le +.ls (4) +It shall be possible to convert a card image file into a text file, +and vice versa. +.le +.ls (5) +It shall be possible to convert a binary file containing only text into +a text file, and vice versa. +.le +.ls (6) +It shall be possible to copy a binary file, changing only the blocking +factor. +.le +.ls (7) +Each conversion routine shall be able to operate on either magtape +resident or disk resident files (this capability is already provided +by the IRAF magtape i/o interface). +.le +.le + +Note that function (6) in combination with requirement (7) provides a +means of copying a file from magtape to disk or vice versa, or from one +tape drive to another. In the process the tape record size and density +may be changed if desired. + +The conversion routines for FITS, PDS, and CAMERA formats may involve +some loss of information, at least initially. The problem is that these +are different image formats, with different image headers, and it is +not always possible to preserve all fields of the header across a +transformation. The following additional requirements should be +met eventually, but need not be addressed in the first implementation: +.ls +.ls (8) +The image format conversion routines shall permit a user defined mapping +of fields in the input header to fields in the output header. In the case +of the FITS and IRAF imagefile image headers, it shall be possible for the +user to define additional fields beyond those in the standard header. +The name and datatype of the two fields in a mapping need not be unique. +.le +.ls (9) +When converting from an external image format into the IRAF imagefile +format, blank or indefinite pixels shall be replaced by values which +approximate the underlying distribution. These values may be artificially +generated if necessary (i.e., by interpolation). The coordinates of each +bad pixel shall be added to the bad pixel list for the image. +.le +.le + +Most IRAF applications code will work only on the standard IRAF data +structures. The user is expected to use the DATAIO routines to get data +into the system, and to convert data for export. Applications which +reduce data from instruments with unique data formats may need to provide +special conversion routines. DATAIO will provide conversion routines only +for data formats which provide data for more than one package. + +.sh +3.5 Package DIGIPHOT + + A package of routines for digital stellar photometry, in both crowded +and uncrowded fields. A range of routines shall be provided, ranging from +simple aperture photometry of sparse or moderately crowded fields, though +single star psf-fitting techniques, to simultaneous surface fits of +blended images. +.ls +.ls (1) +It shall be possible to perform aperture photometry on linearized images +via fractional pixel techniques, using circular apertures and annuli. +It is desirable to be able to perform aperture photometry using elliptical +apertures and annuli, but this is not a requirement. +.le +.ls (2) +It shall be possible to perform photometry on linearized images using +single star psf-fitting techniques. +.le +.ls (3) +It shall be possible to subtract the fitted psf from the data. +.le +.ls (4) +All photometry routines shall be usable either interactively or in a +batch mode, to process an arbitrarily long list of objects on a single image. +.le +.ls (5) +All photometry routines shall produce accurate estimates of the uncertainties +in object centers and magnitudes. +.le +.ls (6) +A routine shall be provided to automatically locate all objects in an image +which are sufficiently bright and well resolved (unblended) to be measured +by aperture or single star fitting techniques. +.le +.ls (7) +Routines shall be provided to determine the PSF of an image by either +empirical or analytical techniques. It shall be possible to accurately +determine the PSF even if the data is undersampled (up to the limit defined +by the sampling theorem). +.le +.ls (8) +Given a set of images, each of which has a different PSF, it shall be +possible to compute and apply a transformation to each image which +will result in all output images having the same PSF. +.le +.le + +.ks +.nf +Subpackages: + + apphot aperture photometry + new_richfld single star psf-fitting techniques + nstar deconvolution of blended images + psf psf generation and modification +.fi +.ke + +The requirements and specifications of the APPHOT package have already +been written and are available as a separate document. The "new richfld" +package will be similar in operation to APPHOT, but centering and scaling +will be done by psf-fitting techniques, providing more precise centers +and magnitudes, the ability to work in slightly more crowded fields +than is possible with APPHOT, and the ability to fit partial images. +The new richfld program will be a considerable improvement over the existing +IPPS version, providing a better background fitting algorithm, greater +efficiency, better error estimates, an improved user interface, and +probably the ability to perform accurate photometry on undersampled data. + +The NSTAR problem is still a research project, and it is unlikely that +we will have the manpower to address this problem for quite some time yet. + +.sh +3.6 Package DTOI + + A collection of routines for computing and applying the density to +intensity transformation for photographic data, and for linearizing other +types of data as well. The requirements are as follows: +.ls +.ls (1) +It shall be possible to determine the H-D curve for photographic data, +by any of the following techniques: +.ls o +By fitting a set of data points (the calibration "spots"), each of which +is described by a modal value and a standard deviation or weight, +and where the upper bound on the number of data points is arbitrary. +The data points shall be input in the form of a list file or list structured +parameter. +.le +.ls o +By analysis of a single image containing many star images. Since stellar +images must scale linearly if the data is linear, the H-D curve of an +image can be derived from an analysis of the data itself. +.le +.ls o +By use of an external program, or by direct entry of the transformation +by the user. +.le +.le +.ls (2) +A convenient routine shall be provided for generating the spot list file +from the calibration spots in digital form. +.le +.ls (3) +It shall be possible to determine the departure from linearity of +digital detectors by analysis of a set of images of the same field, +where successive images differ only in the total exposure time. +Each image is in effect a calibration "spot". +.le +.ls (4) +A function shall be provided to apply the transformation, linearizing an image +or images. +.le +.ls (5) +A function shall be provided to apply the reverse transformation, producing a +nonlinear image or images for test purposes. +.le +.le + +.sh +3.7 Package FILTERPHOT + + A package of routines to reduce data from single or multichannel +photometers. The function of the package is to read raw data from +a photometer, average multiple observations of an object to produce +a single record, then determine and apply extinction and transformation +corrections. +.ls +.ls (1) +Functions shall be provided to read data from all optical photometry +acquisition programs currently in use at KPNO (#4-16, PPIII, Photom). +.le +.ls (2) +The internal data format shall be independent of the raw data +format, making it straightforward to add additional data format +conversion routines to read data produced by non-KPNO instruments. +.le +.ls (3) +Once data has been read and converted into the internal form, +the primary functions of the package shall be to: +.ls o +Average multiple observations of a single object, producing a single +sky subtracted record. +.le +.ls o +Compute the instrumental magnitudes or colors. +.le +.ls o +Compute and the first and second order extinction coefficients. +.le +.ls o +Compute the transformation coefficients. +.le +.ls o +Apply the extinction corrections, transforming instrumental magnitudes +or colors into natural system magnitudes or colors. +.le +.ls o +Apply the transformation corrections, transforming natural system +magnitudes or colors into standard system magnitudes or colors. +.le +.le +.ls (4) +The package shall be able to reduce data for the BVRI, HBETA, UBV, +UBVR, UBVRI, UVBY, and UVBYHBETA photometric systems. +.le +.ls (5) +It shall be straightforward to extend the package to reduce data in +other photometric systems, provided they are reasonably similar to the +standard systems. +.le +.le + +.sh +3.8 Package FOCAS + + A more or less direct conversion of the existing FOCAS package to +IRAF, excluding those routines which duplicate functions already provided +by the IRAF system, such as data i/o, image reductions, image display load +and control, etc. The package shall provide the following functions: +.ls +.ls (1) +Automatic detection of faint objects, producing a catalog of objects +as output. +.le +.ls (2) +Measurement of various position, shape, and photometric parameters for +each object. +.le +.ls (3) +Automatic classification of objects (i.e., as stars or galaxies), +based on the information determined in steps (1) and (2). +.le +.ls (4) +Display and analysis of the various parameters in the catalogs. +.le +.le + +.sh +3.9 The HELP Utility + + The HELP utility shall be used to retrieve and display documentation +on-line, i.e., while at the terminal using the system. Documentation shall +be organized by package; "manual pages" shall be available for both CL and +library level packages. A manual page shall be available on-line for each +item appearing in a CL menu. +.ls +.ls (1) +The command "help" with no arguments shall cause a one line description of +each routine in the current package to be printed. +.le +.ls (2) +A command of the form "help task" shall cause the manual page for the +named task to be printed. The task must be defined in the dictionary at +the time HELP is executed to be recognized. +.le +.ls (3) +A command of the form "help package.task" shall retrieve the manual page +for the named task regardless of whether the associated package is loaded. +This form must be used to get help on library procedures. +.le +.ls (4) +It shall be possible, as an option, to print only the calling sequence for +the task, to print only detailed information for a particular parameter, +or to print the source for the task. +.le +.le +.le + +.sh +3.10 Package IMAGES + + General image processing. Included are routines for displaying and +plotting images and image sections, for image arithmetic, editing, and +filtering, and for performing geometric and other transformations. +.ls +.ls (1) +A routine shall be provided for mapping an image or image section into +the user specified frame of the default image display device. The mapping +or display routine shall have the following features: +.ls (a) +The function of the display routine shall be to map an image or image section +into the specified frame of the default image display device. +The following simple calling sequence shall suffice to display an image +or image section: + + display (image, frame) + +where "image" is the name of an image or image section, and "frame" is +the frame to be used, numbered 1, 2, 3, etc. For example, if "cube" +is a three dimensional image cube, the command + + display ("cube[*,-*,5]", 1) + +would map the entire fifth band of the cube into frame number 1, with the +y-axis flipped (the IMIO interface transparently processes image sections). +Default transformations would be used to map image coordinates into +display coordinates, and image pixel values into display pixel values. +.le +.ls (b) +The following options shall be available, under control of hidden +parameters with default values: +.ls o +Erase frame before displaying image. +.le +.ls o +Scale the x,y dimensions of the image to fit the physical frame of the +display device (autoscale in x,y). The aspect ratio should be maintained +at unity, unless an option is added to permit independent scaling of +the two axes. +.le +.ls o +Do not autoscale in x,y, i.e., map the image 1 to 1 in x,y (into center +of window). +.le +.ls o +Enter explicit x,y scaling factors (magnification). Map image into +center of frame using these fixed scaling ratios. +.le +.ls o +Enter Z1 and Z2, the range of intensities to be mapped into the +8 bits (or whatever) available on the physical device. +.le +.ls o +Reuse the spatial and greyscale transformations used the last time +the display routine was called. +.le +.ls o +Autoscale, using the minimum and maximum pixel values. +.le +.ls o +Autoscale, by computing a full or partial histogram for the image, +and then automatically computing the values of Z1 and Z2 which straddle +the main peak of the histogram (if there is a single peak). +It may be desirable to subsample the image for the sake of efficiency. +.le +.ls o +Both logarithmic and linear grayscale transformations shall be +available. +.le +.le +.ls (c) +Though the implementation of the display routine will necessarily be +device dependent at some level, the functions provided by the routine +shall be reasonably device independent. +.le +.ls (d) +The default image display device shall be specified in the +CL environment table (normally set when the CL starts up). +.le +.le + +.ls (2) +A routine shall be provided to control and adjust the image display +device. The following functions shall be provided: +.ls +.ls o +Select frame to be displayed. +.le +.ls o +Erase graphics frame. +.le +.ls o +Erase image frame. +.le +.ls o +Adjust windowing (frame lookup table). +.le +.ls o +Zoom and roam. +.le +.ls o +Blink frames. +.le +.le + +The display control routine will provide rudimentary control of the image +display device, but will not exercise any of the advanced features commonly +found on sophisticated modern display devices. This routine will eventually +be supplanted by a control program driven by a dedicated terminal with a +touch screen overlay. The latter interface will exercise the advanced +features of the display, but will necessarily be more device dependent +and therefore less transportable. + +In the long run we will wish to keep both interfaces, using the simple +interface for simple display devices, for workstations which do not have +a dedicated display control terminal, and to provide rudimentary control +at installations which cannot afford to implement the more sophisticated +interface. +.le + +.ls (3) +Routines shall be provided for plotting image data in a variety of ways, +on a variety of devices. +.ls (a) +The following types of plots shall be provided: +.ls o +Vector plots along a single dimension, optionally performing a boxcar +average over the other image dimensions. +.le +.ls o +Vector plots of the histogram of an image or image section. +.le +.ls o +Mark, vector, and text drawing on an existing plot, where the position, +size, orientation, etc., of a mark or text string are specified by the user. +.le +.ls o +Two dimensional contour plots of an image or image section. +.le +.ls o +Two dimensional hidden line plots of an image or image section. +.le +.ls o +Three dimensional hidden line plots of an image or image section. +.le +.ls o +Grayscale or simulated grayscale plots of a two dimensional image or +image section (depending on the output device). +.le +.le +.ls (b) +The following types of graphics output devices shall be supported: +.ls o +Graphics terminals (e.g., VT100, Tek 4012). +.le +.ls o +Raster plotters (e.g., Versatec). +.le +.ls o +Pen plotters (e.g., Calcomp, Imagen). +.le +.ls o +Grayscale devices (e.g., Dicomed, IIS). +.le +.ls o +Files (for spooling graphics). +.le +.le +.ls (c) +The following options shall be available to control the form of +a vector plot: +.ls o +Overplot without changing the scale. +.le +.ls o +Plot to a user specified scale. +.le +.ls o +Plot vector points as dots. +.le +.ls o +Plot vector points as marks, where the type and size of a mark +is specified by the user. +.le +.ls o +Connect the points of a plotted vector with line segments. +.le +.ls o +Connect the points of a plotted vector with dashed line segments, +where the dash pattern is specified by the user. +.le +.ls o +Set the plotting window, i.e., the position and size of the rectangle +in which the plot will be drawn on the output device. +.le +.ls o +Specify whether or not data may be plotted outside of the plotting window. +.le +.ls o +Enter labels for the axes. +.le +.ls o +Specify whether or not a box with ticks is to be drawn to define the +plotting window. +.le +.ls o +Specify whether the axes are to be labeled in pixel or user coordinates +(user coordinates might be right ascension and declination, wavelength +versus flux, or whatever). +.le +.ls o +Select linear or log scaling in either axis (with appropriately labeled +ticks). +.le +.ls o +Other options, such as line color, line brightness or width, depending +on the characteristics of the final graphics interface (GIO). +.le +.le +.ls (d) +Due to the complexity of the vector plotting options, the vector plot +task shall be command driven. A simple language shall be defined for +specifying vector plots and for drawing mark and text strings, and a +plot shall be generated by entering a sequence of commands which are +interpreted by the plotting task. + +All plotting options shall have default values. These default values +may be set by having the plot task read a user specified initialization +file (containing normal plot commands) upon startup. The simplest +plot command will have the form + + plot image_section + +i.e., the command + + plot "cube[5,*,9]" + +would plot column 5 of band 9 of the image "cube". If only a single +command is needed to generate a plot, it shall be possible to pass the +command as a string argument to the vector plot task when the task is +invoked from the CL. Otherwise, commands shall be read from the +standard input. +.le +.ls (e) +The two tasks PLINE and PCOLUMN shall be provided for making simple line and +column plots of images, without the extra overhead associated with the +vector plot task. Thus, a command such as + + pline image,10 + +would suffice to plot line 10 of the image "image". +.le +.ls (f) +It shall be possible to specify the default graphics device in the +CL environment table (normally set when the CL starts up). +.le +.ls (g) +It shall be possible to redirect the plot to a device other than the +default graphics device by means of command line redirection. +.le +.ls (h) +It shall be possible to select an output "device" which spools the low +level plotting instructions in a disk file. +.le +.le + +.ls (4) +Simple pointwise image operations, i.e. picture arithmetic, functions, +line and column flipping, subraster extraction, and so on, shall be +performed by the image calculator task. The image calculator approach +has two major advantages: (1) a great deal of function is provided +via an interface which is simple and easy to remember, and (2) the +image calculator is efficient, since it eliminates may intermediate +images which would otherwise have to be written, read, and deleted. +For all but the most trivial expressions the image calculator will be +cpu bound, an ideal candidate for optimization with a bit-mapped array +processor. +.ls (a) +The image calculator task shall be command driven. If only a single +command is to be executed, it shall be possible to pass the +command as a string argument to the image calculator task when the task is +invoked from the CL. Otherwise, commands shall be read from the +standard input. +.le +.ls (b) +The function of the image calculator task shall be to execute commands +of the form + + output_image = expression + +where "output_image" is either a new image which will be created by the +image calculator or a section of an existing image, and where "expression" +is an algebraic expression wherein the operands may be any of the following: +.ls +.ls o +Images or image sections of any dimension or datatype. +.le +.ls o +Numeric constants. +.le +.ls o +Calls to intrinsic functions. +.le +.le + +For example, the command + + cl> imcalc "subras = image[40:50,33:43]" + +would extract a subraster from the image "image" into the new image +"subras". The command + + cl> imcalc "image = image[*,-*]" + +would flip the columns of the two-dimensional input image. The command + + cl> imcalc "avg = (a + max(b,0) + c) / 3" + +where "a", "b", and "c" are the names of images, +would produce the new image "avg" which is the average of the images +"a", "c", and the image "b" with all negative pixels set to zero. +Finally, + +.nf + cl> imcalc "image[50,*] = (image[49,*] + image[51,*]) / 2" +.fi + +would replace column 50 of the named image by interpolation over the +neighboring columns. Many other examples could be given, +but this should suffice to demonstrate the range of operations the +image calculator will be able to perform. +Common operations, or repetitive operations on large data sets, +can be performed by writing CL scripts to generate sequences of commands +to drive the image calculator. +.le +.ls (c) +The operation of the image calculator when evaluating "mixed mode" +expressions involving images which differ in size, number of dimensions, +datatype, or which involve out of bounds references, has not yet been +fully defined. +.le +.ls (d) +The function of the image calculator shall be limited to pointwise +image operations (no interpolation, filtering, etc.). +.le +.ls (e) +The syntax of an expression in the image calculator shall be the same +as for the SPP language (and Fortran 77). +The image calculator shall recognize the following operators: + +.ks +.nf + + addition + - subtraction + * multiplication + / division + ** exponentiation + - unary negation + < <= > >= == != boolean comparison + ! boolean negation +.fi +.ke +.le + +The result of a boolean expression shall be of type short integer, +where zero corresponds to false and one to true. Boolean expressions +are useful for thresholding and mask generation. + +.ls (f) +The image calculator shall implement the following intrinsic functions: + +.ks +.nf + abs atan2 cos int min sin + acos ceil cosh log mod sinh + aimag char double log10 nint sqrt + asin complex exp long real tan + atan conjug floor max short tanh +.fi +.ke +.le +.ls (g) +The image calculator shall merge the bad pixel lists of the input images +to produce the bad pixel list of the output image. +.le +.ls (h) +A set of CL callable subroutine-like tasks shall also be provided for +performing simple arithmetic operations on images (two images in, one out), +without incurring the overhead associated with the image calculator. +.le +.ls (i) +A specialized routine shall be provided for averaging a set of registered +images. +.le +.le + +.ls (5) +General pointwise operations are required to modify the intensity scale +of an image in ways that are difficult or impossible to perform with the +image calculator. The following operators are required: +.ls +.ls o +General pointwise mapping operator. The mapping of input intensity to +output intensity shall be defined by a user supplied transformation curve. +The transformation curve shall consist of a list of data points giving +output intensity versus input intensity. +.le +.ls o +Histogram equalization operator. +.le +.ls o +Histogram matching operator. +.le +.le +.le + +.ls (6) +Operators are required to perform various geometric transformations. +These transformations move pixels about, but do not change the values +of the pixels. The geometric transformations shall be implemented as +separate tasks. +.ls (a) +Operators shall be provided for the following transformations: +.ls o +Transpose. Note that 90 degree clockwise and counterclockwise +rotations may be effected by combining the transpose operator +with an image section subscript as follows: + +.ks +.nf + transpose ("in[*,-*]", out) (cw rotation) + transpose ("in[-*,*]", out) (ccw rotation) +.fi +.ke +.le +.ls o +Fractional pixel shift along any dimension or dimensions. +.le +.ls o +Expand or contract by any factor along any dimension or dimensions. +.le +.ls o +Expansion by pixel replication. +.le +.ls o +Contraction by block averaging. +.le +.ls o +General linear transformation; a fraction pixel shift followed by a +rotation though an arbitrary angle about an arbitrary center. +.le +.ls o +General geometric distortion, or "rubber sheet", where the transformation +is defined by means of an externally generated lookup table. +The transformation shall be described by giving the coordinates of a set +of grid points in the input image, and the corresponding coordinates of +the same grid points in the output image. The distortion routine shall +compute the mapping for non-grid points by interpolation. +Note that this operator may be used to implement rotations or translations, +to register images, to remove or induce geometric distortions, +to convert from Cartesian to polar representation and vice versa, and so on. +.le +.ls o +Distortion table generation. Given the coordinates of a set of grid points in +the input image, and the corresponding coordinates of the same grid +points in the output image, an analytic surface is fitted, and a new set +of grid points are generated by sampling the analytic surface. +This step is necessary when too few grid points are available to span +the image, or when a smooth or constrained transformation is desired. +Note that this operator is very similar to that used for astrometry. +.le +.ls o +Image registration: given a list of images, compute the unique transformation +required to register the images with minimum loss of data. +The linear transformation routine may subsequently be used to perform the +actual registration. Operation shall be restricted to linear transformations +(translation and/or rotation). It shall be possible to restrict the +transformation to a simple translation if desired. +.le +.le +.ls (b) +All operations which involve interpolation shall offer the following +choice of interpolators: +.ls o +Nearest neighbor. +.le +.ls o +Linear interpolation. +.le +.ls o +Third order interior polynomial. +.le +.ls o +Fifth order interior polynomial. +.le +.ls o +Cubic spline. +.le +.ls o +Sinc function. +.le +.le +.ls (c) +All operations which involve out of bounds references (i.e., a rotation +or a geometric distortion) shall offer the following options for out of +bounds references: +.ls o +Add the pixel to the bad pixel list. +.le +.ls o +Return the value of the nearest boundary pixel. +.le +.ls o +Return a constant value. +.le +.ls o +Generate value by reflection about the boundary. +.le +.ls o +Generate value by projection about the boundary. +.le +.ls o +Generate value by wrapping around to the opposite side of the image. +.le +.ls o +Apodize (for fourier analysis). +.le +.le +.ls (d) +Operations which change the spatial scale of the data (i.e., expand, contract, +or distort) shall by default scale the value of the output pixels so as +to conserve the volume integral. +.le +.ls (e) +All linear transformation operators shall also transform the axes descriptor +in the image header, so that the user coordinate system associated with +the image remains accurate. +.le +.le + +.ls (7) +Operators are required to perform various filtering operations on images. +These transformations change the values of the pixels, but do not move +pixels about or change the spatial scale of the image. The filtering +operators shall be implemented as separate tasks. +.ls (a) +The following filter operators are required: +.ls o +Gradient (first derivative). +.le +.ls o +Laplacian (second derivative). +.le +.ls o +Circular median filter. +.le +.ls o +Rectangular median filter. May be used for median filtering of lines +and columns. +.le +.ls o +Circular modal filter. +.le +.ls o +Rectangular modal filter. +.le +.ls o +Convolution via a gaussian kernel of arbitrary size. +.le +.ls o +Convolution via a flat topped rectangular kernel of arbitrary size +(boxcar smoothing). +.le +.ls o +Convolution via a user specified kernel of arbitrary size. +.le +.ls o +Lucy smoothing using boxcar smoothing or a user supplied convolution +kernel. +.le +.ls o +General lowpass filter operator. +.le +.ls o +General highpass filter operator. +.le +.ls o +General bandpass filter operator. +.le +.ls o +General bandstop filter operator. +.le +.ls o +A routine which converts a transfer function in the frequency domain into the +corresponding convolution kernel in the spatial domain. +.le +.ls o +Forward fourier transform. +.le +.ls o +Inverse fourier transform. +.le +.ls o +Power spectrum. +.le +.le +.ls (b) +The choices for dealing with out of bounds pixel references shall be +the same as given in section 6(c). +.le +.le +.ls (8) +Special operators are required for background or bias fitting and removal. +The following fitting operators are required: +.ls (a) +Line polynomial fit to a user defined set of regions. This operator shall +perform the following operations for each line in the image: +.ls o +Compute the median, mode, or mean of each region in the line, +optionally with automatic pixel rejection and region growing. +.le +.ls o +Fit a polynomial to the resulting set of points, where the order of the +polynomial is greater than or equal to zero and is specified by the user. +.le +.ls o +Evaluate the fitted polynomial to produce the output line. +.le +.le +.ls (b) +Surface polynomial fit to a user defined set of regions in a two +dimensional image. As above, but regions are defined along the columns +as well. +.ls o +Compute the median, mode, or mean of each subraster, +optionally with automatic pixel rejection and region growing. +.le +.ls o +Fit a two dimensional polynomial to the resulting set of points, +where the order of the polynomial in each dimension is greater than +or equal to zero and is specified by the user. +.le +.ls o +Evaluate the fitted surface to produce the output image. +.le +.le +.ls (c) +One or two dimensional surface fit to the pixel data directly, +without computation of the mode, median, or whatever. +A number of regions may be defined as in the other routines, +or the entire raster may be fit. A two dimensional Legendre polynomial +is fitted, pixel rejection with region growing is performed if enabled, +and the process iterates until convergence (two or three passes through +the image are required). The fitted surface is evaluated to produce +the output image. +.le +.le + +.ls (9) +A range of operators are required for editing rasters. Raster editing +may be used to remove artifacts or blemishes, to salvage calibration frames +containing contaminating objects, to implement nonlinear filtering in the +fourier domain, and so on. The image calculator provides a rudimentary +but powerful raster editing capability, allowing lines, columns, subrasters, +and pixels to be copied or directly modified. The filtering operators may +also be used for a certain class of editing operations. Additional special +purpose operators are required for detecting and removing extended artifacts. +.ls (a) +The following operators are required: +.ls o +An operator is required to automatically detect and remove spikes. +Pixels which exceed the median of a circular or rectangular region by +more than a certain amount, and optionally all neighboring pixels out +to a given radius, shall be replaced by artificial values. +.le +.ls o +An operator is required to automatically detect and remove extended +objects. Region growing should be available as an option to insure +that all contaminated pixels are replaced. +.le +.ls o +An operator is required to automatically detect and remove transient defects, +given a series of exposures of the same field taken at different times. +.le +.ls o +An interactive editing routine is required, wherein the user interactively +marks the region to be edited with a cursor. +.le +.le +.ls (b) +It shall be possible to replace pixels by any of the following +techniques: +.ls o +By the median of the neighboring pixels, out to a user specified +radius, with optional additive noise. +.le +.ls o +By interpolation (linear or spline), with optional additive noise. +.le +.ls o +By adding the pixels to the bad pixel list for the image. +.le +.ls o +By substituting a user defined value, with optional additive noise. +.le +.le +.le + +.sh +3.11 Package IMRED + + The Image Reductions package (IMRED) will provide streamlined or +"canned" procedures for reducing the data from specific KPNO digital +imaging detectors. As far as possible, the IMRED procedures shall be +written as CL scripts calling compiled procedures in other packages. +Most of the functionality needed to reduce direct and spectroscopic +imaging data will be provided by the general purpose routines in the +IMAGES package. + +The advantages of writing IMRED procedures as CL scripts are the following: +(1) the high level IMAGES tasks, such as the image calculator, can be used +directly instead of calling lower level library procedures, +(2) staff and users can modify CL scripts more easily than compiled +procedures, and (3) we can provide specialized routines for common reduction +tasks, without sacrificing generality. The principal disadvantage is that +it is harder to access data dependent fields in the image header, +such as the filter number or IPS parameter for Video Camera images. + +Canned procedures shall be provided to reduce data from the following +KPNO instruments: +.ls +.ls (1) +CCD direct. Bias determination is via the polynomial fitting routines +in the IMAGES package; trim, bias subtraction and flat field division is +via the image calculator, cleaning is via the image editing routines, +and so on. A special routine will probably be required for defringing. +.le +.ls (2) +Echelle CCD. Reductions are much the same as for the CCD direct. +A different defringing algorithm is required. Cleaning and order +extraction is via the MULTISPEC procedures. +.le +.ls (3) +HGVS (High Gain Video Spectrometer). The basic operations are the +same as for the CCD's. An additional call to a polynomial fitting routine +is required to compute the slit profile. Distortion mapping is via the +LONGSLIT procedures. +.le +.ls (4) +Cryogenic Camera. Reductions are the same as for the HGVS, +except than an additional rotation or transposition step is required. +.le +.ls (5) +Video Camera. Reductions are very similar to those for the CCD direct, +except that there is no defringing problem. The reduction procedures should +be able to make use of the filter number and IPS parameter for each frame. +Distortion mapping need be done only once for a given image tube, +and hence is not part of the normal reduction sequence. +Distortion removal is via the geometric distortion routine in IMAGES. +.le +.ls (6) +Coude CCD. Standard CCD reductions, followed by compression to one +dimensional spectra for subsequent analysis in ONEDSPEC. +.le +.le + +Although canned procedures will not be provided (at least initially) for +reducing data from non-KPNO digital detectors, it should not be difficult +for users to modify the standard scripts to reduce data from other +detectors. + +.sh +3.12 Package LANGUAGE + + The command language itself. Not a normal package, in that the tasks +are built into the CL process, rather than into separate processes. +The contents of this package are always "loaded". The purpose of the +LANGUAGE package is to summarize the language facilities, and to prompt +the user with the names of the language "tasks", so that HELP may be +called to obtain additional information. + +.sh +3.13 Package LISTS + + Routines for operating upon lists. A list is a text file wherein +each line is a record consisting of one or more columns. Lists may be +produced by output redirection, editing, and many other means. Examples +of lists are lists of object coordinates, lists of images, lists of +regions, lists of transformation points, the graphics and image cursors, +and so on. Lists are used throughout the system. +.ls +.ls (1) +For maximum flexibility, all list operators shall be implemented as filters. +.le +.ls (2) +Operators shall be provided to perform the following functions: +.ls o +Copy selected columns from the input list to the output list. +.le +.ls o +Concatenate lines from a list of input files (merge records from several +lists). +.le +.ls o +Sort a list, alphabetically or numerically, in increasing or decreasing +order, by the contents of any column. +.le +.ls o +Merge several sorted lists, alphabetically or numerically, +in increasing or decreasing order, by the contents of any column. +.le +.ls o +Filter a list, passing or stopping only those lines which are within +the specified numeric or alphabetic range. +.le +.ls o +Filter a coordinate list, passing or stopping only those coordinates +which are within a certain radius of a certain origin. +.le +.ls o +Filter a list, passing or stopping only those lines which contain a +substring matching a user defined pattern. +.le +.ls o +Break the input list up into a stream of words. +.le +.ls o +Organize a stream of words into a neatly formatted table. +.le +.ls o +Copy the special list GCUR (the graphics cursor) to the output list. +.le +.ls o +Copy the special list IMCUR (the image cursor) to the output list. +.le +.ls o +Graph the contents of one or more lists, producing a plot on the +standard graphics device. If more than one list is input, the individual +curves (lists) shall be overplotted. +.le +.ls o +Perform arithmetic upon the columns of lists (e.g., OPSTRM). The output +columns are functions of the input columns. +.le +.ls o +Average a list of numbers, each of which may have an associated weight. +.le +.ls o +Average a list of coordinates, each of which may have an associated weight. +.le +.ls o +Convert a list to upper case. +.le +.ls o +Convert a list to lower case. +.le +.ls o +Perform a user specified mapping of the characters within a list. +.le +.ls o +Count the number of lines, words, and characters in a list or in a +list of files. +.le +.le +.ls (3) +When appropriate, the list operators should be set up to operate either +upon a list of input files, or upon the standard input. +.le +.le +.le + +.sh +3.14 Package ONEDSPEC + + The one dimensional spectral reduction and analysis package. +A general purpose package or packages, with a separate set of higher level +"canned" procedures for reducing data from specific KPNO instruments. +The basic requirements are as follows: +.ls +.ls (1) +Spectra shall be stored as one dimensional images with an extended header +containing special fields used by ONEDSPEC. This will permit use of the +standard image calculator and graphics utilities to manipulate and plot +spectra. +.le +.ls (2) +An assortment of routines are needed for data input. Routines are required +to convert data from the following formats into ONEDSPEC images: +.ls o +FITS. The standard FITS reader should be sufficient, provided it can +handle mapping of nonstandard keywords into the application specific +part of the image header. +.le +.ls o +IIDS, IRS. +.le +.ls o +REDUCER. +.le +.ls o +Text files. The standard DATAIO card image reader will suffice to convert +card image files into text files, but a special routine will be needed +to convert a text file spectrum (format yet to be defined) into an image. +.le +.le +.ls (3) +Only the standard FITS and text file (hence card image) formats will be +supported for output of spectra. +.le +.ls (4) +The image calculator shall be used for arithmetic and other operations upon +spectra, unless special handling of the extra fields in the image header +is required. +.le +.ls (5) +The standard IMAGES graphics utilities shall be used for plotting spectra, +except within interactive analysis procedures. The user coordinate systems +in the image header (x, y, and flux) must be initialized by ONEDSPEC if user +coordinates are desired on graphics output. The standard graphics utilities +(the image header) support only linear coordinate transformations. +.le +.ls (6) +A routine shall be provided for editing the special fields of the ONEDSPEC +image header. +.le +.ls (7) +Operators shall be provided for the following standard reduction +operations: +.ls o +Line identification. +.le +.ls o +Dispersion solution. +.le +.ls o +Dispersion correction. The data is interpolated and rewritten to +a user defined dispersion scale (linear, log lambda, etc., in units of +angstroms, wave number, inverse cm., etc.). +.le +.ls o +Flux calibration. +.le +.ls o +Coincidence correction. +.le +.ls o +Atmospheric extinction correction. +.le +.ls o +Merging of spectra (i.e., Echelle orders), to form a single +spectrum. +.le +.le +.ls (8) +Analysis functions shall include at least the following: +.ls o +Velocity measurement of individual lines. +.le +.ls o +Velocity measurement by cross-correlation. +.le +.ls o +Continuum estimator. +.le +.ls o +Intensity measurement. Equivalent width via aperture integration, +profile fitting, pseudo-filter. +.le +.ls o +Analytical and empirical generation of line profiles. Modeling of +line profiles. +.le +.ls o +Deconvolution of blended lines. +.le +.ls o +Fourier transforms, power spectrum, filtering, etc., mostly via the standard +routines in the IMAGES package. +.le +.le +.ls (9) +The package shall be able to handle spectra up to several million +pixels in length. +.le +.ls -5 (10) +Canned reduction procedures shall be provided for the following +KPNO instruments: +.ls o +IIDS, IRS +.le +.ls o +McMath FTS +.le +.ls o +4-Meter FTS +.le +.le + +The ONEDSPEC package will be one of the most heavily used packages in +the system, and should be sufficiently general to handle the reduction +and analysis of one dimensional spectra from a variety of instruments. +.le + +.sh +3.15 Package SOFTOOLS + + Software tools. A collection of tools used to develop and maintain +software systems. +.ls +.ls (1) +The following tools shall be provided: +.ls o +A compiler for the SPP language. +.le +.ls o +A portable, general purpose editor (probably the "tools" editor, +converted as required for IRAF). +.le +.ls o +Tools for making, updating, and accessing archives. +.le +.ls o +A simplified IRAF version of the MAKE utility (required to automatically +generate packages on non-UNIX systems). +.le +.ls o +The SYSGEN utility, used to maintain the IRAF system. +.le +.ls o +A utility which lists the names of all procedures and commons +defined in a set of SPP source files on the standard output. +.le +.ls o +A utility which compares a list of external identifiers with those used +in the IRAF libraries, and passes the names of only those identifiers which +redefine library routines (if any). +.le +.ls o +A utility which produces a cross reference list for the SPP source +files in a package. +.le +.le +.ls (2) +All tools shall be written in the SPP language as standard CL callable +IRAF tasks, and shall be as transportable as possible. +.le +.le + +.sh +3.16 Package NSURFBRT (to be renamed) + + Digital surface brightness analysis of extended objects, such as +galaxies. +.ls +.ls (1) +The main function of the package shall be to fit ellipses to the isophotes +of extended objects (galaxies), without artificially constraining the +center, position angle, or ellipticity of the fitted curves. +.le +.ls (2) +Output shall consist of a set of isophotes, defining the shape, orientation, +magnitude, and position of the object as a function of major and minor +axis radius. +.le +.ls (3) +The fitting routine shall optionally be able to detect contaminating +objects such as stars, and exclude them from the fit. +.le +.ls (4) +All analysis routines shall be usable either interactively or in batch +mode, processing an indefinitely large list of objects. +.le +.ls (5) +All analysis procedures shall exclude bad pixels from the fit. +.le +.ls (6) +Accurate estimates of the uncertainties of all calculated parameters +shall be computed. +.le +.ls (7) +Graphics utilities shall be provided for producing contour like plots +of the fitted isophotes, for plotting radial profiles, ellipticity +gradients, migration of the major axis, and so on. +.le +.ls (8) +Output from the main analysis routine shall be in the form of a +table printed on the standard output, permitting use of the standard +list processing utilities for general analysis, and of the card image +utilities for data export. +.le +.le + +.sh +3.17 Package SYSTEM + + The SYSTEM package shall provide general purpose routines for file +manipulation and status, directory listing, device allocation and +deallocation, time and date, and so on. +.ls +.ls (1) +The following functions shall be provided: +.ls o +Allocate a device (i.e., magtape). +.le +.ls o +Deallocate a previously allocated device. +.le +.ls o +Print status information for an allocatable device. +.le +.ls o +Clear the terminal screen. +.le +.ls o +Beep the terminal (useful for wakeup after a long command or command +sequence). +.le +.ls o +Concatenate a list of files. +.le +.ls o +Copy a file, copy a list of files to a directory. +.le +.ls o +Delete a file or files. +.le +.ls o +List the names of the files in the current directory, in one or more named +directories, or just give information about one or more named files. +A short form shall be provided, wherein only the name of the file is given. +A long form shall also be provided, giving the name, access and delete +permissions, file type (text or binary), file size, date of last modify, +and so on for each file in the list. +.le +.ls o +Summarize the amount of disk space currently available. +.le +.ls o +Echo command line arguments on the standard output (which can be redirected +to do useful things). +.le +.ls o +Print the first few lines of a file or files. +.le +.ls o +Print the last few lines of a file or files. +.le +.ls o +Page through a file or files, pausing at the end of each screen of text. +.le +.ls o +Print a file or files on the standard line printer device. +.le +.ls o +Protect a file or files from deletion, accidental or otherwise. +.le +.ls o +Remove protection from a file or files. +.le +.ls o +Rename a file, or move a list of files to a different directory. +.le +.ls o +Print information on who is using the system, what they are doing, +how much cpu time, etc., they have used, and so on. +.le +.ls o +Tee the standard output. +.le +.ls o +Print the time and date on the standard output. +.le +.ls o +Type the contents of a text file or files on the standard output. +.le +.ls o +Change the current directory. +.le +.le +.ls (2) +Some of these routines will necessarily be machine dependent. +.le +.ls (3) +Whenever possible, a routine will be set up to operate either on a list +of files specified by pattern matching, or to read from the standard +input if so directed on the command line. +.le +.ls (4) +All routines which operate on files shall accept either virtual file +names, which are machine independent, or operating system dependent +pathnames. +.le +.ls (5) +It shall be possible, at the discretion of the user, for a newly created +file to silently clobber an existing file of the same name; otherwise, +the system will refuse to clobber an existing file (the routine will +abort and an explicit delete will be required). +.le +.le + +.sh +3.18 Package TWODSPEC + + Two dimensional spectral reduction and analysis. A set of general purpose +packages, with separate canned procedures for reducing the data from standard +KPNO two dimensional spectrographic instruments. Two main subpackages +shall be provided: (1) MULTISPEC, which fits and extracts one dimensional +spectra from two dimensional images, and (2) LONGSLIT, which reduces +true two dimensional spectra (the names of these packages may change). +.ls +.ls (1) +The main function of the MULTISPEC package shall be to extract flattened +one dimensional spectra from two dimensional images. The following +functions shall be provided: +.ls o +Production of flat field frames by fitting quartz calibration images. +.le +.ls o +Flat field correction of multispectral data. +.le +.ls o +Cleaning of the spectra. +.le +.ls o +Extraction of the individual object spectra for further processing in +ONEDSPEC. +.le +.le +.ls (2) +It shall be possible to extract blended spectra via deconvolution +techniques. +.le +.ls (3) +It shall be possible to extract spectra superimposed on a slowly varying +background. +.le +.ls (4) +It shall be possible to accurately fit spectra even though the PSF +varies slowly over the image. +.le +.ls (5) +It shall be possible to reliably and accurately trace spectra +in the presence of geometric distortions (pincushion, s, shear, etc.). +.le +.ls (6) +It shall be possible to compute the residual of the data image minus +the fitted image, to evaluate the quality of the fit. +.le +.ls (7) +The program shall compute accurate estimates of the uncertainties in the +fitted parameters. +.le +.ls (8) +The routines in the MULTISPEC package shall be general purpose, i.e., +not tied to the data from any particular instrument. +.le +.ls (9) +Canned procedures which are instrument specific shall be provided for +the reduction of data from the following KPNO instruments: +.ls o +Multiaperture CRYOCAM. +.le +.ls o +Multiaperture HGVS. +.le +.ls o +Echelle. +.le +.le +.le + +The LONGSLIT package shall reduce true two dimensional spectrographic +data. The primary input is a flattened two dimensional spectrum +(wavelength versus arcseconds on the sky), and various spectral and flux +calibration images. The primary output is a distortion corrected, +sky subtracted one or two dimensional spectrum. The LONGSLIT package +shall also provide a two dimensional spectral analysis capability. + +The LONGSLIT package shall provide the following reduction functions: +.ls +.ls (1) +Geometric distortion mapping. The basic procedure is as follows: +.ls o +A stellar-like object frame or (fully resolved) multislit frame is traced +to determine the distortion in the cross dispersion direction. +.le +.ls o +A full slit arc frame is traced to determine the distortion along the +direction of the dispersion. +.le +.le +.ls (2) +Line identification. Given an arc frame to be used to perform the +dispersion solution, identify the individual arc lines, assign wavelengths, +and generate a line list to be used for the dispersion solution. +.le +.ls (3) +Dispersion solution. It shall be possible to determine the two dimensional +dispersion for the image (wavelength versus x,y) by fitting a full slit +arc frame, or by analysis of selected regions of an arc frame. +.le +.ls (4) +Remove geometric distortions and correct the dispersion. A transformation +table shall be prepared and used to drive the geometric distortion routine +provided by the IMAGES package. +.le +.ls (5) +It shall be possible to remove only the geometric distortions, or to both +remove geometric distortions and correct the dispersion scale. The user +shall be able to specify the following parameters for the output dispersion: +.ls o +Starting and ending wavelength. +.le +.ls o +Dimensions of the output spectrum in pixels. +.le +.ls o +Type of output dispersion curve desired (same dispersion, linear, +log lambda, etc.). +.le +.le +.ls (6) +Slit correction. The slit function is determined by fitting a polynomial +to an arc line or lines, and used to produce a calibration frame. +The slit function is then removed by an arithmetic operation (this can +all be done with standard IMAGES procedures). +.le +.ls (7) +Sky subtraction. A smooth sky image is prepared and subtracted from the +data (this can all be done with standard IMAGES procedures). +.le +.ls (8) +Flux calibration. A standard star spectrum is reduced to a one dimensional +spectrum, flux calibrated by ONEDSPEC, and the result is used to calibrate +one or more two dimensional spectra. This requires the following +operators: +.ls o +Convert a two dimensional spectrum into a one dimensional spectrum in +ONEDSPEC format. +.le +.ls o +Generate a dummy one dimensional ONEDSPEC spectrum which is subsequently +calibrated by ONEDSPEC. +.le +.ls o +Use the calibrated dummy spectrum to flux calibrate one or more two dimensional +spectra. +.le + +The two-to-one conversion routine may also be used if one dimensional output +spectra are desired. +.le +.ls (9) +Canned procedures are required to perform the above reductions for the +following KPNO instruments: +.ls o +Multislit (final output is normally one-dimensional dispersion corrected, +sky subtracted spectra). +.le +.ls o +Long slit spectrographs (output is usually true two dimensional, +dispersion and distortion corrected, sky subtracted spectra). +.le +.le +.le + +In addition to the LONGSLIT reduction procedures, the following two dimensional +spectral analysis procedures are required: +.ls +.ls (1) +A two dimensional continuum estimator. +.le +.ls (2) +A routine to trace emission or absorption lines, computing line center, +radial velocity, and equivalent width across the dispersion. +.le +.ls (3) +The line tracing procedure shall be able to trace faint lines out into +the sky, and shall be able to deconvolve blended lines. +.le +.ls (4) +A frequency domain cross-correlation routine is required to compute +radial velocity across the dispersion, using all spectral information +within a user specified range of wavelengths. +.le +.le + +.sh +3.19 Package UTILITIES + + Miscellaneous utilities. Includes routines for precession, computing +airmass, making finding charts, and so on. + +.sh +3.20 Special Packages + + The discussion has thus far been limited to those IRAF packages which +are expected to be of general interest to astronomers (and others) around +the country and the world, and which should therefore be included in the +general distribution. In addition, other packages will be developed in +the IRAF which will probably be used only at KPNO. Example are the HOLES +program and the Vacumn Telescope reductions package; there are probably +other similar packages which I cannot remember at the moment. I expect that +many special purpose packages will ultimately be developed by the staff +that do not make it into the general distribution. + +.sh +4. Correspondence of existing KPNO software to IRAF Packages + + In this section we go through Harvey and Jeannettes memo of July 1, 1983, +and describe how the functionality provided by each existing KPNO program or +system is provided by the IRAF package structure outlined above. + +.nf + Index Old Program IRAF Package + + 4M PF photography + + I.A.1 PDSLIB dataio + I.A.2 DTOI dtoi + I.B.1 ASTRO astrometry + I.B.2 IPPS IRAF + I.B.3 RICHFLD digiphot + I.B.4 AUTOPHOT digiphot + I.B.5 SURFBRT nsurfbrt + I.B.6 GRASP nsurfbrt + I.B.7 FOCAS focas + I.B.8 MPC digiphot + + 4M PF / 1-0.9 CCD + + II.A.1 DEBIAS,FPS,FGEN,MEDIAN imred + II.A.2 CCDPROC imred + II.B.* (analysis) (all image packages) + + Video Camera + + III.A.1 VIDCAM imred + III.A.2 PROCESS imred + III.A.4 DIODE,DISTORT imred + III.B (analysis) (all image packages) + + IIDS/IRS + + IV.A.1 IDS(IPPS) onedspec + IV.A.2 REDUCE(varian) onedspec + IV.B.1 IDS(analysis) onedspec + IV.B.2 TV onedspec + + RC / White Spectrograph, Long Slit + + V.A.1 PDSLIB dataio + V.A.2 RV twodspec.longslit + V.B.1 RV twodspec.longslit + V.B.2 FOURIER twodspec.longslit + + ICCD, Long Slit + + VI.A.1 HGVS imred + VI.B.1 RV twodspec.longslit + VI.B.2 FOURIER twodspec.longslit + + Cryo Cam, Long Slit + + (same as ICCD) + + Cryo Cam, Multi-Aperture Data + + VIII.A.1 HOLES twodspec + VIII.A.2 MAP twodspec.multispec + VIII.A.3 TV onedspec + VIII.B.1 TV onedspec + + Echelle, Photographic + + IX.A.1 PDSLIB, DTOI dataio, dtoi + IX.A.2 FASTSCAN twodspec.multispec + IX.A.3 ECHORD,TRACE twodspec.multispec + IX.B.1 ATLAS,WIDTH (no plans at present) + IX.B.2 MOOG (no plans at present) + IX.B.3 DECOMP onedspec (perhaps) + + Echelle, CCD + + X.A.1 ECH imred + X.B.1 TV onedspec + + FTS instruments + + XI.A.1 GRAMMY onedpsec + XI.A.2 FTSER onedpsec + XI.A.3 REDUCER onedspec + XI.A.4 ATLAS (no plans at present) + + IR and Visible Photometers + + XII.A.1 Hbeta, 4COLOR, etc. filterphot + + Coude, photographic + + XII.A.1 PDSLIB dataio + XII.A.2 SPEC1,2,5 onedspec + XII.A.3 DISP,DISP5 onedspec + XII.B.1 (analysis) onedspec + + Coude, CCD + XIV.A.1 SPECRED imred + XIV.A.2 fourier fitting imred + XIV.B (analysis) onedspec + + McMath Spectrograph + + XV.A.1 REDUCER onedspec + XV.A.2 DECOMP onedspec, maybe + XIV.B (analysis) onedspec +.fi +.endhelp -- cgit