GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Starlink::AST(3) User Contributed Perl Documentation Starlink::AST(3)

Starlink::AST - Interface to the Starlink AST library

  use Starlink::AST;

  my $zmap = new Starlink::AST::ZoomMap( 2, 5, "" );
  $zmap->Set( Zoom => 5 );

  my ($xout, $yout ) = $zmap->Tran2( [1,2], [4,6], 1);

  my $fchan = new Starlink::AST::FitsChan();
  for (<DATA>) {
   $fchan->PutFits( $_, 0);
  }
  $fchan->Clear( "Card" );

  $wcs = $fchan->Read();

  tie %hash, "Starlink::AST::KeyMap";
  $hash{KEYWORD} = $value;

  $km = Starlink::AST::KeyMap->new( "" );
  tie %hash, $km;

"Starlink::AST" provides a perl wrapper to the Starlink AST library. The Starlink AST library provides facilities for transforming coordinates from one system to another in an object oriented manner. Multiple coordinate frames can be associated with a data set and it is also possible to generate automatic mappings between frames.

Coordinate frame objects can be imported from FITS headers and from NDF files.

In general the method names used in the Perl interface match the function names in the C library with the "ast" prefix dropped. Functions that require C arrays, should take references to Perl arrays. AST functions that return values/arrays now return these values/arrays onto the perl stack rather than the argument stack.

The constructor functions are now replaced with "new" methods in the relevant class. e.g rather than calling astZoomMap(), the Perl interface uses the "new" method in the "Starlink::AST::ZoomMap" namespace.

The following constructors are available. Currently, these constructors match the C constructors fairly closely.

This is one area which may change when the class comes out of alpha release. The main problem with the constructors is the options string (a standard AST option string with comma-separated keyword value pairs). It would make more sense to replace these constructors with hash constructors that take the mandatory arguments in the correct order and hash arguments for the options.

Starlink::AST::Frame
Instantiate an astFrame() object.

  $frame = new Starlink::AST::Frame( $naxes, $options );
    
Starlink::AST::FrameSet
  $frameSet = new Starlink::AST::FrameSet( $frame, $options );
    
Starlink::AST::CmpFrame
  $cmpFrame = new Starlink::AST::CmpFrame( $frame1, $frame2, $options );
    
Starlink::AST::CmpMap
  $cmpMap = new Starlink::AST::CmpMap( $map1, $map2, $series, $options );
    
Starlink::AST::Channel
The astChannel contructor takes a hash argument. There are no mandatory keys to the hash. Sink and Source callbacks for the channel can be supplied using the keys "sink" and "source". All other keys are expected to correspond to attributes of the channel object (e.g. Comment, Full and Skip for astChannel).

  $chann = new Starlink::AST::Channel( %options );

  $chann = new Starlink::AST::Channel( sink => sub { print "$_[0]\n"; } );
    

The "sink" callback expects to be given a single argument as a string. The "source" callback takes no arguments and should return a single string.

Starlink::AST::FitsChan
Same calling signature as "Starlink::AST::Channel".
Starlink::AST::XmlChan
Same calling signature as "Starlink::AST::Channel". Note that xmlChan is only available for AST v3.1 and newer.
Starlink::AST::StcsChan
A "Starlink::AST::Channel" using IVOA STC-S descriptions.
Starlink::AST::GrisMap
Only available in AST v3.0 and newer.

  $grismMap = new Starlink::AST::GrisMap( $options );
    
Starlink::AST::IntraMap
Not Yet Implemented.

 $intraMap = new Starlink::AST::IntraMap( $name, $nin, $nout, $options );
    

These methods will work on all classes of AST objects.

TODO

TODO

Rather than using the "astOK" function provided to the C interface (which is not thread safe) AST errors are converted to Perl exceptions (currently croaks) which can be caught with an eval.

 + Convert AST croaks to true exceptions of class Starlink::AST::Error

 + Tidy up the interfaces to the constructors

 + Properly document the Perl interface

 + Finalise the interface

The AST library can be downloaded from http://www.starlink.ac.uk/ast

Tim Jenness <tjenness@cpan.org>

Copyright (C) 2004-2012, 2014 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

2022-05-14 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.