View Single Post
  #1  
Old August 10th 09, 08:54 AM posted to sci.astro.fits
Mark Calabretta
external usenet poster
 
Posts: 42
Default [fitsbits] WCSLIB 4.4


Greetings,

WCSLIB 4.4 is now available from http://www.atnf.csiro.au/~mcalabre.

The main development in this release is a doxygen-generated
programming manual which should make it easier to navigate the
WCSLIB functions and data structures. See

http://www.atnf.csiro.au/~mcalabre/W...lib/index.html

A full list of changes is appended here.

My thanks to all those who have provided feedback since v4.3
(2007/Dec).

Mark Calabretta
ATNF




WCSLIB version 4.4 (2009/08/10)
-------------------------------

* C library

- Creation of WCSLIB user manual from the header file prologues using
a special-purpose parser, doxextr, and sed scripts to generate input
for doxygen. This required minor formatting changes to all
prologues plus miscellaneous changes such as naming of arguments in
function prototypes.

- Bug fix in wcsset() that affected handling of PROJPn (deprecated)
and PVi_ma attached to the longitude (not latitude) axis. Guard
against long strings when copying the projection code. In
wcs_types(), allow for early Paper IV distortion codes (e.g.
"RA---TAN-SIP") when parsing CTYPEia.

- Use sincos() whereever possible for a ~15% speedup (patches for
cel.c, prj.c and sph.c supplied by Michael Droettboom). configure
checks for, and uses it automatically if available.

- Fixed the translation of GLS to SFL in wcsset() and celfix() when
the reference longitude and latitude are non-zero. (In the AIPS
convention, this simply translates the reference point, i.e. the map
as a whole, to those coordinates without creating an oblique grid.)

- Bug fix in prjoff(), a utility function used by the prj routines.
It forces (x,y) = (0,0) at (phi_0,theta_0) when the latter are set
by PVi_[012]a attached to the longitude (not latitude) axis. Rarely
used in practice.

- New utility function, sphdpa(), computes the distance and position
angle from a point on the sphere to a set of field points.

- In sphx2s() and sphx2s(), handle a simple change in origin of
longitude using a short-cut calculation for speed and accuracy.
Similarly in celset(), check whether phip == phi0 when computing
latp and if so use a short-cut that ensures latp == 90.0 (exactly)
if lat0 == theta0. The resulting spherical rotation then becomes a
simple change in origin of longitude. In particular, these changes
should assist PGSBOX in drawing grid lines of +/-180 longitude, to
prevent flip-flopping between one and the other.

- wcsbth() & wcspih(): resolved an inconsistency between the
documentation and code by renamimg WCSHDR_VSOURCEa as
WCSHDR_VSOURCE.

- Flex code: moved declaration of helper functions out of global
scope.

- Fixed call to wcss2p() in twcshdr.

* Fortran wrappers

- New wrapper functions:
- WCSBTH for wcsbth(),
- WCSBDX for wcsbdx(),
- CDFIX for cdfix(),
- SPHDPA for sphdpa().

- Updated WCSLEN (in wcs.inc) and added WCS_COLAX and WCS_VELANGL to
match changes to wcsprm made in v4.3 with corresponding changes to
the wrapper functions. Likewise updated TABLEN (in tab.inc) for
changes to tabprm, and added CEL_LATPREQ for celprm.

- Struct lengths are now long enough to accomodate 64-bit machines.

- Updated the flag bits for the RELAX argument in wcshdr.inc to
reflect changes to wcshdr.h made in v4.3. Renamed WCSHDR_VSOURCEa
to WCSHDR_VSOURCE for consistency with the C library.

* PGSBOX

- Improved grid labelling, particularly in minimizing the number of
fields required in sexagesimal labels.

* Utilities

- New utility program:

- wcsware extracts the WCS keywords for an image from the specified
FITS file, constructs wcsprm structs for each coordinate
representation found, and performs a variety of operations using
them.

- Old utility programs (first appeared in 4.3 but were not recorded):

- HPXcvt reorganises HEALPix data into a 2-D FITS image with HPX
coordinate system.

- wcsgrid extracts the WCS keywords for an image from the specified
FITS file and uses pgsbox() to plot a 2-D coordinate graticule for
each alternate representation found.

- fitshdr lists headers from a FITS file specified on the command
line, or else on stdin, printing them as 80-character keyrecords
without trailing blanks.

* General

- New configure options, --with-pgplotinc, --with-pgplotlib,
--with-cfitsioinc and --with-cfitsiolib allow additional directories
to be added to the library and include file search path.

- Miscellaneous fixes and improvements to the installation process.

- Generate a metadata file for pkg-config.

- Added 'make MODE=interactive check' to run the test programs in
interactive mode rather than batch.

- Merged the separate CHANGES files for C, Fortran and PGSBOX into
one (this), with a new section for utilities.


WCSLIB version 4.3.3 (2009/04/30)
---------------------------------

* C library

- fitshdr.l, wcsbth.l, and wcspih.l: use setjmp/longjmp to preempt
the call to exit() which is hard-coded in function yy_fatal_error()
supplied by flex.

- wcspih.l: if NAXIS is non-zero but there were no WCS keywords at
all in the header then create a default WCS with blank alternate
version.

* Fortran wrappers

- (No changes.)

* PGSBOX

- (No changes.)


WCSLIB version 4.3.2 (2009/03/16)
---------------------------------

* C library

- utils/GNUmakefile: create BINDIR if necessary prior to installing
utilities.

* Fortran wrappers

- (No changes.)

* PGSBOX

- (No changes.)


WCSLIB version 4.3.1 (2008/09/08)
---------------------------------

* C library

- Top-level GNUmakefile: install header files.

* Fortran wrappers

- (No changes.)

* PGSBOX

- (No changes.)