Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (2h)  pkgsrc-2024Q1 (2d)  pkgsrc-2023Q4 (76d)  pkgsrc-2023Q2 (109d) 

2024-06-16 10:02:29 UTC Now

2011-03-11 11:56:06 UTC MAIN commitmail json YAML

Update to 3.270, set LICENSE:

Version 3.27 - 3 March 2011

  Enhancements

    - added new routines fits_read_str and fits_delete_str which read or
      delete, respectively, a header keyword record that contains a specified
      character string.

    - added a new routine call fits_free_key_longstr which frees the memory
      that fits_read_key_longstr allocated for the long string keyword value.

    - enhanced the ffmkky routine in fitscore.c to not put a space before the
      equals sign when writing long string-valued keywords using the ESO
      HIERARCH keyword convension, if that extra character is needed to
      fit the length of the keyword name + value string within the 80-character
      FITS keyword record.

    - made small change to fits_translate_keyword to support translation of
      blank keywords (where the name = 8 blank chracters)

    - modified fpack so that it uses the minimum of the 2nd, 3rd, and 5th order
      MAD noise values when quantizing and compressing a floating point image.
      This is more conservative than just using the 3rd order MAD value alone.

    - added new routine imcomp_copy_prime2img to imcompress.c that is used by
      funpack to copy any keywords that may have been added to the primary
      array of the compressed image file (a null image) back into the header of
      the uncompressed image.

    - enhanced the fits_quantize_float and fits_quantize_double routines in
      quantize.c to also compress the tile if it is completely filled with
      null values.  Previously, this type of tile would have been written
      to the output compressed image without any compression.

    - enhanced imcomp_decompress_tile to support implicit datatype conversion
      when reading a losslessly compressed (with gzip) real*4 image into an
      array of real*8 values.

