****************************************************************************** The SAO R&D Software Suite Release History ****************************************************************************** ****************************************************************************** Minor Release 1.9.1 January 2000 ****************************************************************************** SAORD minor release 1.9.1 has been made to provide support for IRAF version 2.11.3, including a Y2K bug fix in the x_fmgr.e IRAF code (which is the task that helps SAOtng display IRAF .imh and .qp files). In addition, the ncl program was updated to match cl 2.11.3. However, we did not implement the ability of the 2.11.3 cl to process arguments from the command line. Doing so would have prevented ncl from working with versions of IRAF prior to 2.11.3. In addition, two SAOtng FITS-related bugs have been fixed (these were described on our Web "problems" page): 1. SAOtng now can display FITS binary table files in which one or more columns use the 'X' (bit) specifier. 2. SAOtng now can find FITS extensions whose names contain the non-alphanumeric characters "_"and "$". Also, XPA was upgraded to 2.0.2 (which long has been available on the Web as a stand-alone product). This upgrade contains minor fixes for 64-bit computers (Dec Alphas). Finally, a few minor compiler fixes were made to allow saord to build on a RedHat 6.1 system using the egcs compiler. How odd and interesting that we still had syntax weaknesses after all these years and ports! There are no enhancements to the saord system in this release. ****************************************************************************** Major Release 1.9 27 May 1999 ****************************************************************************** XPA: * XPA was completely overhauled and re-implemented on top of standard sockets, instead of using the X Window System. This means that XPA servers do not have to be X programs any longer, but can be Unix programs (that utilize an event loop) or Tcl/Tk programs. XPA now supports broadcast messaging and other neat things. See http://hea-www/harvard.edu/RD/xpa/index.html for more information. SAOtng: * Minor bugs from 1.8 were fixed (see WWW problems page). * saotng now can display unsigned short arrays. * saotng no longer requires the saord bin directory to be in the path. * added -rv [true|false] for reverse video ASSIST: * assist no longer requires the saord bin directory to be in the path. XDir: * xdir no longer requires the saord bin directory to be in the path. Ncl: * Fixed a bug that prevented ncl from working properly on Alphas when in graphics mode. ****************************************************************************** Major Release 1.8 16 July 1998 ****************************************************************************** [The release formerly known as 1.7.2, 6/4/98 to 6/5/98. Oops! We had to withdraw this release because of a bug that was unacceptable to our quality control.] SAOtng: * Added support for displaying FITS binary tables * Added support for displaying FITS image extensions * Added support for displaying compressed FITS files * Added support for displaying binary event files * Added support for displaying n-D FITS images * Added support for accessing and displaying FITS files over the Web * Added support for multiple WCS definitions in the same image (i.e., rectangles in which different WCS values are used). * Added filtering capabilities for FITS binary tables and raw event data * Added support for fixing various attributes of a marker (position, size, rotation, deletion, etc.) * Added ability to use IRAF zscale algorithm for calculating min and max values for scaling * Added GUI support for selecting min/max scaling options * Added support to control auto-switching from mouse movement when tiling * Added support for IMAGE_PATH environment variable so that data directories can be looked up automatically without using the shell path * Replaced old FITS library with new fitsy library to support image extensions, binary tables, etc. * Add support to determine at run-time if we have keypad translations * Fixed accuracy bugs in markers -- especially when panning * Added support for separate scales and scaling limits for each frame Param: * Add support for opening a string (instead of a param file) to get param values (paramstropen) Fitsextract: * Added ability to read from stdin so that image programs could convert their data to FITS files and pipe the results to fitsextract for section extraction and zooming (used for compressed images, for example) Ncl: * Update source code to IRAF 2.11.1 ****************************************************************************** Minor Release 1.7.1 1 September 1997 ****************************************************************************** SAOtng: * Added support for native data formats in array data in fitsextract program so that there are converted to IEEE on output. * Changed Panner and Magnifier commands to execute a toggle routine. The ability for these to toggle was lost going from 1.6 to 1.7. * Changed the autoconfig default max size to 1024 from 4096 (since the larger value takes more memory than most users have). Also made specification of max size accept a comma separator as well as a space separator so that the command line: saotng -autoconfig "max,2000,2000" works. Also increased the max size to match the size of a manually config'ed size, if the latter is larger than the current max. * Fixed bug in which NextFrame and PrevFrame did not work if frame #1 did not exist. * If the frame access point is called with a non-existent frame number as an argument, the specified frame is created (otherwise there is no way to ensure that a frame command will execute properly). * Added NOAO-supplied fix that prevents frame n from being erased when frame n+1 is created and loaded using IRAF's tv/display task. * Added support for handling scalelims properly when raw data is not maintained in memory (-hogmemory False). * Removed explicit geometry specification from SAOtngDialog and SAOtngWarning widget resources. The geometry should be handled by the window manager. * Fixed SEGV in array dump caused by missing check on existence of RAW data. * Fixed a typographical error in AutoFlip which caused a reset to the flag indicating the frame's flip state had been initialized. This caused frames to flip repeatedly on rescaling if an initial flip was specified on the command line. * Corrected a typographical error in the 32-bit (int) case of ScaleData that could cause a SEGV if the data minimum was less than -32768. * Fixed typographical error saotng script support for SAOTNG_FIFO environment variable (code was trying to set SAOTNG_IFIFO instead of SAOTNG_FIFO). * Add support for 24bit frame buffers (pseudocolor visual) * Catch negative image dimensions. * Fixed "array" public access point to match documentation, i.e., so that you can cat array data to SAOtng without needing a disk file. Also removed bogus "erase|noerase" options from "array", "fits", "file" access points. (Currently SAOtng always erases the frame when a new image struct is defined.) * Various documentation updates. ****************************************************************************** Public Release 1.7 1 July 1997 ****************************************************************************** General: * Added mods to allow package to be built under OSF v4.0 on Alphas. * Added mods to allow package to be built under FreeBSD. * Added lib and include directories to binary distributions. * Binary distribution no longer requires imake (or xmkmf) -- it edits the script files in the bin directory directly. * Added reroot script to allow change of saord root in scripts. SAOtng: * Fixed SaveRegions bug (missing TCL variable "guiFlavor"). * Fixed bug which caused SAOtng not to display scale samples if two images with the same name were displayed. * Added -jpl switch to xdir startup within SAOtng if the latter is run with -jpl. * Added support to sense when SAOtng is started stand-alone without the 'saotng' script and to exec the script (with suitable overrides). * Fixed bug in which xpaget of raw_data did not always return a padded FITS file (i.e., padding was sometimes missing). * Fixed documentation bug that incorrectly reported that yflip was default (as was the case in 1.5). * Improved the menu option to make the GUI bland (though its still not perfect). * In the SaveMarkers dialog, added ability to specify options for the xpaget regions command after the filename (e.g., "color", "pixels", etc.) * Fixed bug in region parser so that multiple regions can be specified in one command: echo "regions 'c(512 512 10); c ( 10, 20, 30 )'" ... (Note that entire region must be quoted.) * Fixed bug in polygon creation that prevented polygons from being sized. * Added image file name to Frame Goto menu options where available. * Added Tile Frames toggle to Frame menu. * Changed default knot size on markers to 1 and added -knotsize option in saotng script. * Fixed polygon marker support to allow a approx. 2500 vertices. * Fixed bug in byte-swapping of FITS data on machines that need it (e.g., Alphas). * WCS Coordinate display now can be hidden from the screen using the delete key (analogous to removal of pan/mag window, markers, etc.) * Saving a PostScript dump of the screen to a file requires only specification of the filename, (i.e, the ">" directive is not required). * Changed dialog box to use fancier widgets. * Fixed bug in Group widget that prevented background color of control panel labels from being changed. * Added support for attaching text to markers (text moves with marker, is returned by xpaget, etc.) * Automated crunching of SGI saotng.gui file to avoid limitation on resource string size in SGI -- and crunched the file smaller. * Fixed bug in IRAF tv/display support causing incorrect display of region positions. * Added support for user specification of the association between region names and colors (beyond the default of "source-green" and "background-red". * Added support for "marker analysis", i.e., user-defined analysis tasks in the popup menu for an individual marker (usually to run analysis on that marker). * Fixed bug in line marker that sometimes caused them to be of infinite length. * Added display of messages in a section of the control panel (which helps when SAOtng is started from a twm menu and diagnostic output is not sent to the screen). * Added support for multiple lines of text in text markers. * Revamped saotng script so that it only passes arguments different from the default. * Added support to source a ~/.saotng startup file -- this can hold environment variables for SAOtng configuration. * Added support to redisplay the WCS coords when an image is loaded or the frame changes (even without mouse movement). * Added support for discrete colormaps -- i.e., colormaps where you can stretch 1 color at a time. * Added support for a message window to handle diagnostics. The diagnostics now are only written to stderr if you add a switch: -verbose True * Added a "message" xpa access point to send user messages to the SAOtng message window. * Changed the environment variable SAOTNG_GUIFLAVOR to SAORD_GUIFLAVOR and made xdir and xtext use this as well. saotng, xdir, and xtext now accept -beautiful and -bland switches (and SAOtng will bring up xdir and xtext in the correct flavor). * Fixed bug in WCS/tiling interaction that led SAOtng into an infinite loop. * Revamped GUI to use 3D buttons, frames, etc. consistently. * Added support for menu and shell type entries in accel.cmds * Added support for -helppage and -helpuserdir to allow users to add documentation to the SAOtng help system (e.g. docs about analysis) * Added "help" public access point to allow an external program to call up a document. * Fixed bug in which black markers were being printed with the background color (not necessarily black). * Fixed bug in -defcolors support to allow SAOtng to use the default (public) colormap). * Made each instance of SAOtng use its own private colormap (can be overridden with the -cmapname switch). * The saotng script now flags illegal command-line options. * Added support for automatic resizing of the frame buffer to match the size of the image (frame 1 only). Also can be set manually via menus or the "frame autoconfig" public access point. * Added support for dealing with the FITS BLANK keyword and IEEE NaN. Because checking for bad pixel values slows down every aspect of FITS extraction and scaling, this facility is turned off by default (and is turned on using the -checkNaN True switch). XDir: * Added support for -jpl switch (to make colors match SAOtng when that latter is run in with -jpl switch). Also works with -b and -beautiful. * Both the current directory and filter are changed if a is typed in either window. * Added support for relative paths of virtual file names. * Added "flavor" public access point so that SAOtng could tell this program to change its colors. XPA: * Fixed bug which caused garbage to be printed out when xpaget requests the command list from a program. * Fixed bug in which paramlist was getting an extra space in some cases where there were quotes in the string. * Fixed bug in xpaget that did not sense when the target was missing. IRAF-compatible parameter interface: * Added support to Find() routine for resolving "." and ".." parts of a path. imset: * Added support for loading files specified with relative paths: a command like "imset file ../../data/snr16.fit" now works properly. mkclvars: * fixed bug in script that led to setenv commands with no value field. ****************************************************************************** Public Release 1.6 10 October 1996 ****************************************************************************** General: * Added "XQuery" program to pop up a dialog window to retrieve input from the user (to be used, for example, in a script). ASSIST: * Modified SendString calling sequence to include target analysis system as input -- also changed tutorials to reflect new calling sequence. * Updated to version 2-5 of lynx. * Fixed a bug introduced in 1.5 that prevented the middle button from displaying ParamEdit help. * Modified ParamEdit help so that ASSIST looks for a ".hlp" file instead of "NOPKG_.hlp" in the default help directory. * Changed the default name of the ASSIST help directory from saord/IRAFHelp to saord/ASSISTHelp. Sites can place their own help files in this directory. * Modified script so that only 1 incarnation of the program can be run with the same title on a given machine. * Removed build of lynx for Linux architectures because most Linux systems have it and also our source code does not build on some of those that do have it. SAOtng: * Added support to individual image XPA points to retrieve macro values (e.g., $datamin, $datamax, $status). * Added erase/noerase and rescale/norescale options to "redisplay" public access point. * Fixed bug in retrieval of FITS header keywords that prevented repeated retrievals. * Changed "region" public access point to "section". * Added menu option to magnifier window to toggle display of the magnifier central marker. * Fixed SEGV when loading image whose framesize > windowsize. * Fixed problem generating PostScript and GIF output with an image * whose framesize > windowsize. * Added support for polygon region markers. * Added support for point region markers. * Added support for line region markers. * Added support to "regions" public access point for reading region markers in standard formats. * Modified "coords" public access point -- a get request waits for the user to position the mouse and then press before returning the coordinates and pixel value as a string. * Added clear button to dialog boxes. * Re-ordered the menus; menus that do not function when IRAF's tv/display is used to load an image are now unmapped. * Moving a region marker with the arrow keys also moves the mouse (so that WCS tracking can be done at the same time). * Re-implemented memory management of in-memory images so that raw data is not duplicated in memory unless necessary. This will save a lot of memory in cases where the image size and frame size are the same. * Added "savescale" resource to determine whether the scaled in-memory FITS image is saved once the image is displayed (default is set to False so that scaled FITS is not saved). * SAOtng now deletes all markers in a frame when the image changes. * Added "delete" option to receive "regions" public access point to delete all regions in the current frame. * Added "accel" public access point to add accel command buttons * Added "color" option to send "regions" public access point to have the marker colors in the command sent instead of source/bkgd specification. * Added "color" option to receive "regions" public access point to tell SAOtng to process the colors in each region comment. * Added a "maxcontrast" option to the "colormap" public access point to allow changing the maxcontrast on the fly. This will help make images with different dynamic ranges of data easier to view. A maxcontrast slider was added to the control panel to allow for easy manipulation of the max contrast. * Removed frame section support from the Section menu -- the tiling facilities in the control panel work much better. * Sigh -- gave up and made the SAOtng colors correspond to Netscape colors to avoid excessive colormap flashing -- but added the -b switch to make the colors really beautiful again! * Added histogram equalization as an external scaling algorithm. * Expanded control panel, adding a WCS displays that can be used instead of having the coords on the screen. * Fixed bugs in FITS extraction code that had trouble dealing with odd-numbered image centers. * Updated WCS code to use 1.18 wcs from Doug Mink. * Modified GUI to use "internal" xpaset (direct call to the XPA command handler) instead of using xpaset through shell. * Modified flip initialization (-flip switch: default "none") so that the frame is only flipped is an image is loaded externally, but not if the image is loaded with tv/display -- this will make IRAF graphics work properly. * Fixed colormap and flip problems when an image is loaded with tv/display into an uninitialized frame. * Fixed cursor drift when zooming and panning. * Modified script so that only 1 incarnation of the program can be run with the same title on a given machine. * Set -hog to False and set -maxsize to 1 Mb for Linux systems. IRAF-compatible parameter interface: * Fixed bug in parameter internals that allocated 4 bytes instead of sizeof(struct) bytes, causing crashed on 64-bit SGI. XPA: * Fixed bug in xpaget where timeouts in which not being disabled properly. * Reimplemented OpenXPA program interface to allow multiple set and get operations with one open (using the new xpaserver program as intermediary). New routines are OpenXPA, CloseXPA, GetXPAValue, and SetXPAValue. * Added Fortran bindings to OpenXPA interface (openxpa, closexpa, getxpavaluec, getxpavaluei, setxpavaluec, setxpavaluei). * Added XPAInternalReceiveCommand and XPAInternalSendCommand routines to allow programs to ping themselves without using an external process as an intermediary. XDir: * Redesigned GUI presentation to blend with SAOtng. * Modified script so that only 1 incarnation of the program can be run with the same title on a given machine. XText: * Redesigned GUI presentation to blend with SAOtng. * Added "file" and "string" XPA access points to allow new files and/or strings to be displayed in the same XText window. ****************************************************************************** Public Release 1.5 18 March 1996 ****************************************************************************** A public release to add new features to ASSIST, SAOtng, XPA, and the IRAF compatible parameter interface. It is recommended highly that all users update to this release. General: * Renamed the top level directory from 'soft' to 'saord'. ASSIST: * Parameter Editor Q&A function now accesses a centralized QA data base via the HTML node, instead of requiring that the data base be maintained at each site. * Pressing middle mouse button on a node was generalized to look for a help node for the given node (previously was supported only for parameter editors and IRAF graphers). * Added much support for indirect classing of parameters. Analysis nodes can ask to be notified of inclassing changes. Param editors track changes in inclass param files ("common data sets") and update affected parameters in their own file (which are set to read-only). * Pressing right mouse button on a ParamEdit node in a Grapher will run the associated task without having to display the param editor. Used in conjunction with inclass parameters and common data sets. IRAF-compatible parameter interface: * Dynamic parameters now use "))" syntax instead of ")!" syntax to avoid shell conflicts. * Fixed bug in pset in which it did not write new value(s) to the param file if the file was just transferred from a read-only directory. * Added ability for pset to accept param assignments from stdin. * Fixed list-structured parameter bug. * Fixed parsing problems concerning blanks in parameter file entries. * Fixed support for list-type parameters (values come from a file). * Added support for indirect classing of parameters, whereby the values of parameters in param files can be indirected to other values in other files by setting one environment variable, rather than having to redirect each param individually. * Added support for pline to print out pset parameters recursively. SAOtng: * Added support for setting image window with and height (-width and -height switches). * Added support for setting the default frame size (-framewidth and -frameheight switches). * Added 'Ctrl-a' keystroke to print out a patch of the counts surrounding the current mouse position (ala SAOimage). * Added arrow keys to move the mouse 1 or 5 pixels in 4 directions. * Added Shift-Btn1 functions to manage mouse position selections: One click for unsetting a point, 2 clicks for setting a point, 3 clicks for setting and re-extracting an image section centered that point. * Added 'Ctrl-t' support for creating text labels. These labels act like region markers and can be moved around, deleted, etc. * Oops -- really did fix a bug to allow printing of images displayed with IRAF's tv.display task (was not handled correctly in 1.0.3). * Added pan/mag control menu to right button in the pan/mag window. * Added a marker in the center of the magnification window. * Fixed support for FITS images that zeroed the last column and row of data in the display. * Fixed support for IRAF cursor readback (for use with imexamine). * Fixed a bug in writing out colormaps that affected PostScript and GIF file creation (or PostScript printing). XPA: * Fixed a bug in the XPA command parser that incorrectly handled commands without parameters. XDir: * Fixed support for virtual directories so that double clicking on a virtual file will display correctly the directory for that file. * Double-clicking the mouse on a FITS file name now sends that file to SAOtng by default. Also, the starbase data base system was removed from the software tree in order to allow users to work around incompatible release schedules. The latest version of starbase can be obtained from: ftp://sao-ftp.harvard.edu/pub/rd/starbase.tar.Z. For more info, see: http://cfa-www.harvard.edu/~john/starbase/starbase.html. ****************************************************************************** Public Release 1.4 20 December 1995 ****************************************************************************** This is a minor update to support the AXAF Science Center calibration software. Most changes are concerned with the IRAF-compatible parameter interface, with some important changes in how ASSIST handles analysis programs. Also, the revision scheme was simplified!! There is no pressing need to update from 1.0.3, unless you are using the parameter interface or the Analysis node type in ASSIST: * added support for dynamic indirect parameters to the IRAF compatible parameter interface. A parameter vale of the form ")!" will execute the command and return the standard output as the command value. * added support for blank lines, comment lines in the param interface * added support for IRAF bracket specification in the param interface * modified pline to output optionally an IRAF-style command line * fixed alignment bugs in range checking code in the param interface * added new "analysis" public access point to ASSIST to ASSIST support connections with existing programs (through the window ID). * the "analysis" public access point can be queried for a window ID for a given analysis node. * rewrote code that waits for parameter files to allow other ASSIST functions to be used while waiting. * added support for running more than one ASSIST on the same screen with a -title switch. * fixed a minor bug in the SAOtng WCS handling ****************************************************************************** Public Release 1.0.3 18 November 1995 ****************************************************************************** A minor update, mainly to improve support for OpenWindows builders. There is no pressing need to update from 1.0.2, unless you are trying to build with OpenWindows or need a fix for the minor bugs described below: * work around bugs in the OpenWindows imake configuration: see the config/Imake.rules file for details * fix SAOtng FITS handling to allow for parameters beginning with a numeric character and to not exit on bogus parameters * allow printing of images displayed with IRAF's tv.display task * add pedit program, a stand-alone parameter editor * removed installation of app-defaults, help, colormaps, and PFILES from the bin directory -- these now are accessed from the software tree (more consistent with AGNodes) * fixed ncl so that use of the "l_off" hidden command turns off output of control characters -- i.e., ncl can redirect stdout without outputting garbage characters ****************************************************************************** Public Release 1.0.2 28 September 1995 ****************************************************************************** First public release with: * optimized support for displaying FITS files in SAOtng * elimination of race conditions in XPA * improved WWW image-loading support in ASSIST * plugging a huge memory leak in SAOtng * port to Dec Alpha ****************************************************************************** Beta Release 1.0.1 16 July 1995 ****************************************************************************** Update of beta release with: * support for the SAOimage magnifier window * expanded support for World Coordinate System position tracking * correct scaling of float and double images * support for saving the display window in GIF format * improved support for in-memory and shared memory FITS data * a bug fix to support IRAF psets in ASSIST * enhancements to the XDir GUI for window resizing/partitioning ****************************************************************************** Beta Release 1.0 8 June 1995 ****************************************************************************** Initial beta release supporting ASSIST 1.2 and SAOtng 1.0