	NMISC -- Package of NOAO miscellaneous tasks

This external package contains NOAO developed tasks which by themselves are
too minor to form their own external package.  These tasks are made available
in this package prior to distribution as part of the standard IRAF core
system or NOAO package.  Thus the contents of this package will vary
with time.  The current contents of the package are:

-- Beta version tasks for creating and using pixel masks --
        ccdmask - Create a pixel mask from a CCD image
         fixpix - Fix pixels defined by a pixel mask
      text2mask - Convert text description to pixel mask

-- Focusing and PSF measuring tasks --
      kpnofocus - Determine the best focus from KPNO focus images
     psfmeasure - Measure PSF sizes from stellar images
      specfocus - Determine spectral focus and alignment variations
      starfocus - Determine direct focus variations from stellar images

-- New version with additional FWHM measurements from the V2.11 TV package --
   newimexamine - IMEXAMINE with new FWHM measurements

-- New task from the V2.10.4 IMAGES package --
      xregister - Register 1-D pr 2-D images using x-correlation techniques

Below is a revision log for tracking the changes to this package.


		RELEASE INFORMATION

===============================================================================
Archive 1/18/00: v12-p6
    Removed tasks which are already in the standard IRAF release.  These
    are surfit, astcalc, nsplot, and the automatic identify tasks.
===============================================================================
Archive 10/7/98: V12-p5
    One bug fix for profile fitting used in STARFOCUS and PSFMEASURE.
===============================================================================
Archive 10/3/97: V12-p4
    Various minor bug fixes.
    Binaries are linked statically against the V2.11 libraries.
===============================================================================
Archive 10/24/96: V12-p3
    Fixed a bug in fitting the parabola in STARFOCUS and KPNOFOCUS.  This
    caused unstable values or crashes if the focus values were too large.
===============================================================================
Archive 8/29/96: V12-p2
    Fixed a bug affecting STARFOCUS, PSFMEASURE, and KPNOFOCUS in which
    a pixel scale other than 1 could produce incorrect results.

    mkpkg will now create architecture directories if not present.
===============================================================================
Archive 4/12/96: V12-p1
    Fixed a minor datatype mismatch in order to compile on Dec/Alpha.
===============================================================================
Archive 4/4/96: V12
    1.	Fixed problem with the automatic identification tasks that did not
	allow them to be applied to absorption lines.
    2.  Changed filename and procedure names to avoid library name conflict.
    3.  NEWIMEXAME has Moffat profile fitting and iterative radius adjustment.
    4.  PSFMEASURE, STARFOCUS, KPNOFOCUS have Moffat profile fitting and
	various improvements.
===============================================================================
Archive 2/5/96: V11

    New version of SPLOT which includes Lorentzian and Voigt profile
    fitting and deblending.

    New and revised tasks from the V2.11 spectroscopy packages are
    AIDENTIFY, AREIDENTIFY, AUTOIDENTIFY, AIDPARS.  These tasks use
    a new automatic line identification algorithm.  The particular
    features are the 'b' key in AIDENTIFY (a version of IDENTIFY)
    the new task AUTOIDENTIFY, and new automatic zeropoint shift
    step in AREIDENTIFY (a version of REIDENTIFY).

    New tasks from the V2.11 ASTUTIL package are ASTCALC and ASTRADIUS.
    ASTCALC is an astronomical calculator which can be used interactively
    or from a command file, can take input from images, text files, and
    CL parameters, and has many astronomical functions.  ASTRADIUS uses
    ASTCALC to compute the spherical distance of images containing
    coordinates from a specified point in the sky and prints the images
    which are within a specified radius.
===============================================================================
Archive 11/21/95: V10

    A new version of IMEXAMINE with new algorithms to measure the FWHM
    of objects.  This is the version currently slated for V2.11.

    Changed the centering routine in STARFOCUS/PSFMEASURE to only use the
    data in the specified radius rather than the extended region including
    the sky.
===============================================================================
Archive 6/26/95: V9

    1.  STARFOCUS, PSFMEASURE, KPNOFOCUS now check to see if the image is
	already displayed independent of the image extension.
    2.  SPECFOCUS now allows an image header keyword for specifying the
	focus.  This previously did not work as intended.
    3.	Prototype version of tasks to create a mask from CCD flat fields
	and apply it to data.

===============================================================================
Archive 10/28/94: Eighth release for changes noted below.

    Added saturation and ignore_sat parameters to allow detecting measurements
    with saturated pixels and either discarding the measurement or flagging
    it for the output log.