Version 3.26 - 30 December 2010

  Enhancements

  - defined 2 new macros in fitsio.h:
      #define CFITSIO_MAJOR 3
      #define CFITSIO_MINOR 26
    These may be used within other macros to detect the CFITSIO
    version number at compile time.

  - modified group.c to initialize the output URL to a null string in
    fits_url2relurl.  Also added more robust tests to see if 2 file
    pointers point to the same file.

  - enhanced the template keyword parsing code in grparser.c to support
    the 'D' exponent character in the ASCII representation of floating
    point keyword values (as in TVAL = 1.23D03).  Previously, the parser
    would have writen this keyword with a string value (TVAL = '1.23D03').

  - modified the low-level routines that write a keyword record to a FITS
    header so that they silently replace any illegal characters (ASCII
    values less than 32 or greater than 126) with an ASCII space character.
    Previously, these routines would have returned with an error when
    encountering these illegal characters in the keyword record (most commonly
    tab, carriage return, and line feed characters).

  - made substantial internal changes to imcompress.c in preparation for
    possible future support for compression methods for FITS tables analogous
    to the tiled image compression method.

  - replaced all the source code in CFITSIO that was distributed under the
    GNU General Public License with freely available code.  In particular,
    the  gzip file compression and uncompression code was replaced by the
    zlib compression library.  Thus, beginning with this version 3.26 of CFITSIO,
    other software applications may freely use CFITSIO without necessarily
    incurring any GNU licensing requirement.  See the License.txt file for
    the CFITSIO licensing requirements.

  - added support for using cfitsio in different 'locales' which use a
    comma, not a period, as the decimal point character in ASCII
    representation of a floating point number (e.g., France).  This
    affects how floating point keyword values and floating point numbers
    in ASCII tables are read and written with the 'printf' and 'strtod'
    functions.

  - added a new utility routine called fits_copy_rows/ffcprw that copies
    a specified range of rows from one table to another.

  - enhanced the test for illegal ASCII characters in a header (fftrec) to
    print out the name of the offending character (e.g TAB or Line Feed) as
    well as the Hex value of the chracter.

  - modified ffgtbc (in fitscore.c) to support nonstandard vector variable
    length array columns in binary tables (e.g. with TFORMn = 2000PE(500)').

  - modified the configure file to add "-lm" when linking CFITSIO on
    Solaris machines.

  - added new routine, fits_get_inttype, to parse an integer keyword value
    string and return the minimum integer datatype (TBYTE, TSHORT, TLONG,
    TLONGLONG) required to store the integer value.

  - added new routine, fits_convert_hdr2str, which is similar to fits_hdr2str
    except that if the input HDU is a tile compressed image (stored
    in a binary table) then it will first convert that header back to
    that of a normal uncompressed FITS image before concatenating the header
    keyword records.

  - modified the file template reading routine (ngp_line_from_file in
    grparser.c) so that it ignores any carriage return characters (\r)
    in the line, that might be present, e.g. if the file was created on a
    Windows machine that uses \r\n as end of line characters.

  - modified the ffoptplt routine in cfileio.c to check if the PCOUNT
    keyword in the template file has a non-zero value, and if so, resets
    it to zero in the newly created file.

  Bug Fixes

  - fixed a bug when uncompressing floating-point images that contain Nan
    values on some 64-bit platforms.

  - fixed a bug when updating the value of the CRPIXn world coordinate
    system keywords when extracting a subimage from larger FITS image, using the
    extended CFITSIO syntax (e.g.  myimage[1:500:2, 1:500:2]).  This bug only
    affects casee where the pixel increment value is not equal to 1, and caused
    the coordinate grid to be shifted by between 0.25 pixels (in the case of
    a pixel increment of 2) and 0.5 pixels (for large pixel increment values).

  - fixed a potential string buffer overflow error in the ffmkls routine
    that modifies the value and comment strings in a keyword that uses
    the HEASARC long string keyword convention.

  - fixed a bug in imcompress.c that could cause programs to abort on 64-bit
    machines when using gzip to tile-compress images.  Changed the declaration
    of clen in imcomp_compress_tile from int to size_t.

Version 3.25 - 9 June 2010

  - fixed bug that was introduced in version 3.13 that broke the ability
    to reverse an image section along the y-axis with an image section
    specifier like this: myimage.fits[*,-*].  This bug caused the output
    image to be filled with zeros.

  - fixed typo in the definition of the ftgprh Fortran wrapper routine
    in f77_wrap3.c.

  - modified the cfitsio.pc.in configuration file to make the lib path
    a variable instead of hard coding the path.  The provides more
    flexibility for projects such as suse and fedora when building CFITSIO.

  - fixed bug in imcomp_compress_tile in imcompress.c which caused
    null pixel values to be written incorrectly in the rare case where
    the floating-point tile of pixels could not be quantized into integers.

  - modified imcompress.c to add a new specialized routine to uncompress
    an input image and then write it to a output image on a tile by tile basis.
    This appears to be faster than the old method of uncompressing the
    whole image into memory before writing it out.  It also supports
    large images with more than 2**31 pixels.

  - made trivial changes to 2 statements in drvrfile.c to suppress
    nuisance compiler warnings.

  - some compilers define CLOCKS_PER_SEC as a double instead of an integer,
    so added an explicted integer type conversion to 2 statements in
    imcompress.c that used this macro.

  - removed debugging printf statements in drvrnet.c (15 July)

Version 3.24 - 26 January 2010

  - modified fits_translate_keywords so that it silently ignores any
    illegal ASCII characters in the value or comment fields of the input
    FITS file. Otherwise, fpack would abort without compressing input
    files that contained this minor violation of the FITS rules.

  - added support for Super H cpu in fitsio2.h

  - updated funpack to correctly handle the -S option, and to use a
    more robust algorithm for creating temporary output files.

  - modified the imcomp_compress_tile routine to support the NOCOMPRESS
    debugging option for real*4 images.

Version 3.23 - 7 January 2010

  - reduced the default value for the floating point image quantization
    parameter (q) from 16 to 4.  This parameter is used when tile compressing
    floating point images.  This change will increase the average compression
    ratio for floating point images from about 4.6 to about 6.5 without losing
    any significant information in the image.

  - enhanced the template keyword parsing routine to reject a header
    template string that only contains a sequence of dashes.

  - enhanced the ASCII region file reading routine to allow tabs as well
    as spaces between fields in the file.

  - got rid of bogus error message when calling fits_update_key_longstr

  - Made the error message more explicit when CFITSIO tries to write
    to a GZIP compressed file.  Instead of just stating "cannot write
    to a READONLY file", it will say "cannot write to a GZIP compressed
    file".

Version 3.22 - 28 October 2009

  - added an option (in imcompress.c) to losslessly compress floating
    point images, rather than using the default integer scaling method.
    This option is almost never useful in practice for astronomical
    images (because the amount of compression is so poor), but it has
    been added for test comparison purposes.

  - enhanced the dithering option when quantizing and compressing
    floating point images so that a random dithering starting point
    is used, so that the same dithering pattern does not get used for
    every image.

  - modified the architecture setup section of fitsio2.h to support the
    64-core 8x8-architecture Tile64 platform (thanks to Ken Mighell, NOAO)

  Fixes

  - fixed a problem that was introduced in version 3.13 of CFITSIO
    in cases where a program writes it own END keyword to the header
    instead of letting CFITSIO do it, as is strongly recommended.  In
    one case this caused CFITSIO to rewrite the END keyword and any
    blank fill keywords in the header many times, causing a
    noticeable slow-down in the FITS file writing speed.

Version 3.21 - 24 September 2009

  - fixed bug in cfileio.c  that caused CFITSIO to crash with a bus error
    on Mac OS X if CFITSIO was compiled with multi-threaded support (with
    the  --enable-reentrant configure option). The Mac requires an
    additional thread initialization step that is not required on Linux
    machines.  Even with this fix, occasional bus errors have been seen on
    some Mac platforms, The bus errors are seen when running the
    thread_test.c program.  The bus errors are very intermittent, and occur
    less than about 1% of the time, on the affected platforms.
    These bus errors have not been seen on Linux platforms.

  - fixed invalid C comment delimiter ("//*" should have been "/*")
    in imcompress.c.

  - Increased the CFITSIO version number string length
    in fpackutil.c, to fix problem on some platforms when running
    fpack -V or funpack -V.  Also modified the output format of the
    fpack -L command.

Version 3.20 - 31 August 2009

  - modified configure.in and configure so that it will build the Fortran
    interface routines by default, even if no Fortran compiler is found
    in the user's path. Building the interface routines may be disabled
    by specifying FC="none".  This was done at the request of users who
    obtained CFITSIO from some other standard linux distributions, where
    CFITSIO was apparently built in an environment that had no Fortran
    compiler and hence did not build the Fortran wrappers.

  - modified ffchdu (close HDU) so that it calls the routine to update
    the maximum length of variable length table columns in the TFORM
    values in all cases  where the values may have changed.  Previously
    it would not update the values if a value was already specified in
    the TFORM value.

  - added 2 new string manipulation functions to the CFITSIO parser
    (contributed by Craig Markwardt): strmid extracts a substring
    from a string, and strstr searches for a substring within a string.

  - removed the code in quantize.c that treated "floating-point integer"
    images as a special case (it would just do a datatype conversion from
    float to int, and not otherwise quantize the pixel values).  This
    caused complications with the new subtractive dithering feature.

  - enhanced the code for converting floating point images to quantized
    scaled integer prior to tile-compressing them, to apply a random
    subtractive dithering, which improves the photometric accuracy
    of the compressed images.

  - added new internal routine, iraf_delete_file, for use by fpack to
    delete a pair of IRAF format header and pixel files.

  - small change in cfileio.c in the way it recognizes an IRAF format
    .imh file.  Instead of just requiring that the filename contain the
    ".imh" string, that string must occur at the end of the file name.

  - fixed bug in the code that is used when tile-compressing real*4 FITS
    images, which quantizes the floating point pixel values into
    integer levels.  The bug would only appear in the fairly rare
    circumstance of tile compressing a floating point image that contains
    null pixels (NaNs) and only when using the lossy Hcompress algorithm
    (with the s parameter not equal to 1).  This could cause underflow of
    low valued pixels, causing them to appear as very large pixel values
    (e.g., > 10**30)  in the compressed image

  - changed the "if defined" blocks in fitsio.h, fitsio2.h and f77_wrap.h
    to correctly set the length of long variables on sparc64 machines.
    Patch contributed by Matthew Truch (U. Penn).

  - modified the HTTP file access code in drvrnet.c to support basic
    HTTP authentication, where the user supplies a user name and
    password.  The CFITSIO filename format in this case is:
    "http://username:password@hostname/..."
    Thanks to Jochen Liske (ESO) for the suggestion and the code.

Version 3.181 (BETA) - 12 May 2009

  - modified region.c and region.h to add support for additional
    types of region shapes that are supported by ds9: panda, epanda,
    and bpanda.

  - fixed compiler error when using the new _REENTRANT flag, having to
    do with the an attempted static definition of Fitsio_Lock in
    several source files, after declaring it to be non-static in fitsio2.h.

Version 3.18 (BETA) - 10 April 2009

  - Made extensive changes to make CFITSIO thread safe.  Previously,
    all opened FITS files shared a common pool of memory to store
    the most recently read or written FITS records in the files.
    In a multi-threaded environment different threads could
    simultaneously read or write to this common area causing
    unpredictable results. This was changed so that every opened
    FITS file has its own private memory area for buffering the
    file. Most of the changes were in buffers.c, fitsio.h, and
    fitsio2.h. Additional changes were made to cfileio.c, mainly
    to put locks around small sections of code when setting up the
    low-level drivers to read or write the FITS file.  Also, locks
    were needed around the GZIP compression and uncompression code
    in compress.c.,  the error message stack access routine in
    fitscore.c, the encode and decode routines in fits_hcompress.c
    and  fits_hdecompress.c, in ricecomp.c,  and  the table row
    selection and table calculator functions. Also, removed the
    'static' declaration of the local variables in pliocomp.c
    which did not appeared to be required and prevented the
    routines from being thread safe.

    As a consequence of having a separate memory buffer for every
    FITS file (by default, about 115 kB per file), CFITSIO may now
    allocate more memory than previously when an application
    program opens multiple FITS files at once.  The read and write
    speed may also be slightly faster, since the buffers are not
    shared between files.

  - Added new families of Fortran wrapper routines to read and
    write values to large tables that have more than 2**31 rows.
    The arguments that define the first row and first element to
    read or write must be I*8 integers, not ordinary I*4
    integers.  The names of these new routines have 'LL' appended
    to them, so for example, ftgcvb becomes ftgcvbll.

  Fixes

  - Corrected an obscure bug in imcompress.c that would have incorrectly
    written the null values only in the rare case of writing a signed
    byte array that is then tile compressed using the Hcompress or PLIO
    algorithm.

Version 3.14 - 18 March 2009

  Enhancements

  - modified the tiled-image compression and uncompression code to
    support compressing unsigned 16-bit integer images with PLIO.
    FITS unsigned integer arrays are offset by -32768, but the PLIO
    algorithm does not work with negative integer values.  In this
    case, an offset of 32768 is added to the array before compression,
    and then subtracted again when reading the compressed array.
    IMPORTANT NOTE:  This change is not backward compatible, so
    these PLIO compressed unsigned 16-bit integer images will not be
    read correctly by previous versions of CFITSIO; the pixel values
    will have an offset of +32768.

  - minor changes to the fpack utility to print out more complete
    version information with the -V option, and format the report
    produced by the -T option more compactly.

  Fixes

  - Modified imcomp_compress_image (which is called by fpack) so that
    it will preserve any null values (NaNs) if the input image has
    a floating point datatype (BITPIX = -32 or -64).  Null values in
    integer datatype images are handled correctly.

  - Modified imcomp_copy_comp2img so that it does not copy the
    ZBLANK keyword, if present, from the compressed image header
    when uncompressing the image.

  - Fixed typo in the Fortran wrapper macro for the ftexist function.

Version 3.13 -  5 January 2009

  Enhancements

  - updated the typedef of LONGLONG in fitsio.h and cfortran.h to
    support the Borland compiler which uses the  __int64 data type.

  - added new feature to the extended filename syntax so that when
    performing a filtering operation on specified HDU, if you add
    a '#' character after the name or number of the HDU, then ONLY
    that HDU (and the primary array if the HDU is a table) will be
    copied into the filtered version of the file in memory.  Otherwise,
    by default CFITSIO copies all the HDUs from the input file into
    memory.

  - when specifying a section, if the specified number of dimensions
    is less than the number of dimensions in the image, then CFITSIO
    will use the entire dimension, as if a '*' had been specified.
    Thus [1:100] is equivalent to [1:100,*] when specifying a section
    of 2 dimensional image.

  - modified fits_copy_image_section to read/write the section 1 row
    at a time, instead of the whole section, to reduce memory usage.

  - added new stream:// drivers for reading/writing to stdin/stdout.
    This driver is somewhat fragile, but for simple FITS read and
    write operations this driver streams the FITS file on stdin
    or stdout without first copying the entire file in memory, as is
    done when specifying the file name as "-".

  - slight modification to ffcopy to make sure that the END keyword
    is correctly written before copying the data.  This is required
    by the new stream driver.

  - modified ffgcprll, so that when writing data to an HDU, it first
    checks that the END keyword has been written to the correct place.
    This is required by the new stream driver.

  Fixes

  - fixed bug in ffgcls2 when reading an ASCII string column in binary
    tables in cases where the width of the column is greater than 2880
    characters and when reading more than 1 row at a time.  Similar
    change was made to ffpcls to fix same problem with writing to
    columns wider than 2880 characters.

  - updated the source files listed in makepc.bat so that it can be
    used to build CFITSIO with the Borland C++ compiler.

  - fixed overflow error in ffiblk that could cause writing to Large Files
    (> 2.1 GB) to fail with an error status.

  - fixed a bug in the spatial region code (region.c) with the annulus
    region.  This bug only affected specialized applications which
    directly use the internal region structure; it does not affect
    any CFITSIO functions directly.

  - fixed memory corruption bug in region.c that was triggered if the
    region file contained a large number of excluded regions.

  - got rid of a harmless error message that would appear if filtering
    a FITS table with a GTI file that has zero rows. (eval_f.c)

  - modified fits_read_rgnfile so that it removes the error messages
    from the error stack if it is unable to open the region file as
    a FITS file. (region.c)

Version 3.12 - 8 October 2008

  - modified the histogramming code so that the first pixel in the binned
    array is chosen as the reference pixel by default, if no other
    value is previously defined.

  - modified ffitab and ffibin to allow a null pointer to the
    EXTNAME string, when inserting a table with no name.

Version 3.11 - 19 September 2008

  - optimized the code when tile compressing real*4 images (which get
    scaled to integers).  This produced a modest speed increase.  For
    best performance, one must specify the absolute q quantization
    parameter, rather than relative to the noise in the tile (which
    is expensive to compute).

  - modified the FITS region file reading code to check for NaN values,
    which signify the end of the array of points in a polygon region.

  - removed the test for LONGSIZE == 64 from fitsio.h, since it may
    not be defined.

  - modified imcompress.c to support unconventional floating point FITS
    images that also have BSCALE and BZERO keywords.  The compressed
    floating point images are linearly scaled twice in this case.

(wiz)