Changeset 34427 for branches/eam_branches/ipp-20120905
- Timestamp:
- Sep 11, 2012, 10:22:14 AM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120905/Ohana/src/relphot/src
- Files:
-
- 4 edited
-
StarOps.c (modified) (10 diffs)
-
liststats.c (modified) (1 diff)
-
relphot_objects.c (modified) (1 diff)
-
setMrelFinal.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120905/Ohana/src/relphot/src/StarOps.c
r34424 r34427 11 11 int Nmos; 12 12 int Ngrid; 13 double *list; 14 double *dlist; 15 double *wlist; 16 double *aplist; 17 double *kronlist; 18 double *dkronlist; 13 14 // NOTE: the following arrays are (possibly) pre-allocated and carried down to each 15 // thread. The first 3 (list, dlist, wlist) are used in all relphot analyses; the 16 // others are only used on the final output steps. 17 18 double *list; // list of measure.mag values for a given star 19 double *dlist; // mag errors for a star 20 double *wlist; // weights to use for mean mags 21 double *aplist; // ap mags for a star 22 double *kronlist; // kron mags for a star 23 double *dkronlist; // kron mag errors 24 25 double *psfqf_list; // psfqf for all filters 26 double *psfqfperf_list; // psfqfperf for all filters 27 double *stargal_list; // stargal for all filters 19 28 } SetMrelInfo; 20 29 … … 168 177 ALLOCATE (results.dkronlist, double, Nmax); 169 178 179 ALLOCATE (results.psfqf_list, double, Nmax); 180 ALLOCATE (results.psfqfperf_list, double, Nmax); 181 ALLOCATE (results.stargal_list, double, Nmax); 182 170 183 for (i = 0; i < Ncatalog; i++) { 171 184 setMrel_catalog (catalog, i, pass, flatcorr, &results, Nsecfilt); // XXX add arguments as needed for options … … 178 191 free (results.kronlist); 179 192 free (results.dkronlist); 193 194 free (results.psfqf_list); 195 free (results.psfqfperf_list); 196 free (results.stargal_list); 180 197 return (TRUE); 181 198 } … … 315 332 liststats_setmode (&kronstats, STATMODE); 316 333 334 // StatType psfstats; 335 // liststats_setmode (&psfstats, "MEAN"); 336 317 337 double *list = results->list; 318 338 double *dlist = results->dlist; … … 322 342 double *dkronlist = results->dkronlist; 323 343 344 double *psfqf_list = results->psfqf_list; 345 double *psfqfperf_list = results->psfqfperf_list; 346 double *stargal_list = results->stargal_list; 347 324 348 SetMrelInfoInit (results, FALSE); // do not allocate list,dlist,wlist arrays 325 349 … … 350 374 int NextPS1 = 0; 351 375 int NpsfPS1 = 0; 376 377 int Nmeas = 0; // number of meas used for psfqf, psfqfperf, and stargal 352 378 353 379 int Ns; … … 425 451 426 452 if (isSetMrelFinal) { 453 // Map (aplist) and Mkron (kronlist,dkronlist) are used to calculate mean mags per filter 427 454 float Map = PhotAper (&catalog[Nc].measure[m]); 428 455 aplist[N] = Map - Mcal - Mmos - Mgrid; … … 431 458 kronlist[N] = Mkron - Mcal - Mmos - Mgrid; 432 459 dkronlist[N] = catalog[Nc].measure[m].dMkron; 460 461 // mean psfQF, psfQFperf, and stargal values are calculated per object (all filters) 462 psfqf_list[Nmeas] = catalog[Nc].measure[m].psfQF; 463 psfqfperf_list[Nmeas] = catalog[Nc].measure[m].psfQF; 464 stargal_list[Nmeas] = catalog[Nc].measure[m].extNsigma; 433 465 434 466 // special options for PS1 data … … 554 586 } 555 587 N++; 588 Nmeas++; 556 589 } 557 590 … … 720 753 catalog[Nc].average[j].flags |= ID_OBJ_GOOD_ALT; 721 754 } 755 756 // use NAN values for catalog[Nc].average[j].psfQF as signal 757 if (!isfinite(catalog[Nc].average[j].psfQF)) { 758 // do something here 759 float psfQFmax = 0.0; 760 float psfQFperfmax = 0.0; 761 float stargalmax = 0.0; 762 int seq; 763 for (seq = 0; seq < Nmeas; seq++) { 764 if (isfinite(psfqf_list[seq])) { 765 psfQFmax = MAX (psfqf_list[seq], psfQFmax); 766 } 767 if (isfinite(psfqfperf_list[seq])) { 768 psfQFperfmax = MAX (psfqfperf_list[seq], psfQFperfmax); 769 } 770 if (isfinite(stargal_list[seq])) { 771 stargalmax = MAX (stargal_list[seq], stargalmax); 772 } 773 } 774 775 catalog[Nc].average[j].psfQF = psfQFmax; 776 catalog[Nc].average[j].psfQFperf = psfQFperfmax; 777 catalog[Nc].average[j].stargal = stargalmax; 778 } 722 779 } 723 780 } -
branches/eam_branches/ipp-20120905/Ohana/src/relphot/src/liststats.c
r33963 r34427 38 38 dsortthree (value, dvalue, weight, N); 39 39 } else { 40 dsortpair (value, dvalue, N); 40 if (dvalue) { 41 dsortpair (value, dvalue, N); 42 } else { 43 dsort (value, N); 44 } 41 45 } 42 46 -
branches/eam_branches/ipp-20120905/Ohana/src/relphot/src/relphot_objects.c
r34423 r34427 85 85 for (j = 0; j < catalog.Naverage; j++) { 86 86 catalog.average[j].flags &= astromBits; // reset all except astrometry bits 87 catalog.average[j].psfQF = NAN; // reset (will be re-calculated here) 88 catalog.average[j].psfQFperf = NAN; // reset (will be re-calculated here) 89 catalog.average[j].stargal = NAN; // reset (will be re-calculated here) 87 90 for (k = 0; k < Nsecfilt; k++) { 88 catalog.secfilt[j*Nsecfilt + k].M = NAN; 89 catalog.secfilt[j*Nsecfilt + k].Map = NAN; 90 catalog.secfilt[j*Nsecfilt + k].dM = NAN; 91 catalog.secfilt[j*Nsecfilt + k].Mstdev = NAN_S_SHORT; 92 catalog.secfilt[j*Nsecfilt + k].Xm = NAN; 93 catalog.secfilt[j*Nsecfilt + k].M_20 = NAN_S_SHORT; 94 catalog.secfilt[j*Nsecfilt + k].M_80 = NAN_S_SHORT; 95 catalog.secfilt[j*Nsecfilt + k].Ncode = 0; 96 catalog.secfilt[j*Nsecfilt + k].Nused = 0; 91 dvo_secfilt_init (&catalog.secfilt[j*Nsecfilt + k]); 97 92 catalog.secfilt[j*Nsecfilt + k].flags &= ~secfiltBits; // XXX: only reset photom bits: 98 catalog.secfilt[j*Nsecfilt + k].flags = 0; // XXX: reset all secfilt flag bits:99 catalog.secfilt[j*Nsecfilt + k].ubercalDist = 1000;100 93 } 101 94 } -
branches/eam_branches/ipp-20120905/Ohana/src/relphot/src/setMrelFinal.c
r34405 r34427 94 94 } 95 95 96 for (i = 0; i < catalog[0].Naverage; i++) { 97 catalog[0].average[i].psfQF = NAN; // force recalculation below 98 catalog[0].average[i].psfQFperf = NAN; // force recalculation below 99 catalog[0].average[i].stargal = NAN; // force recalculation below 100 } 101 96 102 // XXX make this optional? (do not clean for -averages?) 97 103 if (!simpleAverage) clean_measures (catalog, 1, TRUE, flatcorr); /* mark outliers ID_MEAS_POOR_PHOTOM */
Note:
See TracChangeset
for help on using the changeset viewer.
