Changeset 40231
- Timestamp:
- Nov 30, 2017, 8:45:51 PM (9 years ago)
- Location:
- branches/eam_branches/ohana.20170822/src/relphot
- Files:
-
- 4 edited
-
include/relphot.h (modified) (1 diff)
-
src/StarOps.c (modified) (1 diff)
-
src/relphot_images.c (modified) (1 diff)
-
src/setMrelCatalog.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ohana.20170822/src/relphot/include/relphot.h
r40213 r40231 406 406 void findImages PROTO((Catalog *catalog, int Ncatalog, int doImageList)); 407 407 int findMosaics PROTO((Catalog *catalog, int Ncatalog, int doMosaicList)); 408 409 int dumpMags (FILE *fout, Catalog *catalog, int Ncatalog); 408 410 409 411 void makeMosaics (Image *image, off_t Nimage, int mergeMcal); -
branches/eam_branches/ohana.20170822/src/relphot/src/StarOps.c
r40213 r40231 542 542 } 543 543 fclose (ftest); 544 return TRUE; 545 } 546 547 int dumpMags (FILE *fout, Catalog *catalog, int Ncatalog) { 548 549 int i, n; 550 off_t j; 551 552 int Nsecfilt = GetPhotcodeNsecfilt (); 553 554 for (i = 0; i < Ncatalog; i++) { 555 for (j = 0; (j < catalog[i].Naverage) && (j < 2); j++) { 556 fprintf (fout, "%08x %08x %10.6f %10.6f : \n", catalog[i].averageT[j].catID, catalog[i].averageT[j].objID, catalog[i].averageT[j].R, catalog[i].averageT[j].D); 557 for (n = 0; n < 5; n++) { 558 fprintf (fout, "secf %5d | %6.3f %6.3f | %6.3f %6.3f | %6.3f %6.3f\n", n, catalog[i].secfilt[j*Nsecfilt + n].MpsfChp, catalog[i].secfilt[j*Nsecfilt + n].MkronChp, catalog[i].secfilt[j*Nsecfilt + n].MpsfStk, catalog[i].secfilt[j*Nsecfilt + n].MkronStk, catalog[i].secfilt[j*Nsecfilt + n].MpsfWrp, catalog[i].secfilt[j*Nsecfilt + n].MkronWrp); 559 } 560 int m = catalog[i].averageT[j].measureOffset; 561 for (n = 0; n < catalog[i].averageT[j].Nmeasure; n++) { 562 fprintf (fout, "meas %5d %5d | %6.3f %6.3f | %6.3f\n", m+n, catalog[i].measureT[m+n].photcode, catalog[i].measureT[m+n].M, catalog[i].measureT[m+n].Mkron, catalog[i].measureT[m+n].Mcal); 563 } 564 } 565 } 544 566 return TRUE; 545 567 } -
branches/eam_branches/ohana.20170822/src/relphot/src/relphot_images.c
r39643 r40231 108 108 plot_scatter (catalog, Ncatalog, flatcorr); 109 109 } 110 if (VERBOSE2) dumpMags (stderr, catalog, Ncatalog); 111 110 112 setMrel (catalog, Ncatalog, flatcorr); // threaded 113 if (VERBOSE2) dumpMags (stderr, catalog, Ncatalog); 114 111 115 if (PLOTSTUFF) { 112 116 plot_scatter (catalog, Ncatalog, flatcorr); 113 117 } 114 118 setMcal (catalog, FALSE, flatcorr); 119 if (VERBOSE2) dumpMags (stderr, catalog, Ncatalog); 120 115 121 setMmos (catalog, FALSE, flatcorr); 116 122 setMgrid (catalog, flatcorr); -
branches/eam_branches/ohana.20170822/src/relphot/src/setMrelCatalog.c
r40214 r40231 267 267 } 268 268 269 float Mkron, dMkron; 269 // NOTE: we need to calculate the averge chip Kron on each pass to be able to calibrate the stacks 270 float Mkron = PhotCatTiny (&measureT[k], MAG_CLASS_KRON); 271 float dMkron; 270 272 if (isSetMrelFinal) { 271 Mkron = PhotCat (&measure[k], MAG_CLASS_KRON);272 273 dMkron = MAX (hypot(measure[k].dMkron, code->photomErrSys), MIN_ERROR); 273 if (CHECK_VALID_MAG(Mkron, dMkron)) { 274 int Nkron = results->kronData[Nsec].Nlist; 275 results->kronData[Nsec].flxlist[Nkron] = Mkron - Mflat - Mcal - Mmos - Mgrid; // this is consistent with PhotRel 276 results->kronData[Nsec].errlist[Nkron] = dMkron; 277 results->kronData[Nsec].wgtlist[Nkron] = isUbercal ? UBERCAL_WEIGHT : 1.0; 278 results->kronData[Nsec].ranking[Nkron] = measureRank[k]; 279 results->kronData[Nsec].measSeq[Nkron] = k; 280 results->kronData[Nsec].msklist[Nkron] = 0; 281 results->kronData[Nsec].Nlist ++; 282 } 274 } else { 275 dMkron = MAX (hypot(measureT[k].dM, code->photomErrSys), MIN_ERROR); 276 } 277 if (CHECK_VALID_MAG(Mkron, dMkron)) { 278 int Nkron = results->kronData[Nsec].Nlist; 279 results->kronData[Nsec].flxlist[Nkron] = Mkron - Mflat - Mcal - Mmos - Mgrid; // this is consistent with PhotRel 280 results->kronData[Nsec].errlist[Nkron] = dMkron; 281 results->kronData[Nsec].wgtlist[Nkron] = isUbercal ? UBERCAL_WEIGHT : 1.0; 282 results->kronData[Nsec].ranking[Nkron] = measureRank ? measureRank[k] : 0; 283 results->kronData[Nsec].measSeq[Nkron] = k; 284 results->kronData[Nsec].msklist[Nkron] = 0; 285 results->kronData[Nsec].Nlist ++; 283 286 } 284 287 … … 385 388 // if too few valid measurements meet the minimum criteria, go to the next entry 386 389 StatType *psfstats = &results->psfstats; 387 int Nranking = MAG_STATS_BY_RANKING (&results->psfData[Nsec], psfstats);388 if (Nranking < Nminmeas) {390 int NrankingPSF = MAG_STATS_BY_RANKING (&results->psfData[Nsec], psfstats); 391 if (NrankingPSF < Nminmeas) { 389 392 secfilt[Nsec].flags |= ID_OBJ_FEW; 390 393 } else { … … 393 396 secfilt[Nsec].Mchisq = (psfstats->Nmeas > 1) ? psfstats->chisq : NAN; 394 397 } 395 int minRankPSF = (Nranking > 0) ? results->psfData[Nsec].ranking[0] : 10;396 398 397 399 // when running -averages, we have no information about the images, so we cannot set this … … 400 402 } 401 403 404 StatType *kronstats = &results->kronstats; 405 int NrankingKRON = MAG_STATS_BY_RANKING (&results->kronData[Nsec], kronstats); 406 if (NrankingKRON) { 407 secfilt[Nsec].MkronChp = kronstats->mean; 408 secfilt[Nsec].dMkronChp = kronstats->error; 409 secfilt[Nsec].sMkronChp = kronstats->sigma; 410 secfilt[Nsec].NusedKron = NrankingKRON; 411 } 412 402 413 if (isSetMrelFinal) { 403 414 if ((average[0].objID == TEST_OBJ_ID) && (average[0].catID == TEST_CAT_ID)) { … … 405 416 } 406 417 407 // mark the measurements matching this ranking 408 markMeasureByRanking (&results->psfData[Nsec], measure, minRankPSF, ID_MEAS_PHOTOM_PSF, ID_MEAS_MASKED_PSF); 409 410 if (Nranking) { 418 if (NrankingPSF) { 411 419 secfilt[Nsec].sMpsfChp = psfstats->sigma; 412 420 secfilt[Nsec].Nused = psfstats->Nmeas; … … 420 428 MAX_NOT_NAN (psfQfPerfMax, secfilt[Nsec].psfQfPerfMax); 421 429 430 // mark the measurements matching this ranking 431 int minRankPSF = (NrankingPSF > 0) ? results->psfData[Nsec].ranking[0] : 10; 432 markMeasureByRanking (&results->psfData[Nsec], measure, minRankPSF, ID_MEAS_PHOTOM_PSF, ID_MEAS_MASKED_PSF); 433 434 int minRankKron = (NrankingKRON > 0) ? results->kronData[Nsec].ranking[0] : 10; 435 markMeasureByRanking (&results->kronData[Nsec], measure, minRankKron, ID_MEAS_PHOTOM_KRON, ID_MEAS_MASKED_KRON); 436 422 437 StatType *apstats = &results->apstats; 423 Nranking= MAG_STATS_BY_RANKING (&results->aperData[Nsec], apstats);424 if (Nranking ) {438 int NrankingAPER = MAG_STATS_BY_RANKING (&results->aperData[Nsec], apstats); 439 if (NrankingAPER) { 425 440 secfilt[Nsec].MapChp = apstats->mean; 426 441 secfilt[Nsec].dMapChp = apstats->error; 427 442 secfilt[Nsec].sMapChp = apstats->sigma; 428 secfilt[Nsec].NusedAp = Nranking ;429 } 430 int minRankAper = (Nranking > 0) ? results->aperData[Nsec].ranking[0] : 10;443 secfilt[Nsec].NusedAp = NrankingAPER; 444 } 445 int minRankAper = (NrankingAPER > 0) ? results->aperData[Nsec].ranking[0] : 10; 431 446 markMeasureByRanking (&results->aperData[Nsec], measure, minRankAper, ID_MEAS_PHOTOM_APER, ID_MEAS_MASKED_APER); 432 433 StatType *kronstats = &results->kronstats;434 Nranking = MAG_STATS_BY_RANKING (&results->kronData[Nsec], kronstats);435 if (Nranking) {436 secfilt[Nsec].MkronChp = kronstats->mean;437 secfilt[Nsec].dMkronChp = kronstats->error;438 secfilt[Nsec].sMkronChp = kronstats->sigma;439 secfilt[Nsec].NusedKron = Nranking;440 }441 int minRankKron = (Nranking > 0) ? results->kronData[Nsec].ranking[0] : 10;442 markMeasureByRanking (&results->kronData[Nsec], measure, minRankKron, ID_MEAS_PHOTOM_KRON, ID_MEAS_MASKED_KRON);443 447 444 448 // does this object appear extended in > 50% of measurements?
Note:
See TracChangeset
for help on using the changeset viewer.
