	IMMATCHX -- Package of Image Matching and Image Coordinates Tasks
	     Revisions Summary and Installation Instructions


The new immatchx package contains those tasks in images.imcoords and
images.immatch which have had major bug fixes or enhancements since 2.11.3
was released. Two new tasks ccget and ccstd are also included. The current
package menu looks like:

    ccfind - Generate a matched coordinate list using image wcs information
     ccget - Extract objects from a text file catalog
     ccmap - Compute image plate solutions using matched coordinate lists 
  ccsetwcs - Create an image wcs from the plate solution
     ccstd - Transform from astrometric standard coordinates
    cctran - Transform from x-y to ra-dec and vice versa using plate solutions
 ccxymatch - Match celestial and pixel coordinate lists using various methods
    geomap - Compute geometric transforms using matched coordinate lists
  imcctran - Transform from one image celestial wcs to another
  psfmatch - Match the point-spread functions of 1-D or 2-D images
  skyctran - Transform coordinate lists from one celestial wcs to another
skyxymatch - Generate matched x-y lists using image celestial wcs information
 xregister - Register 1-D or 2-D images using x-correlation techniques


	 Revisions Summary

-------------------------------------------------------------------------------
Archive: October 17, 2001

XREGISTER
    Added the xregister task to the package. Multiple x-correlation regions
    were not being handled properly in interactive mode the the version
    included here fixes that problem.


-------------------------------------------------------------------------------
Archive: July 20, 2001

CCMAP
    Fixed a bug in the ccmap task refpoint = "coords" option that could
    produce an erroneous reference point estimate if the input coordinates
    spanned the right ascension = 0 hours point due to coordiate wrap
    around.

-------------------------------------------------------------------------------
Archive: May 15, 2001

PSFMATCH
    Added the psfmatch task to immatchx in order to: 1) fix a floating point
    error in the replace algorithm gaussian fitting routine that occurs if the
    argument to the log function is exactly zero, 2) fixed a symmetry error in
    the convolve routine that produces a "corrected" psf that is flipped in x
    and y from what it should be if the psf matching kernel does not have
    mirror symmetry. The matching kernel was and is correct and can be used
    directly with the fconvolve task. The kernel produced by the old
    psfmatch task must be created and rotated  180 degrees before being
    applied by psfmatch.

-------------------------------------------------------------------------------
Archive: January 5, 2001

GEOMAP, CCMAP
    Added a new maxiter parameter to the geomap and ccmap tasks. Maxiter
    controls the number of iterative rejections. Its default values is 0
    for no rejection. The default value of the geomap and ccmap reject
    parameter has been changed to 3.0

-------------------------------------------------------------------------------
First Release: October 13, 2000
-------------------------------------------------------------------------------

CCGET
    The new task ccget was added to the immatchx package. Given a position and
    region size ccget can extract al list of objects from a text file catalog
    such as the Landolt star catalog.

CCSTD
    The new task ccstd was added to the immatchx package. Ccstd converts
    from celestial and pixel coordinate to the standard astrometric
    coordinates and vice versa. Ccstd can compute standard coodinates in
    either Cartesion (the default) or polar coordinates.

CCMAP, GEOMAP
    Added the :order command to geomap and ccmap so that users can can
    change all the order parameters at once. 

    Fixed a segmentation violation bug in ccma and geomap that could occur
    if there are too few points to obtain a fit and the verbose switch is
    set to yes.

IMCCTRAN
    Added support for doing image header celestial coordinate transformations
    accurately for non-zenithal projections. Added the parameter longpole to
    the imcctran task. If longpole=yes coordinate transformations for the
    zenithal projections will be handled by modifying longpole and latpole
    not the CD matrix. Users should realize that support for FITS LONGPOLE
    and LATPOLE keywords is still not fully implemented however.

MWCS
    The CAR, MER, PCO, GLS, PAR, AIT, CSC, QSC, and TSC function drivers
    contained a degrees to radians conversion error for longitude < 180
    and latitude < 90. This has been fixed with the Gemini patch. Private
    versions of the corrected routines have been included in IMMATCHX
    and can be linked in as described below.

SKYWCS
    Incorrect values for the epoch of observation were being computed
    and printed by tasks like skyctran and imcctran if: 1) the input
    coordinate system was being read from an image,  and 2) the input
    coordinate system was galactic. The problem was that the epoch was
    being converted to MJD twice instead of once resulting in strange
    epoch values. Unless a proper motion correction was being computed
    this problem should have little practical effect although it is
    disturbing to see odd units in the file headers.

------------------------------------------------------------------------------


	Standard Installation Instructions For The Immatchx Package

Installation of this external package consists ofobtaining the files, creating
a directory containing the package, compiling the executables or installing
precompiled executables, and defining the environment to load and run the
package. The package may be installed for a site or as a personal installation.
If you need help with these installation instructions contactiraf@noao.edu or
call the IRAF HOTLINE at 520-318-8160.

[arch]
    In the following steps you will need to know the IRAF architecture
    identifier for your IRAF installation. This identifier is similar
    to  the host operating system type. The identifiers are things like
    "ssun" for Solaris, "alpha" for Dec Alpha, and "linux" or "redhat"
    for most Linux systems. The IRAF architecture identifier is defined
    when you run IRAF. Start the CL and then type
    
        cl> show arch
        .ssun
    
    This is the value you need to know without the leading '.',  i.e.
    the IRAF architecture is "ssun" in the above example.

