diff options
Diffstat (limited to 'funtools/doc/changelog_beta.html')
-rw-r--r-- | funtools/doc/changelog_beta.html | 953 |
1 files changed, 953 insertions, 0 deletions
diff --git a/funtools/doc/changelog_beta.html b/funtools/doc/changelog_beta.html new file mode 100644 index 0000000..4e3ccd3 --- /dev/null +++ b/funtools/doc/changelog_beta.html @@ -0,0 +1,953 @@ +<HTML> +<HEAD> +<TITLE>Funtools ChangeLog</TITLE> +</HEAD> +<BODY> +<H2>Funtools ChangeLog</H2> + +<P> +This ChangeLog covers both the Funtools library and the suite of +applications. It will be updated as we continue to develop and improve +Funtools. The up-to-date version can be found <A +HREF="http://hea-www.harvard.edu/RD/funtools/changelog.html">here</A>. + +<H2>Beta release 1.0.b28 (06/26/01)</H2> +<UL> + +<P> +<LI> In funcnts, removed extra new-lines from the primary table, +inadvertently added in cases where zero-area rows are skipped. + +<P> +<LI> Added code to support columns in binary tables that do not have names. + +<P> +<LI> Changed the ds9 radial plot so that the radius (x value) for each +plotted point is taken to be the middle of the annulus, (Rin+Rout)/2, +instead of just the inner annulus, Rin. + +</UL> + +<H2>Beta release 1.0.b27 (06/21/01)</H2> +<UL> + +<P> +<LI> Added missing new-lines in funcnts primary tables that did not +have -r switch. + +<P> +<LI> Filtering with dynamic shared objects (gcc only) now links the +region code into the shared object, instead of relying on finding the +region code in global space. + +<P> +<LI> A few minor changes to column headers in funcnts. +</UL> + +<H2>Beta release 1.0.b26 (05/21/01)</H2> +<UL> +<P> +<LI> Fixed funcnts to work properly when the background region +overlaps the source and therefore explicitly excludes the source. +It was simply ignoring the source regions in such a case. + +<P> +Added a second DS9 init file, funcnts2.ds9, which contains funcnts +and radial profile routines that work from the image stored in DS9's +memory, rather than the original FITS file. This is useful in cases +where no original FITS file exists (e.g., a temp file was created +by a program and sent to DS9). + +<P> +<LI> Fixed funcnts so that region specified with a variable number of +arguments must come last (as is the case with panda and the n= +accelerator). Thus, a region specification such as "pie 504 512 10 20 +30 & circle 504 512 10" is now properly an error. Using "circle 504 512 10 +& pie 504 512 10 20 30" instead ensures that the circle is applied to +each pie. + +<P> +<LI> Fixed funcnts output of radii/angles when boolean expressions +such as "pie & annulus" are specified. + +<P> +<LI> Enhanced funcnts so that -r outputs valid radii for circular regions. + +</UL> + +<H2>Beta release 1.0.b25 (4/19/01)</H2> +<UL> + +<P> +<LI> Added support to funtable to generate a FITS binary table +from an image. By default, a 3-column table is generated, where the +columns are "X", "Y", and "VALUE". For each pixel in the image, a +single row (event) is generated with the "X" and "Y" columns assigned +the dim1 and dim2 values of the image pixel, respectively and the +"VALUE" column assigned the value of the pixel. If the -i +("individual" rows) switch is specified, then only the "X" and "Y" +columns are generated. However the number of rows (events) are written +out for each image pixel is equal to the value of that image pixel(or +1, whichever is larger). + +<P> +<LI> Added -z switch to funcnts to display shapes in primary table +that have no area. This is useful when automatic processing assumes +that there are a set number of rows. + +<P> +<LI> Reworked how the "$region" column is handled. A "$region" column +can now be added to a table already having a "region" column. If a +"region" column already exists, the new column will be "region1". If +that exists, we try "region2", etc. + +<P> +<LI> Added the header parameters EXTNAME="IMAGE" and EXTVER=1 when an +image extension of created automatically. + +<P> +<LI> When funcnts is run with -r, the rad1, rad2, ang1, and ang2 columns +are filled in with "NA" if the shape is not annulus, pie, or panda (instead +of being left blank). + +<P> +<LI> Changed funcnts to display arc-sec/pixel instead of degrees/pixel in the +output header. + +<P> +<LI> Fixed bug in FunColumnSelect() that prevented a new table from +being created that consists only of new columns. + +<P> +<LI> Fixed processing of blank values in FunImageRowGet() (was a SEGV). + +<P> +<LI> Fixed fundisp processing of images (SEGV upon completion, trying to +free space only used by tables). + +<P> +<LI> Fixed bug in funcalc which left executable in /tmp space if -n +(no execute) was specified. + +<P> +<LI>Fixed various bugs processing raw event files, especially on +little-endian machines and reading these files via stdin. + +<P> +<LI> Changed rad1, rad2 columns to radius1, radius2 in funcnts. + +<P> +<LI> Purified dynamically loaded filter code (since purify now can work +with gcc). + +</UL> + +<H2>Beta release 1.0.b24 (03/26/01)</H2> +<UL> + +<P> +<LI> First release of <B>funcalc</B>, the Funtools table calculator. +funcalc is a calculator program that allows arbitrary +expressions to be constructed, compiled, and executed on columns in a +Funtools table (FITS binary table or raw event file). It works by +integrating user-supplied expression(s) into a template C program, +then compiling and executing the program. funcalc expressions +are valid C statements, although some important simplifications (such +as automatic declaration of variables) are supported. + +Within a funcalc expression, reference is made to a +column of the <B>current</B> row using the C syntax +<B>cur->[colname]</B>, e.g. cur->x, cur->pha, etc. Local scalar +variables can either be defined using C syntax at very the beginning +of the expression, or else they can be defined automatically by +funcalc (to be of type double). Thus, for example, a swap of +columns x and y in a table can be performed using either of the following +equivalent funcalc expressions: +<PRE> + double temp; + temp = cur->x; + cur->x = cur->y; + cur->y = temp; +</PRE> +or: +<PRE> + temp = cur->x; + cur->x = cur->y; + cur->y = temp; +</PRE> +When this expression is executed using a command such as: +<PRE> + funcalc -f swap.expr itest.ev otest.ev +</PRE> +the resulting file will have values of the x and y columns swapped. +Many other features are available in funcalc to make table +manipulation easy. See the Funtools program.html documentation. + +<P> +<LI> First release of the <B>funtools.ds9</B> set-up file for adding +Funtools analysis programs to the DS9 Analysis menu. This set-up file +is installed in the same bin directory where Funtools programs are +installed and can be loaded into DS9 from the <B>Load Analysis +Commands ...</B> option of the <B>Analysis</B> menu. Alternatively, +you can tell DS9 to load this file each time it starts by adding the +file to the <B>Edit</B>-><B>Preferences</B>-><B>Analysis +Menu</B>-><B>Analysis File</B> menu option. + +<P> +<LI> Added support for non-integral binning of binary tables. The bincols +specifier on the command line now can take the form: +<PRE> + bincols=([xname[:tlmin[:tlmax:[binsiz]]]],[yname[:tlmin[:tlmax[:binsiz]]]]) +</PRE> +where the tlmin, tlmax, and binsiz specifiers determine the image binning +dimensions: +<PRE> + dim = (tlmax - tlmin)/binsiz (floating point data) + dim = (tlmax - tlmin)/binsiz + 1 (integer data) +</PRE> +These tlmin, tlmax, and binsiz specifiers can be omitted if TLMIN, +TLMAX, and TDBIN header parameters (respectively) are present in the +FITS binary table header for the column in question. Note that if +only one parameter is specified, it is assumed to be tlmax, and tlmin +defaults to 1. If two parameters are specified, they are assumed to be +tlmin and tlmax. + +<P> +<LI> Added "mask=transparent" support to the plist argument in +FunTableRowGet(). If this string is passed in the call's plist +argument, then all events are passed back to the user. This is useful +when FunColumnSelect() specifies "$region" as a column in order to +return the regionid value for each event. In such a case, events +found in a region have regionid >0, events passing the filter but not +in a region have regionid == -1, events not passing the filter have +regionid ==0. + +<P> +<LI> Added FUN_WCS0 to the FUN_WCS option available to FunInfoGet(). +The original FUN_WCS option returns WCS Library handle (for use with +Doug Mink's wcssubs library) suitable for use with images, regardless +of whether the data are images or tables. For this structure, the WCS +reference point (CRPIX) has been converted to image coordinates if the +underlying file is a table (and therefore in physical coordinates). The +new FUN_WCS0 structure has not had its WCS reference point converted +to image coordinates. It therefore is useful when passing processing +physical coordinates from a table. + +<P> +<LI> Added -G switch to funcnts to print out floating point values +with maximum %.14g precision. + +<P> +<LI> Added -l switch to fundisp, which displays the pixels of an image as +a list with X, Y, VAL columns. + +<P> +<LI> Added support for images to funhist. The program will create +a histogram of the values found in each pixel, or it can perform +a projection over either axis. + +<P> +<LI> All Funtools programs now accept "-" to mean "stdin" or "stdout", +when the io mode is "r" or "w", respectively. + +<P> +<LI> Changed behavior of the prec (precision) argument in FunParamPutd() +(and the underlying fitsy routine ft_cardfmt()) so that if the double +value being put is less than 0.1 or greater than or equal to +10**(20-2-prec), then %20.[prec]e format is used, otherwise +%20.[prec]f format is used. + +<P> +<LI> Fixed behavior of "merge=replace" in FunColumnSelect() so that if +tlmin/tlmax values are not specified in the replacing column, but are +specified in the replaced column, then the original tlmin/tlmax values +are used in the replacing column. + +<P> +<LI> Improved funcnts error-handling when no valid region is specified. + +<P> +<LI> Fixed region parsing of '#' comment character so that comments +are terminated by new-lines, but not ';'. This is more intuitive behavior. + +<P> +<LI> Fixed region parser so that a region (without parens), followed by +a column expression (e.g., "circle 5 5 1,pha==4") is processed correctly. + +<P> +<LI> Fixed funcnts so that the timecorr parameter specified by -t +[timecorr] can be in lower case. + +<P> +<LI> Fixed panda region shapes when processing a blocked image. The +number of pies and number of annuli (args 5 and 8) were incorrectly +being divided by the block factor (i.e., they were being treated as +sizes). + +<P> +<LI> Fixed bug in funcnts that resulted in slightly smaller +integerized pixel boundaries being used when filtering events. This +does not affect ordinary event filtering(in fundisp, funtable, etc.). +In funcnts (which filters binary table events using image-style pixel +filtering), this bug could result in fewer photons being counted than +is the case when the equivalent image is used. + +<P> +<LI> Fixed funcnts to work with raw event files on little-endian machines. + +<P> +<LI> Fixed funhist so that it will read data from a pipe. + +<P> +<LI> Fixed region parser (and funcnts) so that an include file ending +with a comment stops the comment at the end of the include file. + +<P> +<LI> Clarified the meaning of the "," operator (should it be "or" or +"and") between a region and a non-region expression in a filter: if +the second operand in the expression contains a region, the operator +is "or", otherwise it is "and". + +<P> +<LI> Fixed bug in funmerge, which was not handling integerization of +negatively-valued physical pixels properly (not actually used in any +known application). + +</UL> + +<H2>Beta release 1.0.b23 (02/16/01)</H2> +<UL> +<P> +<LI> Fixed funcnts to report area correctly in arc-seconds. + +<P> +<LI> Fixed funcnts to report radii correctly when summing. + +<P> +<LI> Fixed bug in fundisp: a SEGV when trying to display an ASCII column +from a binary table. + +</UL> + +<H2>Beta release 1.0.b22 (02/15/01)</H2> +<UL> + +<P> +<LI> Funcnts now will automatically output appropriate columns from +the primary table in units of arc-seconds instead of pixels if WCS info +is present. Use -p to force the output to be in pixels. + +<P> +<LI> Added qualitative exposure correction to funcnts by means of the switch +"-e source_exp[;background_exp]". For each region, the average exposure is +calculated and net counts (and background) are divided by the average +exposure. See programs.html for more info. + +<P> +<LI> Added qualitative time correction to funcnts by means of the switch +"-t source_time[;background_time]". The net counts (and background) are +divided by this time. See programs.html for more info. + +<P> +<LI> Improved funcnts output. For example, column units are displayed +(since surf_bri units now can be cnts/pix**2, cnts/arcsec**2, etc.) + +<P> +<LI> Changed funcnts.gnuplot and funhist.gnuplot scripts to funcnts.plot +and funhist.plot, respectively. The new scripts take an argument +such as "gnuplot" or "ds9" and output data appropriate for each +target. Also enhanced funcnts.plot so that it senses the axis units +automatically. + +<P> +<LI> Fixed bug in funcnts when handling regions whose centers are out of the +image. Processing often resulted in BUS ERROR or zero counts, and it took +forever to reach those results + +<P> +<LI> Fixed bug in FunImagePut() when outputting float data on +little-endian machines (PCs/Dec Alpha) -- an erroneous error was +signaled trying to convert from native to IEEE before writing. + +<P> +<LI> Fixed bug in fundisp when displaying the mask of a double/float +image using the mask=all option. + +<P> +<LI> Fixed bug in fitsy/headimage/ft_imageloadhead(fits), in which the +default value for LTV[1,2] was incorrectly set to 1.0, not 0.0. This +means that region physical coordinates applied to FITS images and +arrays that did not have LTM/LTV keywords were 1 pixel off. + +<P> +<LI> Fixed obscure bug in region circle processing when a block factor +is specified in the section command but the circle has radius less +than the block. + +<P> +<LI> Fixed bug in FunImageGet which was returning the full image in +cases where a region was specified but no image pixels were in the +region. An empty image is now returned. +</UL> + +<H2>Beta release 1.0.b21 (02/01/01)</H2> +<UL> + +<P> +<LI> In funcnts, added ability to specify a separate background file. +When using a separate background file, the background area will be +normalized by the ration of the pixel sizes of the two files, if +requisite WCS info is available. + +<P> +<LI> In funcnts, added -r switch to output radii (and angle) +information. This is useful with annulus and panda shapes when +plotting radial profiles. An example plot script, funcnts.gnuplot, is +available for use with gnuplot (3.7 and higher): +<PRE> + funcnts ... | funcnts.gnuplot +</PRE> + +<P> +<LI> First version of the funhist program, which creates a 1D +histogram by binning the specified column in a binary table. The +tabular output can be plotted using funhist.gnuplot: +<PRE> + funhist snr.ev x | funhist.gnuplot +</PRE> + +<P> +<LI> Added additional error messages to funcnts when invalid binning +parameters are found for one or more binary table binning columns. + +<P> +<LI> Fixed bug in FunImagePut() which sometimes occurred when +dimensions were passed in the calling sequence. If, in addition, a +reference handle was passed in the FunOpen() call, then the output +dimensions are erroneously taken from the reference file, not the +passed dimensions. + +<P> +<LI> Fixed bug in filter lex code (filt.l) in which yyrestart was +being called incorrectly with the string to be parsed as the argument +(should be NULL). + +<P> +<LI> Fixed bug in filter code in which the Sun cc compiler was creating +a useless .o file in the working directory. + +<P> +<LI> Fixed bug in region parser which made it impossible to specify +angles with a 'd' or 'r' suffix unless WCS info was in the file. (The +use of 'd' or 'r' with angle is independent of WCS but the check was +there anyway.) + +</UL> + +<H2>Beta release 1.0.b20 (11/29/00)</H2> +<UL> + +<P> +<LI> Fixed a serious bug in which exclude regions were being ignored +when multiple annuli were specified. That is, in a region specification +such as: +<PRE> + annulus 512 512 0 100 n=4; -circle 510 510 20 +</PRE> +or +<PRE> + annulus 512 512 0 25 50 75 100; -circle 510 510 20 +</PRE> +the excluded region was not being sensed properly. Note that +single regions did work properly with exclude regions. + +<P> +<LI> Optimized funcnts so that the time for processing an event list +(binary table) is no longer proportional to the number of pixels in +the image. The unoptimized code was taking forever with Chandra ACIS +images (8192**2 pixels), even with relatively few events. + +<P> +<LI> Fixed bugs that gave incorrect answers when image regions were +combined with image sections. + +<P> +<LI> Fixed bug in parsing image section of the form: "foo.fits[*,6:9,2]", +i.e. the default ("*") x dimensions, followed by specified y dimensions. + +<P> +<LI> Added -g option to funcnts to change some output formats from +12.3f to 12.3g to accommodate display of very small numbers. +</UL> + +<H2>Beta release 1.0.b19 (11/21/00)</H2> +<UL> +<P> +<LI> Fixed bug in filter code that caused a SEGV on Solaris machines +when the first specified spatial region is an exclude region. Our +user-supplied qsort/compare algorithm was confusing the Solaris qsort() +routine, causing it to SEGV by trying to process a record prior to the +beginning of the passed array of records. +</UL> + +<H2>Beta release 1.0.b18 (11/13/00)</H2> +<UL> +<P> +<LI> Fixed bug in handling bitpix=-32 (single float) images. + +<P> +<LI> Fixed gio gskip routine to better handle skip of 0 bytes. +</UL> + +<H2>Beta release 1.0.b17 (11/10/00)</H2> +<UL> + +<P> +<LI> Fixed working of $REGION keyword in funtable. + +<P> +<LI> Removed FunFlush() from end of funtable (it was redundant). + +<P> +<LI> Fixed bug in gopen() handling of "pipe:". + +<P> +<LI> Fixed bug in gseek() where pipes, streams, and sockets were +not skipping bytes properly (that can do skips, but cannot do other +sorts of seek). + +</UL> + +<H2>Beta release 1.0.b16 (10/23/00)</H2> +<UL> + +<P> +<LI> Added -s switch to funcnts to support display of summed results +(as well as individual results for each region), i.e. each row in the +summed bkgd-subtracted table contains the sum of counts and areas from +previous rows. + +<P> +<LI> Added -f [format] switch to fundisp to allow control over the +display format for each data type. + +<P> +<LI> Fixed bug in which regions could be incorrectly re-ordered. This +was a problem with annular ellipses and rectangles created by ds9 and +then used in funcnts (the only program where the order of the regions is +important). +</UL> + +<H2>Beta release 1.0.b15 (10/11/00)</H2> +<UL> + +<P> +<LI> Changed the names of routines FunEventsGet() and FunEventsPut() +to FunTableRowGet() and FunTableRowPut(), respectively. The old names +are still valid (using #define in funtools.h), so no code change is +required. + +<P> +<LI> Changed funevents program name to funtable, in line with API changes. + +<P> +<LI> Renamed FunInfoGet/Put() parameter FUN_EVSIZE to FUN_ROWSIZE, in +order to reflect change from use of "events" to use of "row" in +funtools binary table support. The old name is still supported as +an alias. + +<P> +<LI> Completed first version of funmerge program to merge FITS binary tables. + +<P> +<LI> Fixed bug in line region shape that was causing a SEGV with event data. + +<P> +<LI> Fixed minor compiler warnings using "gcc-Wall". + +<P> +<LI> Added the ability for FunOpen() to open a list of event files and +read events from this list synchronously or asynchronously. This +facility is part of an experimental set of parallel processing +techniques that are being added to funtools. Documentation will be +forthcoming when we know which techniques have value! +</UL> + +<H2>Beta release 1.0.b14 (9/22/00)</H2> +<UL> + +<P> +<LI> Added first version of funmerge program to merge FITS binary tables. + +<P> +<LI> Changed the output format of funcnts so that the main results +(background-subtracted table) are displayed first. This means that the +result columns always start at line 4 in the file (after a 1-line +comment and a 2-line header) and end at the first blank line. The +fixed format makes it easier for programs such as sed to extract +results for further processing. For example: + +<PRE> + csh> cat fun.sed + 1,/---- .*/d + /^$/,$d + + csh> funcnts snr.ev[pha==1] "annulus 512 512 0 200 n=8" | sed -f fun.sed + 1 49.000 7.000 0.000 0.000 1941 0.025 0.004 + 2 91.000 9.539 0.000 0.000 5884 0.015 0.002 + 3 129.000 11.358 0.000 0.000 9820 0.013 0.001 + 4 159.000 12.610 0.000 0.000 13752 0.012 0.001 + 5 176.000 13.266 0.000 0.000 17652 0.010 0.001 + 6 183.000 13.528 0.000 0.000 21612 0.008 0.001 + 7 137.000 11.705 0.000 0.000 25528 0.005 0.000 + 8 198.000 14.071 0.000 0.000 29420 0.007 0.000 +</PRE> + +<P> +<LI> Fixed bug in row# processing in which all range was ignored if +lo range value was 1 (e.g., row#=1:7). + +<P> +<LI> Fixed bug in event header processing in which the multiple +instances of keywords HISTORY, COMMENT, and CONTINUE were not all +being copied from the old to the new header (e.g. in funevents). + +<P> +<LI> Fixed processing of ARRAY() and EVENTS() specifiers in FunOpen(). + +<P> +<LI> Fixed 'make clean' directive so that it also cleans funtools subdirs. +</UL> + +<H2>Beta release 1.0.b12 (9/5/00)</H2> +<UL> + +<P> +<LI> Improved the performance of panda regions so that the funcnts +"wall time" now is proportional to the size of the panda region, not +the size of the image. (The latter is the case with the pie shape; use +of panda is recommended over pie.) This means that it is possible to +run funcnts on an ACIS file at zoom 1 (8192x8192) in seconds rather +than (tens of) minutes. + +<P> +<LI> Added support for INET sockets to gio and hence, to funtools. +This means that you can read/write from/to sockets on other machines, +creating a distributed pipeline. For example: +<PRE> + on m1: funevents foo.ev m2:1428 + on m2: funevents :1428 m3:1428 + on m3: funevents :1428 ... +</PRE> +etc. Tests indicate that this is faster than pipes on a single +machine, once the CPU is saturated on that machine. (But note that it +is not faster until the CPU is saturated, due to the efficiency of +Unix pipes and the I/O wait time on non-saturated CPUs.) This new +facility implements the parallel processing technique called "process +decomposition" for pipelines, in which a pipeline process is run on +several machines at once, with different machines handling separate +parts of the pipeline process. +<P> +NB: socket support requires that the libraries: +<PRE> + -lsocket -lnsl +</PRE> +be added to the Solaris link line. + +<P> +<LI> Added support for the row#=lo:hi keyword to process specific rows +in a FITS binary table. For example: +<PRE> + funevents "test.ev[row#=3:8]" stdout ... +or + funevents "test.ev[row#=(3,8)]" stdout ... +</PRE> +will only process rows 3 to 8 (inclusive) of the test.ev file. Along +with image section specification, use of the row#= keyword implements +the parallel processing technique called "data decomposition", in +which several copies of a single program operate on different parts of +a single data file. + +<P> +<LI> Added guard code to image region processing to catch illegal event +values. + +<P> +<LI> Fixed bug when writing FITS image extensions in which dim1, dim2, +and bitpix were being output as 0. + +<P> +<LI> reversed the y row order of displayed images in fundisp, so that pixel +(1,1) is in the lower left corner, as is the case for ds9 image display. +</UL> + +<H2>Beta release 1.0.b11 (8/10/00)</H2> +<UL> + +<P> +<LI> Fixed annulus accelerators and panda regions -- again. Old +problems (from the original implementation) were uncovered related to +the use of these shapes in boolean expressions. Documented an old +restriction that panda and accelerators must be put last in a boolean +expression and added code to signal an error if they are not placed last. + +<P> +<LI> The behavior of the point shape was changed so that multiple x,y +pairs in a single shape specifier now are assigned different region +ids. This makes the behavior of points and annuli consistent with one +another. +</UL> + +<H2>Beta release 1.0.b10 (8/08/00)</H2> +<UL> + +<P> +<LI> Fixed annulus accelerators and panda regions. These were +broken when dynamic loading was implemented. + +<P> +<LI> Fixed a bug in the event filter body code (i.e., the basis for +the slave filter program). Reading the data sometimes incorrectly +calculated the number of events being passed -- which only showed up +occasionally on the Alpha! +</UL> + +<H2>Beta release 1.0.b9 (8/03/00)</H2> +<UL> +<P> +<LI> Removed compilation of some extraneous routines from wcs library. +Also renamed wcssubs directory to wcs. + +<P> +<LI> Added calls to hlength() before wcsinit(). This is necessary in +ds9 (and is a safeguard in other programs) because once hlength() is +called before any invocation of wcsinit(), it must always be used. + +<P> +<LI> Fixed bug in filter code in which CTYPE1 and CTYPE2 param values +were not being passed to wcsinit() as valid FITS strings: the single +quotes were missing. + +<P> +<LI> Fixed a bug in fitsy in which the card buffer was not being +null-terminated properly when a "card insert" call reallocated space +for more cards. + +<P> +<LI> Added protective code so that one cannot set FILTER_PTYPE to +"dynamic" if dynamic filter objects are not available. + +<P> +<LI> Ported to Debian Linux, which (believe it or not) required +removal of extraneous strdup() and strstr() declarations in the code +(apparently these are macros in that version of Debian gcc, so you +cannot declare them). +</UL> + +<H2>Beta release 1.0.b8 (8/01/00)</H2> +<UL> + +<P> +<LI> Added new filter ptype ("contained"), which builds a separate +process by compiling both the main routine and the region code. This +is different from the "process" ptype, which compiles the main +routine, but links in pre-compiled region code (in order to make the +program build more quickly). It is needed by ds9 so that the latter +does not have to keep track of the compiled region code module. +</UL> + +<H2>Beta release 1.0.b7 (7/25/00)</H2> +<UL> + +<P> +<LI> Changed filter code so that, in simple cases, we can access the +contents of a file. This is needed so that funcnts can work properly in one +oft-used case, i.e., if the file foo contains: +<PRE> + circle 5 5 1 + circle 4 4 1 +</PRE> +then: +<PRE> + funcnts foo.fits @foo +</PRE> +now will display the 2 regions in its output, instead of displaying the +near useless "@foo". This only works for simple cases where only a file +is input, not in odd combinations like: +<PRE> + funcnts foo.fits "@foo,circle 1 1 1" +</PRE> + +<P> +<LI> Added programming tutorial and enhanced the programming +reference documentation. + +<P> +<LI> Ported to Windows via the Cygwin environment from +RedHat. We tested on an NT box, which has decent multi-tasking +support. Whether it works on Windows95 is unknown. + +<P> +<LI> Upgraded WCS libraries to 2.8.3. + +<P> +<LI> Ported to new and strict SGI C compiler, which uncovered +lots of unused variables, etc. + +<P> +<LI> Fixed FunParamPut status return. +</UL> + +<H2>Beta release 1.0.b6 (7/15/00)</H2> +<UL> + +<P> +<LI> Ran Purify with each high level program and each funtest +program. +<P> +<LI> Changed behavior of merge=update option of +FunColumnSelect() so that the update of the user column value only +takes place if the user mode has "w" in it. Previously, merge=update +overrode the mode flag and always updated the user value. Note that +all calls to FunColumnSelect with merge=update must change "r" to "rw" +in order to have that user column merged. (The merge=replace already +was checking the mode flag -- the fact that they were doing different +things is a bug.) +<P> +<LI> Added ability to FunOpen extensions by HDU name. (I +thought I had already done this!) +<P> +<LI> Fixed bug that was adding a NULL table at the end of +most binary table files (i.e., those that were not copying the rest of +the input file). +<P> +<LI> Re-ported to Alpha. The problem found most often was the +casting of pointers to ints when doing pointer calculations, i.e.: +<PRE> + char *s, *t; + n = ((int)s - (int)t); +</PRE> +which is invalid on the 64-bit Alpha. Instead use: +<PRE> + char *s, *t; + n = (s - t); +</PRE> +Also broadened the check for use of dlopen in configure to match Alpha's +library configurations (On Alpha, dlopen is in libc). + +<P> +<LI> Changed FunColumnActivate() so that funtools will +process columns in the sorted order specified by that routine. Thus: +<PRE> + fundisp foo.ev "time y x" +</PRE> +will display columns in that order. + +<P> +Sorting does not take place if the activate list contains only exclude +columns (since there is nothing to sort). Also, you can turn off +sorting altogether (mimicking the old behavior) by calling +FunColumnActivate() with a "sort=false" in the plist argument: +<PRE> + FunColumnActivate(fun, "y x", "sort=false"); +</PRE> +or by adding "sort=false" to the activate string itself: +<PRE> + # by default, its sorted + fundisp $E "time y x" + TIME Y X + ---------------- ------- ------- + 6.8500 -7 -7 + 6.8600 -7 -7 +</PRE> +while: +<PRE> + # turn off sorting + ./fundisp $E "time y x sort=false" + X Y TIME + ------- ------- ---------------- + -7 -7 6.8500 + -7 -7 6.8600 + -7 -7 6.8700 +</PRE> +</UL> + +<H2>Beta release 1.0.b5 (7/8/00)</H2> +<UL> + +<P> +<LI> Changed all FunParamSet calls to FunParamPut, to make the +naming consistent with FunImagePut, FunEventsPut, etc. + +<P> +<LI> Fixed bugs preventing tlmin/tlmax from being changed by the +user in binary tables. Also tlmin/tlmax are now written out using a +data type that matches the data type of the respective column. + +<P> +<LI> Extended filter syntax to allow "," as separator between +filename and filters (as well as brackets), i.e.: +<PRE> + foo.fits,events # event extension + foo.fits,pha==1 # filter on default extension + foo.fits,1 # first extension +</PRE> +Note that all but simple expressions will need to be quoted because +of the shell: +<PRE> + foo.fits,pha==1&&pi==2 # & tells shell to run in bkgd + foo.fits,pha==1||pi==2 # similar problems with pipes + foo.fits,circle(1,2,3) # parens are grabbed by shell +</PRE> + +<P> +<LI> Fixed configure so that --with-lib is no longer necessary +to generate a single funtools.a library. Removed this argument from +saoconfig. Note that: +<PRE> + ./configure +</PRE> + +now works properly again, so saoconfig should not be used. + +<P> +<LI> Changed FunFlush() mode argument (single characters) to a +plist argument (keyword arguments). In particular, +<PRE> + FunFlush(fun, "C"); +</PRE> +is now: +<PRE> + FunFlush(fun, "copy=remaining"); +(or FunFlush(fun, "copy=remainder"); ) +</PRE> + +This syntax extension allows FunFlush to support the copy of the +extension associated with the reference handle, which allows one to +copy any extension from an input file to an output file: +<PRE> + /* open a new input extension */ + ifun = FunOpen(...); + /* make this new extension the output reference extension */ + FunInfoPut(ofun, FUN_IFUN, &ifun, 0); + /* copy the current reference extension to output */ + FunFlush(ofun, "copy=reference"); +</PRE> + +<P> +<LI> Fixed bugs in region parser that caused pure floating +point positions (i.e., numbers w/o format characters) always to be +interpreted as pixels. Also fixed galactic and ecliptic conversions. +</UL> + +<HR> +<P> +<A HREF="./help.html">Index to the Funtools Help Pages</A> + +<HR> +<A HREF="./help.html">Index to the Funtools Help Pages</A> + +<H5>Last updated: November 17, 2005</H5> + +</BODY> +</HTML> |