IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29133


Ignore:
Timestamp:
Sep 9, 2010, 10:15:42 AM (16 years ago)
Author:
bills
Message:

from trunk. Fix bugs setting zero points

Location:
tags/ipp-20100823/Ohana/src/addstar
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • tags/ipp-20100823/Ohana/src/addstar

  • tags/ipp-20100823/Ohana/src/addstar/include/addstar.h

    r28965 r29133  
    121121char    ZERO_POINT_OPTION[64];
    122122float   ZERO_POINT_OFFSET;
     123float   ZERO_POINT_ERROR;
     124float   ZPT_OBS_PHU;
     125float   ZPT_ERR_PHU;
    123126
    124127// carries the mosaic into gstars
  • tags/ipp-20100823/Ohana/src/addstar/src/GetZeroPointExposure.c

    r27435 r29133  
    1717
    1818// PHU_HEADER: in this case, the zero point measured for the entire exposure and reported in
    19 // the PHU header is used to set the zero point offset for each chip.  Note that in this case,
    20 // ZERO_POINT_OFFSET in this funciton is actually set to the zero point, and adjusted to an
    21 // offset in ReadImageHeader based on the per-chip zero points in the photcode database
     19// the PHU header is used to set the zero point offset for each chip. 
     20// Here set ZPT_OBS_PHU and ZPT_ERR_PHU to the observed values from the header.
     21// ZERO_POINT_OFFSET is calculated in ReadImageHeader based on the per-chip zero points in the
     22// photcode database.
    2223
    2324int GetZeroPointExposure (Header **headers, HeaderSet *headerSets, off_t Nimages) {
     
    2627    if (!strcasecmp(ZERO_POINT_OPTION, "NOMINAL")) {
    2728        ZERO_POINT_OFFSET = 0.0;
     29        ZERO_POINT_ERROR = NAN;
    2830        return (TRUE);
    2931    }
     
    3234    if (!strcasecmp(ZERO_POINT_OPTION, "CHIP_HEADER")) {
    3335        ZERO_POINT_OFFSET = 0.0;
     36        ZERO_POINT_ERROR = NAN;
    3437        return (TRUE);
    3538    }
     
    3942
    4043        int i, Nzpt, Nmid, Nhead;
    41         float *zpt, ZPT_OBS;
     44        float *zpt, ZPT_OBS, ZPT_ERR;
    4245        PhotCode *photcode;
    4346        char photname[80];
     
    5356                fprintf (stderr, "zero point not supplied in header\n");
    5457                continue;
     58            }
     59           
     60            if (!gfits_scan (headers[Nhead], "ZPT_ERR", "%f", 1, &ZPT_ERR)) {
     61//              XXX should we emit this message? We currently aren't using this value so no
     62//              fprintf (stderr, "zero point not supplied in header\n");
     63//              continue;
     64                ZPT_ERR = NAN;
    5565            }
    5666           
     
    7888            fprintf (stderr, "WARNING: zero point is not measured, no valid entries in headers\n");
    7989            ZERO_POINT_OFFSET = 0.0;
     90            ZERO_POINT_ERROR = NAN;
    8091            free (zpt);
    8192            return (FALSE);
     
    8697        ZERO_POINT_OFFSET = (Nzpt % 2) ? zpt[Nmid] : 0.5*(zpt[Nmid] + zpt[Nmid-1]);
    8798        free (zpt);
     99        // XXX: TODO calculate someting for ZERO_POINT_ERROR
     100        ZERO_POINT_ERROR = NAN;
    88101        return (TRUE);
    89102    }
     
    92105    if (!strcasecmp(ZERO_POINT_OPTION, "PHU_HEADER")) {
    93106        int i, Nhead;
    94         float ZPT_OBS;
    95107
    96108        ZERO_POINT_OFFSET = 0.0;
     109        ZERO_POINT_ERROR = NAN;
    97110        for (i = 0; i < Nimages; i++) {
    98111            if (strcmp(headerSets[i].exthead, "PHU")) continue;
    99112            Nhead = headerSets[i].extnum_head;
    100113           
     114            float ZPT_OBS, ZPT_ERR;
    101115            if (!gfits_scan (headers[Nhead], "ZPT_OBS", "%f", 1, &ZPT_OBS)) {
    102116                fprintf (stderr, "WARNING: zero point is not measured, no valid entries in headers\n");
    103117                return (FALSE);
    104118            }
    105             ZERO_POINT_OFFSET = ZPT_OBS;
     119            if (!gfits_scan (headers[Nhead], "ZPT_ERR", "%f", 1, &ZPT_ERR)) {
     120                fprintf (stderr, "WARNING: zero point error is not measured\n");
     121//              XXX: Do we want to require ZPT_ERR? for now just set it to zero and proceed.
     122//              return (FALSE);
     123                ZPT_ERR = NAN;
     124            }
     125            ZPT_OBS_PHU = ZPT_OBS;
     126            ZPT_ERR_PHU = ZPT_ERR;
    106127            return (TRUE);
    107128        }
  • tags/ipp-20100823/Ohana/src/addstar/src/ReadImageHeader.c

    r28214 r29133  
    220220          fprintf (stderr, "zero point not supplied in header\n");
    221221          ZERO_POINT_OFFSET = 0.0;
     222          ZERO_POINT_ERROR = NAN;
    222223      } else {
    223224          ZERO_POINT_OFFSET = 0.001*photcodeData[0].C - ZPT_OBS;
     225          float ZPT_ERR;
     226          if (!gfits_scan (header, "ZPT_ERR", "%f", 1, &ZPT_ERR)) {
     227              // XXX: do we want to print this message?
     228              fprintf (stderr, "zero point error not supplied in header\n");
     229              ZPT_ERR = NAN;
     230          }
     231          ZERO_POINT_ERROR = ZPT_ERR;
    224232      }
    225233  }
     
    230238          fprintf (stderr, "photcode data not supplied for this chip\n");
    231239          ZERO_POINT_OFFSET = 0.0;
     240          ZERO_POINT_ERROR = NAN;
    232241      } else {
    233           ZERO_POINT_OFFSET = 0.001*photcodeData[0].C - ZERO_POINT_OFFSET;
     242          ZERO_POINT_OFFSET = 0.001*photcodeData[0].C - ZPT_OBS_PHU;
     243          ZERO_POINT_ERROR =  ZPT_ERR_PHU;
    234244      }
    235245  }
     
    237247  /* secz is in units milli-airmass */
    238248  image[0].Mcal = ZERO_POINT_OFFSET;
     249  image[0].dMcal = ZERO_POINT_ERROR;
    239250  image[0].Xm   = NAN_S_SHORT;
    240251  image[0].flags = 0;
Note: See TracChangeset for help on using the changeset viewer.