IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 19637


Ignore:
Timestamp:
Sep 22, 2008, 11:06:04 AM (18 years ago)
Author:
Paul Price
Message:

Adding additional output statistics: time for matching and photometry, and mean deviation for stamps.

Location:
trunk/ppSub/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSub/src/ppSubLoop.c

    r19165 r19637  
    163163    // Write out summary statistics
    164164    if (stats) {
    165         psMetadataAddF32(stats, PS_LIST_TAIL, "DT_SUB", 0, "Time for subtraction completion",
     165        psMetadataAddF32(stats, PS_LIST_TAIL, "TIME_SUB", 0, "Time for subtraction completion",
    166166                         psTimerMark("ppSub"));
    167167
  • trunk/ppSub/src/ppSubReadout.c

    r19624 r19637  
    4242bool ppSubReadout(pmConfig *config, psMetadata *stats, const pmFPAview *view)
    4343{
     44    psTimerStart("PPSUB_MATCH");
    4445    pmReadout *inRO = pmFPAfileThisReadout(config->files, view, "PPSUB.INPUT"); // Input readout
    4546    pmReadout *refRO = pmFPAfileThisReadout(config->files, view, "PPSUB.REF"); // Reference readout
     
    246247        }
    247248
    248         psStats *stats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN); // Statistics
     249        psStats *vfStats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN); // Statistics
    249250        psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS, 0); // Random number generator
    250         if (!psImageBackground(stats, NULL, inConv->weight, inConv->mask, maskVal | maskBad, NULL)) {
     251        if (!psImageBackground(vfStats, NULL, inConv->weight, inConv->mask, maskVal | maskBad, NULL)) {
    251252            psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved input");
    252253            psFree(inConv);
    253254            psFree(refConv);
    254255            psFree(outRO);
    255             return false;
    256         }
    257         float inMeanVar = stats->robustMedian; // Mean variance of input
    258         if (!psImageBackground(stats, NULL, refConv->weight, refConv->mask, maskVal | maskBad, NULL)) {
     256            psFree(vfStats);
     257            return false;
     258        }
     259        float inMeanVar = vfStats->robustMedian; // Mean variance of input
     260        if (!psImageBackground(vfStats, NULL, refConv->weight, refConv->mask, maskVal | maskBad, NULL)) {
    259261            psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved reference");
    260262            psFree(inConv);
    261263            psFree(refConv);
    262264            psFree(outRO);
    263             return false;
    264         }
    265         float refMeanVar = stats->robustMedian; // Mean variance of reference
     265            psFree(vfStats);
     266            return false;
     267        }
     268        float refMeanVar = vfStats->robustMedian; // Mean variance of reference
    266269        psFree(rng);
    267         psFree(stats);
     270        psFree(vfStats);
    268271
    269272        float vf = (vfIn * inMeanVar + vfRef * refMeanVar) / (inMeanVar + refMeanVar); // Resulting var factor
     
    274277    // Statistics on the matching
    275278    if (stats) {
     279        psMetadataAddF32(stats, PS_LIST_TAIL, "MATCH_TIME", 0, "Time to match PSFs",
     280                         psTimerClear("PPSUB_MATCH"));
    276281        if (psMetadataLookup(inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) {
    277282            metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
    278283            metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
     284            metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_MEAN);
    279285            metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
    280286        }
     
    282288            metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
    283289            metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
     290            metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_MEAN);
    284291            metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
    285292        }
     
    335342    // 1. Measure the PSF using the PSF-matched images
    336343    // 2. Find and measure sources on the subtracted image
     344    psTimerStart("PPSUB_PHOT");
    337345
    338346    // Photometry stage 1: measure the PSF
     
    529537            psArray *sources = psMetadataLookupPtr(NULL, photRO->analysis, "PSPHOT.SOURCES"); // Sources
    530538            psMetadataAddS32(stats, PS_LIST_TAIL, "NUM_SOURCES", 0, "Number of sources detected", sources->n);
     539            psMetadataAddF32(stats, PS_LIST_TAIL, "MATCH_TIME", 0, "Time to do photometry",
     540                             psTimerClear("PPSUB_PHOT"));
    531541        }
    532542    }
Note: See TracChangeset for help on using the changeset viewer.