SAOimage Release History December 1, 2003 - Release 1.35.1 (Doug Mink, SAO) Change p[0,1,2] initializations to p[1,2,3] in wcssubs/wcsinit.c to match proj.c (This affects constants for AZP,SIN,COP,COE,COD,COO,SZP,CEA,CYP,AIR,BON) November 18, 2003 - Release 1.35.0 (Doug Mink, SAO) Move all distortion code into distort.c, adding new initalization subroutines Include stdlib.h instead of malloc.h in lin.c for compatibility Rename wcs->naxes to wcs->naxis to match WCSLIB 3.* In iraf2fits() and irafrimage(), use image, not physical, dimensions. In iraf2fits(), set NAXISi to image dimensions, NPAXISi to physical dimensions. April 3, 2003 - Release 1.33.2 (Doug Mink, SAO) Add distortion conversion between pixel and focal plane coordinates March 27, 2003 - Release 1.33.1 (Doug Mink, SAO) Open FITS and IMH files "rb" instead of "r" for Linux compatibility Fix default center pixel computation in GetFITSWCS(); it was off by half a pixel January 6, 2003 - Release 1.32.1 (Doug Mink, SAO) Fix bug in wcsinit() which failed to read PVi_0, and now initialize PVi_j in only once place. December 6, 2002 - Release 1.32.0 (Doug Mink, SAO Fix subroutine calls for radvel and latpole and correctly compute pixel at center of image for default CRPIX in wcsinit.c June 26, 2002 - Release 1.31.1 (Doug Mink, SAO) Fix problems with IRAF TNX projection Write FITS error messages to string accessible by fitserr() Put SAO-written software under Gnu Lesser Public License April 9, 2002 - Release 1.31.0 (Doug Mink, SAO) Implement WCSLIB 2.9 and most of current proposed FITS WCS standard December 20, 2001 - Release 1.30.7 (Doug Mink, SAO) Add Sylvain Korzennik's fix to make SAOimage work on 24-bit machines December 4, 2001 - Release 1.30.6 (Doug Mink, SAO) Fix bug in readfits to initialize rbrac, which caused SegV on Linux systems Add 8-bit pixel move to imio.c September 25, 2001 - Release 1.30.5 (Doug Mink, SAO) Upgrade to WCSLIB 2.7 and fix minor bugs in WCS subroutines Fix makefiles to include all local header dependencies ------------------------ March 20, 2001 - Release 1.29.3 (Doug Mink, SAO) Fix minor bugs in WCS subroutines March 8, 2001 - Release 1.29.2 (Doug Mink, SAO) Change WCS selection separator in filenames from : to % February 28, 2001 - Release 1.29.1 (Doug Mink, SAO) Support multiple WCS's ------------------------ September 29, 2000 - Release 1.28.5 (Doug Mink, SAO) Fix bug which caused Segmentation Faults at some zoom levels with large images. Set FITS WCS if any CD matrix terms are in header; set rest to zero. Read fITS keyword values even if no equal sign is present August 1, 2000 - Release 1.28.3 (Doug Mink, SAO) Improve handling of 1-D WCS data. Fix numerous warning-generating bugs. June 13, 2000 - Release 1.28.2 (Doug Mink, SAO) If imh pixel file has no directory, *always* use same as header file June 9, 2000 - Release 1.28.1 (Doug Mink, SAO) Read keyword values in hget.c even if no equal sign is present. June 2, 2000 - Release 1.28.0 (Doug Mink, SAO) Only a few minor changes due to running lint on everything ------------------------ May 10, 2000 - Release 1.27.4 (Doug Mink, SAO) In wcstype(), default to WCS_LIN, not error (after Bill Joye) May 1, 2000 - Release 1.27.3 (Doug Mink, SAO) Pixel files whcih are in subdirectories of files where IRAF .imh header files reside are now dealt with correctly. All dates in the old FITS format (dd/mm/yy) where the year ranges from 0 to 999 have 1900 added to them: 01/05/100 becomes 2000-05-01. March 27, 2000 - Release 1.27.2 (Doug Mink, SAO) Fix bug reading IRAF .imh files with pathnames longer than 67 characters. Fix bug precessing coordinates which were at equinoxes other than J2000 or B1950. February 3, 2000 - Release 1.27.0 (Doug Mink, SAO) Upgrade WCS code to Mark Calabretta's WCSLIB 2.5 Add support for modified Julian date to dateutil.c ------------------------ December 20, 1999 - Release 1.26.11 (Doug Mink, SAO) Fix date conversion bugs which were insignificant on the scale of SAOimage December 3, 1999 - Release 1.26.10 (Doug Mink, SAO) Fix bug which caused strings starting with d and e followed by numbers to be declared numeric even though they're not really numbers November 17, 1999 - Release 2.6.9 (Doug Mink, SAO) Fix bug which caused loss of NCP projection November 5, 1999 - Release 1.26.8 (Doug Mink, SAO) Added point release to match WCSTools imhfile.c: Use title from binary part of header as OBJECT; add DATE-MOD hput.c: Check for end of header buffer before writing (bug fix) Lots of unused variables eliminated after using lint August 16, 1999 - Release 1.26 (Doug Mink, SAO) mainkey.c: Print 6 decimal places in degree mode wcs.c: Display dd:mm:ss dd:mm:ss when displaying longitude and latitude in non-degree mode. hput.c: In dec2str() change limits from -90 - +90 to -180 - +360 imgcheck.c: Check file type with isfits() so -fits not needed wcsinit.c: Add PIXSCALE as arcsec/pixel keyword Fill in CDELTs from arcsec/pixel keyword if zero or absent mgfyctrl.c mainkey.c: Label and switch between quad cube faces 0-5 correctly cmdimage.c: Add -face command to display specfic quad cube face ctrldisk.c: Fix bug in VMS version of disk I/O subroutines ------------------------ December 2, 1998 - Release 1.25 (Doug Mink, SAO) cmdparse.c: -reg command added to read a region file and display it cmdparse.c: help and version commands added csrshape.c: add square, diamond, + and x shapes for input region files imhfile.c: New file, replacing iraf2fits.c, same as in WCSTools mainkey.c: z command added to cycle through zoom levels mainkey.c: f command added to print the FITS header of an image mainkey.c: [ and ] commands added to toggle region display and label display mainkey.c: fix zooming and add region exclusion mainkey.c: add version and help commands readiraf.c: Fixed to read ALL imh2 files rgn*.c: added code to use comments in region file to label regions wcs.c: fix bug dealing with rotated mirrored images; fixed scale printing wcsinit.c: Read projection constants neaded for some WCSLIB projections wcslib.h: add cel.h, lin.h, proj.h, and wcstrig.h to wcslib.h worldpos.c: fix bug in inverse (sky to pixel) COE projection fitsfile.c: fix bug to deal correctly with very large headers ------------------------ September 4, 1998 - Release 1.24 (Doug Mink, SAO) cmdparse.c: -ccursor command added to start up with pointer in center of image cmdparse.c: -fn command added to set commands for Fn keys ctrldisk,c: unistd.h included display.c: Code added to support positioning pointer to image coordinates fitsfile.c: Renamed from fitsio.c to avoid conflict with CFITSIO package fitsfile.h: Renamed from fitsio.h to avoid conflict with CFITSIO package imhfile.c: Renamed from imhio.c for consistency with fitsfile.c mainkey.c: Home command added to recenter pointer in image mainutil.c: stdlib.h included wcs.c wcs.h wcsinit.c: Changes to support multiple WCS commands ------------------------ July 16, 1998 - Release 1.23.2 (Doug Mink, SAO) wcslib.c, wcs.c: Correct implementation of CSC, and probably all, quad cube projections. mainkey.c: Add 1-9 keys for image layer selection July 13, 1998 - Release 1.23.1 (Doug Mink, SAO) wcs.c: bug fixes mainkey.c: fix i key to respond instantly mainkey.c: fix +, -, and = keys for 3-D image navigation mgfyctrl.c: Add image number to 3-D image coordinates prntcurs.c: Add image number to 3-D image coordinates July 7, 1998 - Release 1.23 (Doug Mink, SAO) Bug fixes in and restructuring of WCS subroutines wcsinit.c: New file made up of header-accessing parts of old wcs.c wcs.c and mainkey.c: Add support for multiple faces of quad cube images mainkey.c: Add h key command to switch between degrees and sexigesimal RA and Dec ------------------------ May 15, 1998 - Release 1.22 (Doug Mink, SAO) Implement equinox of image coordinates (header EPOCH = date, 2000, 1950) wcs.c: Implement Mark Calabretta's WCSLIB projections, IRAF TNX projection, and WCSTools polynomial projection (uses COi_nnn keywords) Implement ecliptic coordinate tracking using e key Add i command to track in equinox of image, as an alternative to j or b Lots of small changes to wcs.c subroutines ------------------------ January 14, 1998 - Release 1.21 (Doug Mink, SAO) wcs.c: bug failing to precess DSS coordinates fixed iraf2fits.c: Capability of reading IRAF 2.11 .imh files added readiraf.c: Architecture-independent access to all IRAF .imh files ------------------------ October 25, 1996 - Release 1.20 (Doug Mink, SAO) cmddisp.c: Add cursor commands in new subroutine, parse_cursor() cmdpars.c: Add call to parse_cursor() wcs.c: Add plate scale to wcscent() (SAOimage WCS descriptive message) ------------------------ August 13, 1996 - Release 1.19 (Doug Mink, SAO) Fix many small bugs in WCS library; match to wcslib-1.1 wcs.c: Add more possibilities to simple WCS, including systemless coordinates which cannot be translated by j, b, or g keys ------------------------ February 9, 1996 - Release 1.18 (Doug Mink, SAO) The Q key no longer exits from SAOimage when an image is being displayed in IMTOOL mode. Fix size problem with image pixel value in cursor tracking window Switch display mode instead of printing for B, G, and J keys Get rid of pipe error message if displaying an image from the command line. readiraf.c: Read arbitrary, rather than fixed-sized, IRAF image header wcs.c: Add simple WCS if RA, DEC, and SECPIX (arcsec/pixel) keywords are in the header. Assume north at top, east at left of image. ------------------------ December 14, 1995 - Release 1.17 (Doug Mink, SAO) Add WCS tracking for IRAF images readiraf.c: Add conversion to FITS header and WCS initialization iraf2fits.c: New subroutine to convert IRAF headers to FITS headers hput.c: New subroutine to add parameters to FITS headers ------------------------ November 7, 1995 - Release 1.16 (Doug Mink, SAO) platepos.c: Add 0.5 pixel offset between FITS image pixels and DSS plate pixels for more accurate astrometry from DSS plates. worldpos.c: Fix WCS bug when dealing with WFPC preview images which have horizontal declination and vertical right ascension. ------------------------ October 18, 1995 - Release 1.15 (Doug Mink, SAO) wcs.c: Add new subroutine, wcscent, to print image center and size so it is not automatically printed platepos.c: Fix RA,DEC ->image pixel subroutine so it works panwndw.c: Fix pan box to display images correctly prntcurs.c: Fix WCS check before printing WCS information readarr.c: Skip to correct image directly instead of fudging header length 1. Improvements for VMS from Harry Payne at STScI 2. Makefile for Linux from Peter Teuben at UMd 3. Additional bug fixes from Jay Travisano at STScI ------------------------ August 18, 1995 - Release 1.14 (Doug Mink, SAO) wcs.c: Move wcs structure outside of file, but still allocate it with wcsinit() wcscon.c: New subroutine to convert between FK4, FK5, and galactic coordinates cmdparse.c: Add new commands to set coordinate system for cursor tracking mainkey.c: Add new commands to print cursor position in any coordinate system. mgfyctrl.c: Blank part of coordinate field if display length gets shorter ------------------------ May 5, 1995 - Release 1.13 (Doug Mink, SAO) platepos.c: Fix bug in DSS plate solution subroutine readint.c: Add Martin Bly's (Starlink) modification for 64-bit-long machines hget.c: Replace strstr() string search with faster homebrew version, strsrch() 1. Numerous bug fixes suggested by Corby Jacobs of STScI and Grant Privett of Starlink 2. Changes to make ANSI C compatible 3. Changes for port to native Solaris C ----------------------- March 8, 1995 - Release 1.12 (Doug Mink, SAO) platepos.c: compute WCS from Digital Sky Survey plate solutions 1. Major bug in DSS plate solution subroutine found May 3, 1995 ----------------------- January 20, 1995 - Release 1.11 (Doug Mink, SAO) Add ability to handle narrow files which previously crashed SAOimage when the pan box could not display them. ----------------------- December 22, 1994 - Release 1.10 (Doug Mink, SAO) Add use of CD matrix as an alternate to CDELT/CRROT WCS description ----------------------- October 19, 1994 - Release 1.09 (Doug Mink, SAO) Add World Coordinate System tracking hget.c: extract parameter values from FITS headers wcs.c: set of subroutines to initialize and format WCS information worldpos.c: version of NRAO worldpos to compute WCS from pixel coordinates prntcent.c: compute intensity-weighted center of 9x9 array around cursor prntcurs.c: display WCS of cursor position ----------------------- May 9, 1993 - Release 1.08 (Doug Mink, SAO) Add linear autoscale base on histogram using -lfrac, fraction Display floating point images on byte-reversed (i.e. DEC) machines correctly ----------------------- August 26, 1994 - Release 1.07 (NOAO) This was the last of several 1.07 releases NOAO modifications for use as IMTOOL with IRAF ------------------------ August 14, 1991 - Release 1.06 (Mike VanHilst, SAO) disppsct.c: Generate EPS (Adobe v2.0), CDB Known bugs: 1. Sizes for images being displayed with less than full resolution can be mis-calculated in some circumstances, resulting in an extra, non-image line at the bottom. 2. SAOimage is NOT X11 ICCCM compliant in the following areas: a. It does not use resources for defaults (i.e. background and border colors). b. No cut and paste mechanisms are supported 3. Massively zoomed tiny images may have coloring anomolies at the edges. ------------------------ June 21, 1991 - Release 1.04 (Mike VanHilst, SAO) doc/manual.tex: Latex'd manual! all makefiles: Redone by NOAO for better porting ctrlcntn.c: Removed autoflush (bad for MIPS implementations) mainevnt.c: Fixed mask inconsistancy causing "bad file number" errors hfiles/imtool.h:Some new IRAF support (alternate paths to fbconfig) cmdimage.c cmdparse.c: Added + type switches where switch can toggle feature on/off. hfiles/coord.h crdtemp.c dispbtmp.c dispdfse.c dispdthr.c disppxmp.c imgnew.c mgfydraw.c sclctrl.c: Fixed numerous bugs for handling of very small images. histlist.c: Fix for infinite loop problem btnlib/draw.c cmdparse.c wndwadj.c: #ifdef'd kludge switches buttons to ZPixmap format for ALLIANT server which does not display XYBitmap correctly. ------------------------ Jan 1, 1991 - Release 1.03 (Mike VanHilst, SAO) csrcoord.c csrctrl.c csrdraw.c csrmove.c csrsave.c csrshape.c csrslct.c: csrtext.c (new): doc/cursor.txt doc/hardcopy.txt doc/region.txt: editdraw.c: mainkey.c mainslct.c: panel/cursor.menu panel/menucsr.h: rgnctrl.c rgnmake.c rgnread.c rgntoken.c rgnwpros.c: New features for labeling images - arrow and text cursors clralloc.c: Permits users with 4-5 plane machines to try color features cmdimage.c: Removed restrictions on file names starting with non-alpha doc/manual.tex The manual has been Latex'd! (see manual.dvi - 36 pages) imgflip.c: Fixed rotation of long or skinny images imgnew.c: Fixed load_mainbuf buffer zeroing mainevnt.c: Fixed non-portable #ifdefs mgfydraw.c: Fixed fatal magnifier bug (noticed by users of small images) mgfyval.c: Upgraded optimal output format algorithm wndwconf.c wndwinit.c: Match arg typing to new Xlib.h (ANSII C type warning) ------------------------ June 3, 1990 - Release 1.02 (Mike VanHilst, SAO) sclctrl.c: fixed bug which assigned wrong image type at init time clralloc.c: added colormap creation needed for OpenWindows and SiliconGraphics wndwcre.c, editctrl.c: added ICCCM compliant focus message for window manager cmdimage.c: upgraded experimental real-time code ------------------------ May 1, 1990 - Release 1.0 (Mike VanHilst, SAO) Changes from beta version: File names have all been shortened to an 8.3 (or smaller) format to enable movement through MSDOS file systems. A second button appearance is available. Many internal code changes (to aid in debugging and support socket IO, to name a couple).