WCSLIB version 2.6 (2000/05/10) ------------------------------- * Check for invalid (x,y) in zearev(). * In wcsmath.h, guard against prior definition of PI and other preprocessor variables. WCSLIB version 2.5 (1999/12/14) ------------------------------- * Added copyright notice to header files and prefixed include guard names with "WCSLIB_". * Fixed cube face handling in wcsfwd() and wcsrev(), reported by Doug Mink (dmink@cfa.harvard.edu). Allow more general face layout in the inverse quadcube projections. * Fixed the problem in wcsmix() where it failed to find a valid solution when the solution point lay at a native pole of a projection in which the pole is represented as a finite interval. However, wcsmix() will only ever return one solution even when two or more valid solutions may exist. * wcsmix() now accepts viter in the range 5 - 10, the specified value will be pushed up or down into this range if necessary. * The projection routines for AZP, TAN, SIN, ZPN, and COP now return error 2 if (phi,theta) correspond to the overlapped (far) side of the projection. This strict bounds checking can be switched off by setting prj->flag to -1 (rather than 0) when the projections are initialized. * The upper level routines, wcsset(), wcsfwd(), wcsrev(), and wcsmix(), now recognize the NCP projection and convert it to the equivalent SIN projection. The lower level routines do not recognize NCP. * Extracted definitions of mathematical constants (PI etc.) from proj.h into wcsmath.h in order to avoid conflicts with their definition in math.h in some systems (such as Linux). * Describe the two alternate representations of the quadcube projections (i.e. faces laid out or stacked) in the prologue of wcs.c. WCSLIB version 2.4 (1996/09/23) ------------------------------- * In sinrev(), cscrev(), qscrev(), and tscrev(), return error 2 if (x,y) do not lie within the perimeter of the projection. In sinrev(), stop the computation of phi for the "synthesis" projection being applied to the pure "orthographic" case. Reported by David Berry (dsb@ast.man.ac.uk). * (Internal change) Renamed variables l <-> m in the quadcube projections to accord with standard usage (and revised WCS draft paper). WCSLIB version 2.3 (1996/06/24) ------------------------------- * Fixed two bugs in zpnset() reported by David Berry (dsb@ast.man.ac.uk). The first led to an incorrect determination of the degree of the polynomial and would mainly have affected the efficiency of zpnrev(). The second affected the determination of the boundary of the projection but would only have been significant for projections with a point of inflection between 9 and 10 degrees of the pole. * Replaced usage of alloca() in lin.c with malloc() and free() for portability as suggested by Klaus Banse, ESO (kbanse@eso.org). * Allow for C implementations which provide their own versions of cosd(), sind(), tand(), acosd(), asind(), atand(), and atan2d(). From Klaus Banse, ESO (kbanse@eso.org). * Implemented the CUBEFACE axis for quadcube projections. * Made all function prototypes const-correct. * Adapted the header files to C++ usage. * Added a new test program, twcs1, to verify closure of wcsfwd() and wcsrev(). The old twcs test program is now called twcs2. * Added external arrays of error messages indexed by function return value. For example, extern const char *wcsmix_errmsg[] for wcsmix(). Messages for the many proj.c functions are in prjfwd_errmsg[], etc. WCSLIB version 2.2 (1996/01/18) ------------------------------- * Amended the projection equations for the conics (COP, COD, COE, COO) and Bonne's projection (BON) to correctly handle southern hemisphere projections with PROJP1 < 0 (reported by Lindsay Davis, NOAO). Revised tproj1 and tproj2 to test such cases. WCSLIB version 2.1 (1995/11/17) ------------------------------- The main change of interest to programmers is that of changed argument lists for wcsfwd() and wcsrev() as described below. * The WCS linear transformations are now implemented in WCSLIB, complete with matrix inverter. The new files are lin.c, lin.h, and test program tlin.c. * Given either the celestial longitude or latitude plus an element of the pixel coordinate a new routine, wcsmix(), solves for the remaining elements by iterating on the unknown celestial coordinate element using wcsfwd(). * The high level driver routines wcsfwd(), wcsrev(), and wcsmix() now apply the full WCS algorithm chain (except for pixel regularization table), including parsing the CTYPEn header cards and computing non-celestial elements of the world coordinate. This required a change to their argument lists which now more closely reflect the sequence of algorithms applied. A new routine, wcsset(), parses the CTYPEn. * The high level driver routines of WCSLIB 1.0 are available as intermediate level drivers celset(), celfwd(), and celrev(), but note that their argument lists have been extended to return native coordinates. The related struct is now called celprm instead of wcsprm. * The reference point for conic projections is now at the midpoint of the standard parallels. The FITS header cards PROJP1 and PROJP2 now give the half-sum (midpoint) and half-difference of the latitudes of the standard parallels; previously they gave the latitudes of the standard parallels themselves. The change is reflected in this release of WCSLIB. * A bug in celset() (formerly wcsset()) which misapplied WCS draft equations 7 has been fixed (thanks to Rick Ebert IPAC/JPL and Lindsey Davis, NOAO for reporting this). This affected the computation of Euler angles for the celestial coordinate transformation for those projections which have their reference point away from the native pole. In investigating this a deficiency with the formalism was discovered which led to the introduction of a LATPOLE FITS header card which may be used to disambiguate where CRVAL1, CRVAL2, and LONGPOLE do not uniquely determine the latitude of the native pole. The celprm struct (formerly wcsprm) has been extended to accomodate LATPOLE. * Default values of LONGPOLE and LATPOLE are now supported and their use is recommended where appropriate. * Numerical precision was being lost near the native poles in the SIN, AIR, and QSC projections and this has been recovered (reported by Lindsey Davis, NOAO). Floating underflows in CSC are now avoided. * Numerical precision was also lost in certain circumstances in the spherical coordinate transformation routines and this has been fixed. * The test programs have been enhanced in various ways and the library has been validated on an SGI machine using both 32-bit and 64-bit compilers. WCSLIB version 1.0 (1995/01/31) ------------------------------- Initial release. ------------------------------------------------------------------------------ $Id: CHANGES,v 2.8 2000/05/10 04:42:09 mcalabre Exp $