Starlink::AST - Perl interface to Starlink's AST library
========================================================

This module provides a Perl interface to Starlink's AST library
and 3 pluggable graphics backends that can be used in conjunction
with the AST library.

The AST library provides:

  - generic approach to attaching coordinate frames to data sets

     + if you have an array representing a spectrum in wavelength
       and another array that represents frequency, AST can resample
       one array to the other coordinate frame and allow you to add them
       together. This will work for any coordinate system so long as
       AST understands how to form the mapping. (many mappings
       are provided by default).

  - A generic plotting interface whereby you can

     + Have pluggable backends for the plotting system (currently
       PGPLOT, PLplot and Tk canvas)

     + The ability to draw annotations, great circles and marks
       in a coordinate frame most useful to you (eg sky coordinate,
       a wavelength) and have AST map that directly to the underlying
       graphics coordinate system.

**** CURRENTLY AN ALPHA RELEASE SINCE THE INTERFACE NEEDS TIDYING ****

REQUIREMENTS
------------

Has been tested with AST v1.8 onwards (AST is currently at v4.1)
and with perl 5.005 through perl 5.8.3. Also known to work on Linux,
Mac OS X, Solaris and Digital Unix.

You will need to install the AST library. See

  http://www.starlink.ac.uk/ast

INSTALLATION
------------

Assuming the ast_link command is in your path, and the AST libraries
either in a Starlink installation location or in a standard library
location:

  % perl Makefile.PL
  % make
  % make test
  % make install

NOTES
-----

The Tk canvas interface does work with limitations.
This is an early proof of concept release (although 95% of AST
is supported and the PGPLOT and PLplot interfaces do work).

AUTHOR
------

Tim Jenness <tjenness@cpan.org> with help from Alasdair Allan
(especially the PGPLOT and Tk plotting backends) and Brad Cavanagh.

Copyright (C) 2004-2005 Tim Jenness. All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place,Suite 330, Boston, MA  02111-1307, USA


HISTORY
-------

v0.04 - + Much improved Tk canvas support
        + Channel and XmlChan source functions now work properly
        + Fix return value when AST routines fail
        + AST objects can now be cloned with Storable
        + PickAxes() method now returns the frame and mapping in a list
          context
        + New constants: AST__CURRENT, AST__BASE, AST__NOFRAME
        + Add TranP() method
        + Fix compilation problem with AST v3.4.

v0.03 - Now supports AST functionality added between v3.2 and v3.5 of AST
        (if you don't have this version it will still compile with older
        versions of AST but these routines will not be available)
        + Support for Regions
        + Support for FluxFrames and SpecFluxFrames
        + Support for RateMap
        + Support for KeyMap
        + Support for DSBSpecFrame
        + astRate now returns the second derivative only if the version
           supports it
        + Add astLinearApprox (Mapping), astEscapes (Plotting),
          astPutCards (FitsChan)

v0.02 - Same as 0.01 except that now include the PLplot interface
        which was mistakenly missing from the MANIFEST

v0.01 - First release. Most methods implemented. PGPLOT and PLplot
        interfaces okay. Tk plotting interface requires work.
        **** INTERFACES MAY CHANGE AS API IS TIDIED ****