===============================================================================
Archive 9/19/94: Seventh release for changes noted below.

    Added an "iteration" parameter that, if greater than 1, uses the
    previous FWHM estimate to adjust the "radius" parameter.

    The interpretation of the focus parameter in STARFOCUS did not
    work properly.
===============================================================================
Archive 5/9/94: Sixth release for changes noted below.

    KPNOFOCUS now prints a little description of which stars to mark.
    This is a very minor change intended to avoid errors when used
    on Kitt Peak by new users.  Also a typo in the message printed
    by STARFOCUS was fixed.
===============================================================================
Archive 3/4/94: Fifth release for changes noted below.

    1. The xregister tasks for registering lists of images using 1 and 2 D
       x-correlation techniques was added to the package in order to make
       it available to users prior to the iraf 2.10.3 release. Xregister will
       eventually reside in the images package. 
    2. The surfit tasks for fitting surfaces to (x,y,z) data and producing
       an image was added to the package in order to make it available to
       users prior to the 2.10.3 release. Surfit will enventually reside
       in the utilities package.
===============================================================================
Archive xx/xx/xx: Fourth release for changes noted below.

    1.  A new parameter, fstep, was added to STARFOCUS to allow specifying
	the focus sequence as a starting value, by the focus parameter,
	and a step.
    2.  STARFOCUS was modified to allow specification of header keywords
	for the focus (this was true previously), the focus step,
	the number of exposures, and the multiple exposure shift.
	This allows multiple exposure images to be completely header
	drivien if the appropriate keywords are present.
    3.  A new task KPNOFOCUS was added.  This is a script calling
	STARFOCUS with parameters set specifically for Kitt Peak
	headers containing the focus parameters in the header.
	Many of the parameters are fixed in the script and the task
	parameters are then simpler.
    4.  STARFOCUS/PSFMEASURE were modified to search all display frames
	for the requested image rather than just frame 1.
    5.  A new parameters, frame, was added to STARFOCUS/PSFMEASURE
	to specify the display frame to load if necessary.  Previously
	it was always frame 1.
    7.  In STARFOCUS the default number of steps was changed to 7 and
	the default step size to 30.
    8.  Added a prompt for interactive display marking.
===============================================================================
Archive 10/23/93: Third release for changes noted below.

    1.  The background estimation in STARFOCUS/PSFMEASURE could be
	systematically low for integer type data.
    2.  The output was reordered so the final answer is last.
===============================================================================
Archive 7/7/93:  Second release
    Beta testing for STARFOCUS/PSFMEASURE
    Please send comments to iraf@noao.edu

    Two new tasks have been added for measuring the width of stellar
    objects. One is PSFMEASURE and the other is STARFOCUS.  The latter
    includes capabilities for analyzing focus variations.  (7/25/93, Valdes)
===============================================================================
Archive 10/27/92:  First release consisting of just SPECFOCUS.
===============================================================================


	INSTALLATION INSTRUCTIONS FOR THE NMISC PACKAGE

The installation instructions that follow assume that you have copied the
tar format NMISC archive onto your host machine.  The method you use to
copy the file (or remotely access the tar file) is OS dependent and is not
discussed in this document.  If you have any questions, please contact the
IRAF group at iraf@noao.edu,  NOAO::IRAF (5355::IRAF) or call the IRAF
HOTLINE at 602-323-4160.

[1] The package is distributed as a tar archive; IRAF is distributed
    with a tar reader.  The tar archive may be obtained by magnetic
    tape or anonymous ftp.  For magnetic tape go to step [2] and when
    reading the tar archive simply mount the tape and use the tape
    device name for the archive name in step [4].  To obtain the package
    via ftp (assuming a UNIX computer):

	% ftp iraf.noao.edu (140.252.1.1)
	login: anonymous
	password: [your email address]
	ftp> cd iraf/extern
	ftp> get nmisc.readme
	ftp> binary
	ftp> get nmisc.tar.Z
	ftp> quit
	% uncompress nmisc.tar

    The nmisc.readme file contains these instructions.  Special arrangements 
    can be made for sites that don't have access to internet but could copy 
    the uncompressed archive over SPAN.

[2] Create a directory to contain the NMISC external package files.  This
    directory should be outside the IRAF directory tree and must be owned
    by the IRAF account.  In the following examples, this root directory is
    named usr1:[nmisc] (VMS) or  /local/nmisc/ (UNIX).  Make the
    appropriate file name substitutions for your site.

