Changeset 19637
- Timestamp:
- Sep 22, 2008, 11:06:04 AM (18 years ago)
- Location:
- trunk/ppSub/src
- Files:
-
- 2 edited
-
ppSubLoop.c (modified) (1 diff)
-
ppSubReadout.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppSub/src/ppSubLoop.c
r19165 r19637 163 163 // Write out summary statistics 164 164 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", 166 166 psTimerMark("ppSub")); 167 167 -
trunk/ppSub/src/ppSubReadout.c
r19624 r19637 42 42 bool ppSubReadout(pmConfig *config, psMetadata *stats, const pmFPAview *view) 43 43 { 44 psTimerStart("PPSUB_MATCH"); 44 45 pmReadout *inRO = pmFPAfileThisReadout(config->files, view, "PPSUB.INPUT"); // Input readout 45 46 pmReadout *refRO = pmFPAfileThisReadout(config->files, view, "PPSUB.REF"); // Reference readout … … 246 247 } 247 248 248 psStats * stats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN); // Statistics249 psStats *vfStats = psStatsAlloc(PS_STAT_ROBUST_MEDIAN); // Statistics 249 250 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)) { 251 252 psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved input"); 252 253 psFree(inConv); 253 254 psFree(refConv); 254 255 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)) { 259 261 psError(PS_ERR_UNKNOWN, false, "Unable to measure mean variance for convolved reference"); 260 262 psFree(inConv); 261 263 psFree(refConv); 262 264 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 266 269 psFree(rng); 267 psFree( stats);270 psFree(vfStats); 268 271 269 272 float vf = (vfIn * inMeanVar + vfRef * refMeanVar) / (inMeanVar + refMeanVar); // Resulting var factor … … 274 277 // Statistics on the matching 275 278 if (stats) { 279 psMetadataAddF32(stats, PS_LIST_TAIL, "MATCH_TIME", 0, "Time to match PSFs", 280 psTimerClear("PPSUB_MATCH")); 276 281 if (psMetadataLookup(inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) { 277 282 metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE); 278 283 metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM); 284 metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_MEAN); 279 285 metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS); 280 286 } … … 282 288 metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE); 283 289 metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM); 290 metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_MEAN); 284 291 metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS); 285 292 } … … 335 342 // 1. Measure the PSF using the PSF-matched images 336 343 // 2. Find and measure sources on the subtracted image 344 psTimerStart("PPSUB_PHOT"); 337 345 338 346 // Photometry stage 1: measure the PSF … … 529 537 psArray *sources = psMetadataLookupPtr(NULL, photRO->analysis, "PSPHOT.SOURCES"); // Sources 530 538 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")); 531 541 } 532 542 }
Note:
See TracChangeset
for help on using the changeset viewer.