[1-site]
    If you are installing the package for a site login as IRAF and edit
    the IRAF file defining the packages.
    
        % cd $hlib
    
    Define the environment variable immatchx to be the pathnames to the
    immatchx package root directory and the instrument database. The '$'
    character must be escaped in the VMS pathname and UNIX pathnames must
    be terminated with a '/'.  Edit extern.pkg to include the following.
    
        reset immatchx = /local/immatchx/
        task  immatchx.pkg = immatchx$immatchx.cl
    
    Near the end of the hlib$extern.pkg file, update the definition of
    helpdb so it includes the immatchx help database, copying the syntax
    already used in the string. Add this line before the line containing
    a closing quote:
    
        ,immatchx$lib/helpdb.mip\

[1-personal]
    If you are installing the package for personal use define a host
    environment variable with the pathname of the  directory  where  the
    package will be located (needed in order to build the package from
    the source code).  Note that  pathnames  must  end  with  '/'.   For
    example:
    
        % setenv immatchx /local/immatchx/
    
    In your login.cl or loginuser.cl file make the following definitions
    somewhere before the "keep" statement.
    
        reset immatchx = /local/immatchx/
        task  immatchx.pkg = immatchx$immatchx.cl
        printf ("reset helpdb=%s,immatchx$lib/helpdb.mip\nkeep\n",
            envget("helpdb")) | cl
        flpr
    
    If you will be compiling the package, as  opposed  to  installing  a
    binary  distribution,  then  you  need to define various environment
    variables.   The  following  is  for  Unix/csh  which  is  the  main 
    supported environment.
    
        # Example
        % setenv iraf /iraf/iraf/             # Path to IRAF root (example)
        % source $iraf/unix/hlib/irafuser.csh # Define rest of environment
        % setenv IRAFARCH ssun                # IRAF architecture
    
    where   you  need  to  supply  the  appropriate  path  to  the  IRAF 
    installation root in  the  first  step  and  the  IRAF  architecture
    identifier for your machine in the last step.

[2] Login  into  IRAF.   Create a directory to contain the package files
    and the  instrument  database  files.   These  directory  should  be
    outside the standard IRAF directory tree.
    
        cl> mkdir immatchx$
        cl> cd immatchx

[3] The  package is distributed as a tar archive of sources. Note that IRAF
    includes a tar reader. The tar file is most commonly obtained via anonymous
    ftp. Below is an example from a Unix machine where the compressed files
    have the ".Z" extension. Files with ".gz" or ".tgz" can be handled
    similarly.
    
        cl> ftp iraf.noao.edu (140.252.1.1)
        login: anonymous
        password: [your email address]
        ftp> cd iraf/extern
        ftp> get immatchx.readme
        ftp> binary
        ftp> get immatchx.tar.Z
        ftp> quit
        cl> !uncompress immatchx.tar.Z
    
    The readme file contains these instructions. The <arch> in the optional
    executable distribution is replaced by the IRAF architecture identification
    for your computer.
    
[4] Extract the source files from the tar archive using 'rtar".
    
        cl> softools
        so> rtar -xrf immatchx.tar
        so> bye
    
    On some systems, an error message will appear  ("Copy  'bin.generic'
    to  './bin  fails")  which  can  be ignored.  Sites should leave the
    symbolic link 'bin'  in  the  package  root  directory  pointing  to
    'bin.generic'  but can delete any of the bin.<arch> directories that
    won't be used.  If there is no binary directory for the  system  you
    are  installing  it  will  be  created  when the package is compiled
    later or when the binaries are installed.
    
    If the binary executables have been obtained these are now extracted
    into the appropriate bin.<arch> directory.
    
        # Example of sparc installation.
        cl> cd immatchx
        cl> rtar -xrf immatchx-bin.sparc      # Creates bin.sparc directory
    
The tar file can be deleted once it has been successfully installed.

[5] For a source installation you now have to build the package executable(s).
    First you configure the package for the particular architecture.
    
        cl> cd immatchx
        cl> mkpkg <arch>            # Substitute sparc, ssun, alpha, etc.
    
    This  will  change the bin link from bin.generic to bin.<arch>.  The
    binary directory will be  created  if  not  present.   If  an  error
    occurs  in  setting  the  architecture  then  you may need to add an
    entry to the file "mkpkg".  Just follow the examples in the file.
    
    To create the executables and move them to the binary directory
    
        cl> mkpkg -p immatchx update >& immatchx.spool # build executables
        cl> mkpkg generic           # optionally restore generic setting
    
    Check for errors.  If the executables are not moved  to  the  binary
    directory  then  step [1] to define the path for the package was not
    done correctly.  The last step restores the  package  to  a  generic
    configuration.   This  is  not  necessary  if you will only have one
    architecture for the package.

This should complete the installation.  You can  now  load  the  package
and begin testing and use.


	Non-Standard Installation Instructions For The Immatchx Package

To pick up the changes in the MWCS function drivers described above do the
following

[6] Repeat step 5 above but replace the command

        cl> mkpkg -p immatchx update >& immatchx.spool ...

    with

        cl> mkpkg -p immatchx wupdate >& immatchx.spool ...