[3] Log in as IRAF and edit the extern.pkg file in the hlib$ directory to
    define the package to the CL.  From the IRAF account, outside the CL,
    you can move to this directory with the commands:

	$ set def irafhlib	# VMS example
	% cd $hlib		# UNIX example

    Define the environment variable nmisc to be the pathname to the
    nmisc root directory.  The '$' character must be escaped in the VMS
    pathname; UNIX pathnames must be terminated with a '/'.  Edit
    extern.pkg to include:

	reset nmisc	= usr\$1:[nmisc]   	# VMS example
	reset nmisc  = /local/nmisc/		# UNIX example
	task  $nmisc.pkg = nmisc$nmisc.cl

    Near the end of the hlib$extern.pkg file, update the definition of helpdb
    so it includes the nmisc help database, copying the syntax already used
    in the string.  Add this line before the line containing a closing quote:
        
                ,nmisc$lib/helpdb.mip\

    NOTE: In IRAF V2.8 the length of the helpdb string cannot exceede 160 
    characters.  A helpdb string longer than 160 characters will cause the
    CL startup process to fail.

[4] Log into the CL from the IRAF account and unpack the archive file.  Change
    directories to the nmisc root directory created above and use 'rtar':

	cl> cd nmisc
	cl> softools
	cl> rtar -xrf <archive>  where <archive> is the host name of the
				 archive file or the IRAF tape
				 device for tape distributions.

   On VMS systems, an error message will appear ("Copy 'bin.generic' to
   './bin fails") which can be ignored.  Also on VMS systems, the four
   bin.'mach' directories created by rtar under [nmisc.bin] can be
   deleted.  UNIX sites should leave the symbolic link 'bin' in the NMISC
   root directory pointing to 'bin.generic' but can delete any of the 
   bin.`mach' directories that won't be used.  The archive file can be
   deleted once the package has been successfully installed.

[4a] FOR DEC ALPHA OSF/1 (V2.10.3-V2.10.4):
    Due to an error in the distribution two object libraries required
    to build the NMISC package were packed away.  These must be
    recovered.  You only need to do this if the NOAO package is
    not configured for software development, which will be the majority
    of systems.  To check type:

	cl> dir noaolib$*.a

    If no files are found then:

	cl> path noaobin$
	lyra!/iraf/iraf/noao/bin.alpha/		# Find the directory
	cl> !zcat /iraf/iraf/noao/bin.alpha/OBJS.arc|rtar -x lib/libsmw.a \
	>>> lib/libasttools.a

[5] Check for a binary directory for the system you are building;
    i.e. bin.sparc, bin.ssun, bin.linux, bin.alpha, etc.
    If it is not there create it with (for example):

	cl> mkdir bin.dmip

[6] When the archive has been unpacked, build the NMISC package executable.  
    The compilation and linking of the NMISC package is done using the
    following commands:

	For V2.10-V2.10.2 IRAF
	    cl> mkpkg -p nmisc -p noao old >& nmisc.spool &
	For V2.10.3-V2.10.4 IRAF
	    cl> mkpkg -p nmisc -p noao update >& nmisc.spool &

    NOTE: On systems that concurrently support different architectures
    (e.g., Suns, Convex), you must configure the system for the desired
    architecture before issuing the above command.  SUN/IRAF sites must
    execute a pair of 'mkpkg' commands for each supported architecture type.
    The Unix environment variable IRAFARCH must be set as well before
    compiling.  For example:

	# Assuming IRAFARCH is set to ffpa
	cl> mkpkg -p nmisc -p noao ffpa
	cl> mkpkg -p nmisc -p noao update >& nmisc.ffpa &
	cl> mkpkg -p nmisc -p noao f68881
	# Now reset IRAFARCH to f68881 before continuing
	cl> mkpkg -p nmisc -p noao update >& nmisc.f68881 &

    The spool file(s) should be reviewed upon completion to make sure there
    were no errors.  


INSTALLATION AS PART OF A LOCAL PACKAGE

To make the `extern' package (rooted under the local package) you must:

    1)	add the package references to the file local$lib/extern.pkg

    2)	% setenv extern 'local$extern/'

prior to doing a `mkpkg -p extern -p noao'.  The unix environment definition
can be added to the file local$SOURCEME which can be sourced to define
all the local external packages for software development.

All other behavior (for an external package) should be normal.
