IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 6513


Ignore:
Timestamp:
Mar 3, 2006, 3:54:42 PM (20 years ago)
Author:
Paul Price
Message:

Fixing headers before writing image.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/rel10_ifa/psLib/src/fits/psFitsImage.c

    r6512 r6513  
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.1.10.1 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2006-03-04 01:23:17 $
     9 *  @version $Revision: 1.1.10.2 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2006-03-04 01:54:42 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    365365    }
    366366
     367    // Update the header
     368    if (header) {
     369        // Update header with BITPIX, NAXIS[12], BSCALE, BZERO so we don't clobber the basic header
     370        psMetadataAddS32(header, PS_LIST_TAIL, "BITPIX", PS_META_REPLACE, "Bits per pixel", bitPix);
     371        psMetadataAddS32(header, PS_LIST_TAIL, "NAXIS1", PS_META_REPLACE, "Bits per pixel", numCols);
     372        psMetadataAddS32(header, PS_LIST_TAIL, "NAXIS2", PS_META_REPLACE, "Bits per pixel", numRows);
     373        psMetadataAddF64(header, PS_LIST_TAIL, "BSCALE", PS_META_REPLACE, "Pixel value scale", 1.0);
     374        psMetadataAddF64(header, PS_LIST_TAIL, "BZERO",  PS_META_REPLACE, "Pixel value offset", bZero);
     375    }
     376
    367377    fits_create_img(fits->fd, bitPix, naxis, naxes, &status);
    368378
    369     if (bZero != 0) {        // set the bscale/bzero
     379    // Write the header
     380    if (header) {
     381        psFitsWriteHeader(header, (psPtr)fits);
     382    } else {
    370383        fits_write_key_dbl(fits->fd, "BZERO", bZero, 12, "Pixel Value Offset", &status);
    371384        fits_write_key_dbl(fits->fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status);
     385    }
     386
     387    if (bZero != 0) {
    372388        fits_set_bscale(fits->fd, 1.0, bZero, &status);
    373     }
    374 
    375     // write the header, if any.
    376     if (header != NULL) {
    377         // Update with BITPIX, NAXIS[12]
    378         psMetadataAddS32(header, PS_LIST_HEAD, "BITPIX", PS_META_REPLACE, "Bits per pixel", bitPix);
    379         psMetadataAddS32(header, PS_LIST_HEAD, "NAXIS1", PS_META_REPLACE, "Bits per pixel", numCols);
    380         psMetadataAddS32(header, PS_LIST_HEAD, "NAXIS2", PS_META_REPLACE, "Bits per pixel", numRows);
    381 
    382         psFitsWriteHeader(header, (psPtr)fits);
    383389    }
    384390
Note: See TracChangeset for help on using the changeset viewer.