=== Tim's archive === <> ---- 5/15/2008 * Add function to generate test images with different data types. We would like populate the images with known values including Nan, Inf,Min,Max. * We use these test images to check cfitsio wrapper read/write compress/uncompress functionalities. * The first test shows that images (of bytes, shorts, longs, float, double) seem to go through compress/uncompress without rounding errors. * Image (double) with NaN seem to change the value of the whole row to NaN. We will do more tests. * Art found an unexpected result when writing image with signed bytes. I help searching for info on how cfitsio library handling these cases. ---- . 5/8/2008 * Found the bug in cfitsio_read_file() that fails to read compress file. * We now have away to pass compression parameters through DRMS, using extended filename. So, we remove this setting at lower level. * Move cfitsio functions which use headers to a separate file. * Add code to modify keylist to reflect current image dimensions and support export senario. ---- . 4/10/2008 * We have tested many low level functions that cfitsio library provides for writing multi-dimension image to fits file format. * We are wrapping them into fews functions that we are going use and we choose to develop functions for image cube first. * We almost finish with implementing this list * cfitsio_create_cube(filename, data_type, dimensions) * cfitsio_apend_slices(filename, axis, number_of_slices) * cfitsio_insert_slices(filename, axis, number_of_slices, begin_slice) * cfitsio_read_slice(filename, axis,slice_number, buffer) * cfitsio_write_slice(filename, axis, slice_number, buffer) * cfitsio_read_stripe(filename, fpixel, lpixel, buffer) * cfitsio_write_stripe(filename,fpixel, lpixel, buffer) * cfitsio_cascade_cube(filename1, filename2,axis) * cfitsio_truncate_cube(filename,axis,number_of_slices) ---- . 4/3/2008 * Add low level functions to CFITSIO which creates image cubes, slices, stripes of different data types. * It enables image slices extract and insert in different plans. * The image slices and cubes are read and written to fits files. ---- . 3/20/2008 * Continue testing low level function calls to CFITSIO library. * Create image cube, read, write stripes, slices, copy data block in place, in different directions. * We try to wrap these functions, making it easy to use first. * Then, study the (read) access time when 3D images are compressed and read back with different tile sizes and different directions ---- . 3/13/2008 * Add a small structure to cfitsio.c which contains the keys that drms_segment uses, so we parse the key list only once. * Continue to work with Art to integrate cfitsio.c into drms_segment calls. * Begin to work on cfitsio functions to read/write data slices. ----- . 2/28/2008 * Read drms_fits.c to see how to pass parameters to/from cfitsio. A great portion drms_fits.c maybe no longer needed, so we will try to call cfitsio.c directly drms_segment.c. * Met with Art to for cvs checkin location. Art will create the make file for cfitsio for different types of builds. * Note: The C library from HEASARC called "fitsio", cfitsio is our wrapper. * We decide to remove a small header at the beginning of the data block, containing the basic info (naxis, naxes, bitpix,...) These info will be made available by caller function. * Try to combine writing and compressing to file into one step for efficiency ------