[fitsbits] WCSLIB 4.4
Mark Calabretta
mcalabre at atnf.csiro.au
Mon Aug 10 03:54:32 EDT 2009
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/WCS/wcslib/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.)
More information about the fitsbits
mailing list