IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 14, 2011, 4:41:16 PM (15 years ago)
Author:
bills
Message:

Post the results to the data store. Make programs work with outputs in nebulous

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psvideophot/src/psvideoLoop.c

    r32553 r32556  
    5858        ESCAPE("load failure for FPA");
    5959    }
     60
     61    psArray *output = NULL;
    6062
    6163    pmChip *chip;                       // Chip from FPA
     
    136138            }
    137139            psFree(video_extension_name);
    138             psMetadataAddArray(cell->analysis, PS_LIST_TAIL, "VIDEO_DATA", 0, "", video_table);
     140            // psMetadataAddArray(cell->analysis, PS_LIST_TAIL, "VIDEO_DATA", 0, "", video_table);
     141
     142            output = (psArray *) psMemIncrRefCounter(video_table);
    139143
    140144            if (cell->readouts->n != video_table->n) {
     
    195199                double cnpix2 = psMetadataLookupS32(&status, row, "cnpix2");
    196200
     201                // avoid errors from unused variables
    197202                (void) frame_start; (void) frame_complete;
    198203                (void) rowpre; (void) cnpix1; (void) cnpix2; (void) fwhm_x; (void) fwhm_y; (void) fwhm;
     
    206211                double star_readout_y = (centroid_y - cnpix2) / yBin;
    207212
     213#ifdef notdef
    208214                printf("%4d %9.2f %9.2f %9.2f %.1f %.1f %9.6f %6.3f %6.3f %6.3f\n",
    209215                        frame, flux, snr, sky, star_readout_x, star_readout_y, frame_complete - frame_start,
    210216                            fwhm, fwhm_x, fwhm_y);
    211 
     217#endif
    212218                psStatsInit(stats);
    213219
     
    221227                double stddev = stats->sampleStdev;
    222228                double median = stats->sampleMedian;
     229                double vpFlux = 0;
     230                double vpSum = 0;
     231                double xy[2] = {0, 0};
    223232                if (stddev > threshold) {
    224233
    225                     double sum = 0;
    226                     // XXX: use a point data type
    227                     double xy[2];
    228                     Centering(readout->image, EDGE, &sum, xy, median);
    229                     double ourFlux;
    230                     ourFlux = SubSum(readout->image, xy, median);
    231 
    232                     printf("%4d %9.2f %9.2f %9.2f %.1f %.1f %9.2f\n",
    233                              frame, ourFlux, ourFlux/stddev, median, xy[0], xy[1], stddev);
     234                    Centering(readout->image, EDGE, &vpSum, xy, median);
     235
     236                    vpFlux = SubSum(readout->image, xy, median);
     237
     238//                    printf("%4d %9.2f %9.2f %9.2f %.1f %.1f %9.2f\n",
     239//                             frame, vpFlux, vpFlux/median, median, xy[0], xy[1], stddev);
    234240                } else {
    235                     printf("%4d %9.2f %9.2f %8.2f\n",
    236                             frame, 0.0,   stddev, median);
    237                 }
     241//                    printf("%4d %9.2f %9.2f %8.2f\n",
     242//                            frame, 0.0,   stddev, median);
     243                }
     244                if (frame % 60 == 0) {
     245                    printf("frame  flux        sky       snr     X    Y     dt        fwhm   fwhm_x fwhm_y  vp_flux   vp_median vp_sum    vp_stddev vp_x vp_y\n");
     246                }
     247                printf("%4d   %9.2f %9.2f %9.2f %.1f %.1f %9.6f %6.3f %6.3f %6.3f   %9.2f %9.2f %9.2f %9.2f %.1f %.1f\n",
     248                        frame, flux, sky, snr, star_readout_x, star_readout_y, frame_complete - frame_start,
     249                            fwhm, fwhm_x, fwhm_y,
     250                            vpFlux, median, vpSum, stddev, xy[0], xy[1]);
     251                psMetadataAddF32(row, PS_LIST_TAIL, "vp_flux", 0, "vp flux", vpFlux);
     252                psMetadataAddF32(row, PS_LIST_TAIL, "vp_median", 0, "vp meidan", median);
     253                psMetadataAddF32(row, PS_LIST_TAIL, "vp_stddev", 0, "vp meidan", stddev);
     254                psMetadataAddF32(row, PS_LIST_TAIL, "vp_sum", 0, "vp sum of source", vpSum);
     255                psMetadataAddF32(row, PS_LIST_TAIL, "vp_x", 0, "centroid x from vp", xy[0]);
     256                psMetadataAddF32(row, PS_LIST_TAIL, "vp_y", 0, "centroid y from vp", xy[1]);
    238257            }
    239258            psLogMsg ("psvideophotLoop", 5, "Done processing video cell");
     
    262281    psFree(view);
    263282
    264     // Dump configuration
    265     psString dump_file = psMetadataLookupStr(&status, config->arguments, "DUMP_CONFIG");
    266     if (dump_file) {
    267         if (!pmConfigDump(config, dump_file)) {
    268             ESCAPE("Unable to dump configuration.");
    269         }
    270     }
     283    psString outputName = psMetadataLookupStr(&status, config->arguments, "OUTPUT");
     284    psString realName = pmConfigConvertFilename(outputName, config, true, true);
     285    if (!realName) {
     286        psError(PS_ERR_UNKNOWN, false, "failed to convert filename for %s", outputName);
     287        ESCAPE("cannot save output");
     288    }
     289    psFits *outFits = psFitsOpen(realName, "w");
     290    if (!outFits) {
     291        psError(PS_ERR_UNKNOWN, false, "failed to open output filename for %s", outputName);
     292        ESCAPE(" ");
     293    }
     294
     295    psMetadata *outputHeader = lastHDU ? lastHDU->header : NULL;
     296    if (!psFitsWriteTable(outFits, outputHeader, output, "videophotemetry")) {
     297        psError(PS_ERR_UNKNOWN, false, "failed to write videophotometry table");
     298        ESCAPE("cannot write output");
     299    }
     300    psFitsClose(outFits);
    271301
    272302    return true;
Note: See TracChangeset for help on using the changeset viewer.