IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 26966


Ignore:
Timestamp:
Feb 16, 2010, 4:15:22 PM (16 years ago)
Author:
eugene
Message:

push zero point values into chip headers as well as fpa header

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psastro/src/psastroZeroPoint.c

    r26964 r26966  
    6767        psTrace ("psastro", 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process);
    6868        if (!chip->process || !chip->file_exists) { continue; }
    69         if (!chip->toFPA) { continue; }
    7069
    7170        while ((cell = pmFPAviewNextCell (view, fpa, 1)) != NULL) {
     
    9392
    9493    if (byExposure) {
    95         psMetadata *header = psMetadataLookupMetadata (&status, fpa->analysis, "PSASTRO.HEADER");
    96         if (!header) {
    97           header = psMetadataAlloc ();
    98           psMetadataAddMetadata (fpa->analysis, PS_LIST_TAIL, "PSASTRO.HEADER",  PS_META_REPLACE, "psastro header stats", header);
    99           psFree (header);
    100         }
    101         psastroZeroPointAnalysis (header, dMag, zeropt, recipe);
    102         psFree (dMag);
    103         dMag = NULL;
     94        psMetadata *header = psMetadataLookupMetadata (&status, fpa->analysis, "PSASTRO.HEADER");
     95        if (!header) {
     96            header = psMetadataAlloc ();
     97            psMetadataAddMetadata (fpa->analysis, PS_LIST_TAIL, "PSASTRO.HEADER",  PS_META_REPLACE, "psastro header stats", header);
     98            psFree (header);
     99        }
     100        psastroZeroPointAnalysis (header, dMag, zeropt, recipe);
     101        psFree (dMag);
     102        dMag = NULL;
     103
     104        float zptObs = psMetadataLookupF32 (&status, header, "ZPT_OBS");
     105        float zptRef = psMetadataLookupF32 (&status, header, "ZPT_REF");
     106        float zptErr = psMetadataLookupF32 (&status, header, "ZPT_ERR");
     107        float zptOff = psMetadataLookupF32 (&status, header, "ZPT_OFF");
     108
     109        // copy the zero point metadata from the fpa header to the chip headers
     110        for (int i = 0; i < fpa->chips->n; i++) {
     111            pmChip *chip = fpa->chips->data[i];
     112            if (!chip) continue;
     113            if (!chip->process) continue;
     114            if (!chip->file_exists) continue;
     115
     116            for (int j = 0; j < chip->cells->n; j++) {
     117                pmCell *cell = chip->cells->data[j];
     118                if (!cell) continue;
     119                if (!cell->process) continue;
     120                if (!cell->file_exists) continue;
     121
     122                for (int k = 0; k < cell->readouts->n; k++) {
     123                    pmReadout *readout = cell->readouts->data[k];
     124                    if (!readout) continue;
     125                    if (!readout->data_exists) continue;
     126
     127                    // calculate dMag for the matched stars just for this readout (well, chip)
     128                    psMetadata *header = psMetadataLookupMetadata (&status, readout->analysis, "PSASTRO.HEADER");
     129
     130                    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_OBS", PS_META_REPLACE, "measured zero point",  zptObs);
     131                    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_REF", PS_META_REPLACE, "reference zero point", zptRef);
     132                    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_ERR", PS_META_REPLACE, "error on zero point",  zptErr);
     133                    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_OFF", PS_META_REPLACE, "zero point offset",    zptOff);
     134                }
     135            }
     136        }
    104137    }
    105138
     
    184217
    185218    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_OBS", PS_META_REPLACE, "measured zero point", stats->clippedMean);
    186     psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_REF", PS_META_REPLACE, "measured zero point", zeropt);
    187     psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_ERR", PS_META_REPLACE, "measured zero point", stats->clippedStdev);
    188     psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_OFF", PS_META_REPLACE, "measured zero point", zeropt - stats->clippedMean);
     219    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_REF", PS_META_REPLACE, "reference zero point", zeropt);
     220    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_ERR", PS_META_REPLACE, "error on zero point", stats->clippedStdev);
     221    psMetadataAddF32 (header, PS_LIST_TAIL, "ZPT_OFF", PS_META_REPLACE, "zero point offset",    zeropt - stats->clippedMean);
    189222
    190223    psFree (stats);
Note: See TracChangeset for help on using the changeset viewer.