Changeset 25027 for branches/pap/psphot/src/psphotApResid.c
- Timestamp:
- Aug 7, 2009, 4:08:25 PM (17 years ago)
- Location:
- branches/pap
- Files:
-
- 4 edited
-
. (modified) (1 prop)
-
psphot (modified) (1 prop)
-
psphot/src (modified) (1 prop)
-
psphot/src/psphotApResid.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/pap
- Property svn:mergeinfo changed
-
branches/pap/psphot
- Property svn:mergeinfo deleted
-
branches/pap/psphot/src
- Property svn:ignore
-
old new 17 17 growthTest 18 18 psphotVersionDefinitions.h 19 psphotMomentsStudy
-
- Property svn:ignore
-
branches/pap/psphot/src/psphotApResid.c
r21519 r25027 168 168 if (source->mode & PM_SOURCE_MODE_POOR) SKIPSTAR ("POOR STAR"); 169 169 170 if (source->mode & PM_SOURCE_MODE_EXT_LIMIT) SKIPSTAR ("EXTENDED"); 171 if (source->mode & PM_SOURCE_MODE_CR_LIMIT) SKIPSTAR ("COSMIC RAY"); 172 170 173 if (!isfinite(source->apMag) || !isfinite(source->psfMag)) { 171 174 continue; … … 317 320 */ 318 321 322 // XXX this still sucks... need a better way to estimate the error floor... 319 323 bool psphotMagErrorScale (float *errorScale, float *errorFloor, psVector *dMag, psVector *dap, psVector *mask, int nGroup) { 320 324 … … 355 359 356 360 if (j > 2) { 357 bool status = true; 358 status &= psVectorStats (statsS, dASubset, NULL, mkSubset, 0xff); 359 status &= psVectorStats (statsM, dMSubset, NULL, mkSubset, 0xff); 360 if (!status) { psErrorClear (); } 361 if (!psVectorStats (statsS, dASubset, NULL, mkSubset, 0xff)) { 362 psError(PS_ERR_UNKNOWN, false, "failure to measure stats"); 363 return false; 364 } 365 if (!psVectorStats (statsM, dMSubset, NULL, mkSubset, 0xff)) { 366 psError(PS_ERR_UNKNOWN, false, "failure to measure stats"); 367 return false; 368 } 361 369 dSo->data.F32[i] = statsS->robustStdev; 362 370 dMo->data.F32[i] = statsM->sampleMean; 363 371 dRo->data.F32[i] = statsS->robustStdev / statsM->sampleMean; 364 // fprintf (stderr, "%d (%d) : sys: %f, phot: %f, rat: %f\n", i, j, dSo->data.F32[i], dMo->data.F32[i], dRo->data.F32[i]);365 372 } else { 366 373 dSo->data.F32[i] = NAN; … … 375 382 psStats *stats = psStatsAlloc (PS_STAT_SAMPLE_MEDIAN); 376 383 if (!psVectorStats (stats, dRo, NULL, NULL, 0)) { 377 // XXX better testing of raised error 378 psErrorClear();384 psError(PS_ERR_UNKNOWN, false, "failure to measure stats"); 385 return false; 379 386 } 380 387 … … 382 389 for (int i = 0; i < dSo->n; i++) { 383 390 *errorFloor = dSo->data.F32[i]; 391 if (fabs(*errorFloor) <= FLT_EPSILON) continue; 384 392 if (isfinite(*errorFloor)) break; 385 393 }
Note:
See TracChangeset
for help on using the changeset viewer.
