Changeset 34207
- Timestamp:
- Jul 25, 2012, 5:11:36 AM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120627/Ohana/src
- Files:
-
- 23 edited
-
libautocode/def/secfilt-ps1-v4.d (modified) (2 diffs)
-
libautocode/def/secfilt.d (modified) (1 diff)
-
libdvo/include/dvo.h (modified) (1 diff)
-
libdvo/include/dvodb.h (modified) (2 diffs)
-
libdvo/src/dbExtractAverages.c (modified) (1 diff)
-
libdvo/src/dbExtractMeasures.c (modified) (1 diff)
-
libdvo/src/dbFields.c (modified) (4 diffs)
-
libdvo/src/dvo_convert_PS1_DEV_1.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_DEV_2.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_REF.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_V1.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_V2.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_V3.c (modified) (1 diff)
-
libdvo/src/dvo_convert_PS1_V4.c (modified) (2 diffs)
-
libdvo/src/dvo_convert_elixir.c (modified) (1 diff)
-
libdvo/src/dvo_convert_loneos.c (modified) (1 diff)
-
libdvo/src/dvo_convert_panstarrs_DEV_0.c (modified) (1 diff)
-
libdvo/src/dvo_convert_panstarrs_DEV_1.c (modified) (1 diff)
-
libdvo/src/dvo_photcode_ops.c (modified) (1 diff)
-
opihi/dvo/mextract.c (modified) (1 diff)
-
relphot/include/relphot.h (modified) (1 diff)
-
relphot/src/ImageOps.c (modified) (1 diff)
-
relphot/src/StarOps.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120627/Ohana/src/libautocode/def/secfilt-ps1-v4.d
r34194 r34207 2 2 EXTNAME DVO_SECFILT_PS1_V4 3 3 TYPE BINTABLE 4 SIZE 564 SIZE 64 5 5 DESCRIPTION DVO SecFilt : Secondary Filter Data 6 6 … … 23 23 FIELD ubercalDist, UBERCAL_DIST, short, number of images from an ubercal-image 24 24 FIELD Mstdev, MAG_STDEV, short, standard deviation of measurements, millimags 25 FIELD stackID, STACK_ID, uint32_t, image ID of stack used for fluxes (if any) 26 FIELD dummy, DUMMY, uint32_t, padding -
branches/eam_branches/ipp-20120627/Ohana/src/libautocode/def/secfilt.d
r34194 r34207 2 2 EXTNAME DVO_SECFILT 3 3 TYPE BINTABLE 4 SIZE 564 SIZE 64 5 5 DESCRIPTION DVO SecFilt : Secondary Filter Data 6 6 7 7 # elements of data structure / FITS table 8 FIELD M, MAG, float, average mag in this band, mags9 FIELD Map, MAG, float, average mag in this band, mags10 FIELD Mkron, MAG_KRON, float, ave kron mag in this band, mags11 FIELD dMkron, MAG_KRON_ERR, float, formal error on average kron mag, mags12 FIELD dM, MAG_ERR, float, formal error on average mag, mags13 FIELD Xm, MAG_CHI, float, chisq on average mag, [100*log(value)]8 FIELD M, MAG, float, average mag in this band, mags 9 FIELD Map, MAG, float, average mag in this band, mags 10 FIELD Mkron, MAG_KRON, float, ave kron mag in this band, mags 11 FIELD dMkron, MAG_KRON_ERR, float, formal error on average kron mag, mags 12 FIELD dM, MAG_ERR, float, formal error on average mag, mags 13 FIELD Xm, MAG_CHI, float, chisq on average mag, [100*log(value)] 14 14 FIELD FluxPSF, FLUX_PSF, float, mean flux psf fit (PS1: stack) 15 15 FIELD dFluxPSF, FLUX_PSF_ERR, float, mean flux psf error 16 16 FIELD FluxKron, FLUX_KRON, float, mean flux kron ap (PS1: stack) 17 17 FIELD dFluxKron, FLUX_KRON_ERR, float, mean flux kron err 18 FIELD flags, FLAGS, uint32_t, photometry flags 19 FIELD Ncode, NCODE, short, number of detections in band 20 FIELD Nused, NUSED, short, number of detections used in average 21 FIELD M_20, MAG_20, short, lower 20percent mag, millimags 22 FIELD M_80, MAG_80, short, upper 20percent mag, millimags 23 FIELD ubercalDist, UBERCAL_DIST, short, number of images from an ubercal-image 24 FIELD Mstdev, MAG_STDEV, short, standard deviation of measurements, millimags 18 FIELD flags, FLAGS, uint32_t, photometry flags 19 FIELD Ncode, NCODE, short, number of detections in band 20 FIELD Nused, NUSED, short, number of detections used in average 21 FIELD M_20, MAG_20, short, lower 20percent mag, millimags 22 FIELD M_80, MAG_80, short, upper 20percent mag, millimags 23 FIELD ubercalDist, UBERCAL_DIST, short, number of images from an ubercal-image 24 FIELD Mstdev, MAG_STDEV, short, standard deviation of measurements, millimags 25 FIELD stackID, STACK_ID, uint32_t, image ID of stack used for fluxes (if any) 26 FIELD dummy, DUMMY, uint32_t, padding 25 27 26 28 # *** 20090206 : new fields : M_20, M_80; dropped dummy 27 29 # *** 20120302 : new fields : ubercalDist, Map, Mstdev 28 # *** 20120710 : new fields : Mkron, dMkron, FluxPSF, dFluxPSF, FluxKron, dFluxKron 30 # *** 20120710 : new fields : Mkron, dMkron, FluxPSF, dFluxPSF, FluxKron, dFluxKron, stackID -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvo.h
r34194 r34207 472 472 float PhotM80 (PhotCode *code, Average *average, SecFilt *secfilt); 473 473 float PhotUCdist (PhotCode *code, Average *average, SecFilt *secfilt); 474 unsigned int PhotStackID (PhotCode *code, Average *average, SecFilt *secfilt); 474 475 475 476 float PhotColorForCode (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvodb.h
r34194 r34207 45 45 MAG_80, 46 46 MAG_UC_DIST, 47 MAG_STACK_ID, 47 48 MAG_FLUX_PSF, 48 49 MAG_FLUX_PSF_ERR, … … 140 141 MEAS_MCAL_OFFSET, 141 142 MEAS_FLAT, 143 MEAS_CENTER_OFFSET, 142 144 MEAS_FLUX_PSF, 143 145 MEAS_FLUX_PSF_ERR, -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dbExtractAverages.c
r34194 r34207 246 246 value.Flt = PhotUCdist (field->photcode, average, secfilt); 247 247 break; 248 case MAG_STACK_ID: 249 value.Int = PhotStackID (field->photcode, average, secfilt); 250 break; 248 251 249 252 case MAG_FLUX_PSF: -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dbExtractMeasures.c
r34194 r34207 522 522 break; 523 523 524 case MEAS_CENTER_OFFSET: /* OK */ 525 { 526 Image *image; 527 image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID); 528 if (image == NULL) break; 529 530 // we have measure[0].Xccd,Yccd and image[0].NX,NY. Find the distance to the center 531 532 // XXX we may hypotetically have images with -NX to +NX here (eg, projection center), but 533 // we do not get a detection from that type of image 534 float Xcenter = 0.5*image[0].NX; 535 float Ycenter = 0.5*image[0].NY; 536 float distance = hypot (measure[0].Xccd - Xcenter, measure[0].Yccd - Ycenter); 537 value.Flt = distance; 538 } 539 break; 540 524 541 case MEAS_FLUX_PSF: /* OK */ 525 542 value.Flt = measure[0].FluxPSF; -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dbFields.c
r34194 r34207 56 56 if (!strcasecmp (string, "80")) return (MAG_80); 57 57 if (!strcasecmp (string, "ucdist")) return (MAG_UC_DIST); 58 if (!strcasecmp (string, "stackID")) return (MAG_STACK_ID); 58 59 if (!strcasecmp (string, "fluxpsf")) return (MAG_FLUX_PSF); 59 60 if (!strcasecmp (string, "fluxpsferr")) return (MAG_FLUX_PSF_ERR); … … 239 240 if (!strcasecmp (fieldName, "MCAL_OFFSET")) ESCAPE (MEAS_MCAL_OFFSET, MAG_NONE, OPIHI_FLT); 240 241 if (!strcasecmp (fieldName, "FLAT")) ESCAPE (MEAS_FLAT, MAG_NONE, OPIHI_FLT); 242 if (!strcasecmp (fieldName, "CENTER_OFFSET")) ESCAPE (MEAS_CENTER_OFFSET, MAG_NONE, OPIHI_FLT); 241 243 if (!strcasecmp (fieldName, "FLUX")) ESCAPE (MEAS_FLUX_PSF, MAG_NONE, OPIHI_FLT); 242 244 if (!strcasecmp (fieldName, "FLUX_ERR")) ESCAPE (MEAS_FLUX_PSF_ERR, MAG_NONE, OPIHI_FLT); … … 258 260 field->magMode = mode; 259 261 switch (mode) { 262 case MAG_STACK_ID: 260 263 case MAG_NCODE: 261 264 case MAG_NPHOT: … … 352 355 field->magMode = mode; 353 356 switch (mode) { 357 case MAG_STACK_ID: 354 358 case MAG_NCODE: 355 359 case MAG_NPHOT: -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c
r34194 r34207 231 231 out[i].FluxKron = NAN; 232 232 out[i].dFluxKron = NAN; 233 out[i].stackID = 0; 233 234 } 234 235 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c
r34194 r34207 225 225 out[i].FluxKron = NAN; 226 226 out[i].dFluxKron = NAN; 227 out[i].stackID = 0; 227 228 } 228 229 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c
r34194 r34207 185 185 out[i].FluxKron = NAN; 186 186 out[i].dFluxKron = NAN; 187 out[i].stackID = 0; 187 188 } 188 189 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c
r34194 r34207 229 229 out[i].FluxKron = NAN; 230 230 out[i].dFluxKron = NAN; 231 out[i].stackID = 0; 231 232 } 232 233 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V2.c
r34194 r34207 228 228 out[i].Mkron = NAN; 229 229 out[i].dMkron = NAN; 230 out[i].FluxPSF = NAN; 231 out[i].dFluxPSF = NAN; 232 out[i].FluxKron = NAN; 233 out[i].dFluxKron = NAN; 230 out[i].FluxPSF = NAN; 231 out[i].dFluxPSF = NAN; 232 out[i].FluxKron = NAN; 233 out[i].dFluxKron = NAN; 234 out[i].stackID = 0; 234 235 } 235 236 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V3.c
r34194 r34207 226 226 out[i].Mkron = NAN; 227 227 out[i].dMkron = NAN; 228 out[i].FluxPSF = NAN; 229 out[i].dFluxPSF = NAN; 230 out[i].FluxKron = NAN; 231 out[i].dFluxKron = NAN; 228 out[i].FluxPSF = NAN; 229 out[i].dFluxPSF = NAN; 230 out[i].FluxKron = NAN; 231 out[i].dFluxKron = NAN; 232 out[i].stackID = 0; 232 233 } 233 234 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V4.c
r34194 r34207 232 232 out[i].Mstdev = in[i].Mstdev; 233 233 out[i].ubercalDist = in[i].ubercalDist; 234 out[i].stackID = in[i].stackID; 234 235 } 235 236 return (out); … … 261 262 out[i].Mstdev = in[i].Mstdev; 262 263 out[i].ubercalDist = in[i].ubercalDist; 264 out[i].stackID = in[i].stackID; 263 265 } 264 266 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_elixir.c
r34194 r34207 240 240 out[i].FluxKron = NAN; 241 241 out[i].dFluxKron = NAN; 242 out[i].stackID = 0; 242 243 } 243 244 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_loneos.c
r34194 r34207 233 233 out[i].FluxKron = NAN; 234 234 out[i].dFluxKron = NAN; 235 out[i].stackID = 0; 235 236 } 236 237 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c
r34194 r34207 240 240 out[i].FluxKron = NAN; 241 241 out[i].dFluxKron = NAN; 242 out[i].stackID = 0; 242 243 } 243 244 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c
r34194 r34207 240 240 out[i].FluxKron = NAN; 241 241 out[i].dFluxKron = NAN; 242 out[i].stackID = 0; 242 243 } 243 244 return (out); -
branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_photcode_ops.c
r34194 r34207 656 656 } 657 657 658 unsigned int PhotStackID (PhotCode *code, Average *average, SecFilt *secfilt) { 659 660 int Ns; 661 unsigned int ID; 662 663 if (code == NULL) return 0; 664 665 Ns = photcodes[0].hashNsec[code[0].code]; 666 ID = (Ns == -1) ? 0 : secfilt[Ns].stackID; 667 return (ID); 668 } 669 658 670 // XXX return NAN or NAN_S_SHORT? (secfilt->Xm is short) 659 671 float PhotXm (PhotCode *code, Average *average, SecFilt *secfilt) { -
branches/eam_branches/ipp-20120627/Ohana/src/opihi/dvo/mextract.c
r33963 r34207 129 129 if (fields[i].ID == MEAS_YCCD) loadImages = TRUE; 130 130 } 131 if (fields[i].ID == MEAS_XMOSAIC) loadImages = mosaicMode = TRUE; 132 if (fields[i].ID == MEAS_YMOSAIC) loadImages = mosaicMode = TRUE; 133 if (fields[i].ID == MEAS_EXTERN_ID) loadImages = mosaicMode = TRUE; 134 if (fields[i].ID == MEAS_FLAT) loadImages = mosaicMode = TRUE; 131 if (fields[i].ID == MEAS_XMOSAIC) loadImages = mosaicMode = TRUE; 132 if (fields[i].ID == MEAS_YMOSAIC) loadImages = mosaicMode = TRUE; 133 if (fields[i].ID == MEAS_EXTERN_ID) loadImages = mosaicMode = TRUE; 134 if (fields[i].ID == MEAS_FLAT) loadImages = mosaicMode = TRUE; 135 if (fields[i].ID == MEAS_CENTER_OFFSET) loadImages = mosaicMode = TRUE; 135 136 } 136 137 if (loadImages && !SetImageSelection (mosaicMode, selection)) goto escape; -
branches/eam_branches/ipp-20120627/Ohana/src/relphot/include/relphot.h
r33963 r34207 242 242 float getMrel PROTO((Catalog *catalog, off_t meas, int cat)); 243 243 short getUbercalDist PROTO((off_t meas, int cat)); 244 float getCenterOffset PROTO((off_t meas, int cat, Measure *measure, unsigned int *myID)); 244 245 Image *getimage PROTO((off_t N)); 245 246 Image *getimages PROTO((off_t *N, off_t **LineNumber)); -
branches/eam_branches/ipp-20120627/Ohana/src/relphot/src/ImageOps.c
r33963 r34207 364 364 if (image[i].flags & IMAGE_BAD) return (1000); 365 365 distance = image[i].ubercalDist; // was dummy3 in structure 366 return (distance); 367 } 368 369 // returns image.Mcal - ff(x,y) 370 float getCenterOffset (off_t meas, int cat, Measure *measure, unsigned int *myID) { 371 372 off_t i; 373 float distance; 374 375 if (!MeasureToImage) return -1; 376 377 i = MeasureToImage[cat][meas]; 378 if (i == -1) return (1000); 379 380 float Xcenter = 0.5*image[i].NX; 381 float Ycenter = 0.5*image[i].NY; 382 383 *myID = image[i].imageID; 384 385 distance = hypot (measure[0].Xccd - Xcenter, measure[0].Yccd - Ycenter); 366 386 return (distance); 367 387 } -
branches/eam_branches/ipp-20120627/Ohana/src/relphot/src/StarOps.c
r34194 r34207 365 365 float stackFluxKron = NAN; 366 366 float stackdFluxKron = NAN; 367 float stackCenterOffsetMin = 1e9; 368 unsigned int stackImageIDmin; 367 369 368 370 int forceSynth = FALSE; … … 430 432 // gpc1 stack data 431 433 if ((catalog[Nc].measure[m].photcode >= 11000) && (catalog[Nc].measure[m].photcode <= 11400)) { 432 if (pass < 2) continue;434 // if (pass < 2) continue; 433 435 haveStack = TRUE; 434 float zp = Mcal + Mmos + Mgrid + PhotZeroPoint (&catalog[Nc].measure[m], &catalog[Nc].average[j], &catalog[Nc].secfilt[j*Nsecfilt]); 435 float zpFactor = pow(10.0, -0.4*zp); 436 // need to put in AB mag factor to get to Janskies (or uJy?) 437 stackFluxPSF = zpFactor * catalog[Nc].measure[m].FluxPSF; 438 stackdFluxPSF = zpFactor * catalog[Nc].measure[m].dFluxPSF; 439 stackFluxKron = zpFactor * catalog[Nc].measure[m].FluxKron; 440 stackdFluxKron = zpFactor * catalog[Nc].measure[m].dFluxKron; 436 437 unsigned int stackImageID; 438 float stackCenterOffset = getCenterOffset (m, Nc, &catalog[Nc].measure[m], &stackImageID); 439 if (stackCenterOffset < stackCenterOffsetMin) { 440 stackImageIDmin = stackImageID; 441 442 float zp = Mcal + Mmos + Mgrid + PhotZeroPoint (&catalog[Nc].measure[m], &catalog[Nc].average[j], &catalog[Nc].secfilt[j*Nsecfilt]); 443 444 // flux_cgs : erg sec^1 cm^-2 Hz^-1 445 // mag_inst : -2.5 log (cts/sec) 446 // mag_inst : -2.5 log (flux_inst) 447 // flux_inst = ten(-0.4*mag_inst) 448 449 // mag_AB = -2.5 log (flux_cgs) - 48.6 (~by definition) [~Vega flux in V-band] 450 // flux_cgs = ten(-0.4*(mag_AB + 48.6)) 451 452 // flux_AB : ten(-0.4*mag_AB) 453 454 // flux_cgs = ten(-0.4*48.6) * flux_AB 455 // flux_AB = ten(+0.4*48.6) * flux_cgs 456 457 // flux_Jy : flux_cgs * 10^23 458 459 // flux_AB = ten(+0.4*48.6) * ten(-23) * flux_Jy 460 461 // mag_AB = mag_inst + ZP 462 463 // flux_inst = ten(-0.4*(mag_AB - ZP)) = ten(0.4*ZP) * flux_AB 464 465 // flux_AB = flux_inst * ten(-0.4*ZP) 466 467 // flux_inst * ten(-0.4*ZP) = ten(+0.4*48.6 - 23) * flux_Jy 468 469 // flux_inst = flux_Jy * ten(0.4*ZP + 0.4*48.6 - 23) 470 // flux_inst = flux_Jy * ten(0.4*ZP - 3.56) 471 // flux_Jy = flux_inst * ten(-0.4*ZP + 3.56) 472 473 // zpFactor to go from instrumental flux to Janskies 474 float zpFactor = pow(10.0, -0.4*zp + 3.56); 475 476 // need to put in AB mag factor to get to Janskies (or uJy?) 477 stackFluxPSF = zpFactor * catalog[Nc].measure[m].FluxPSF; 478 stackdFluxPSF = zpFactor * catalog[Nc].measure[m].dFluxPSF; 479 stackFluxKron = zpFactor * catalog[Nc].measure[m].FluxKron; 480 stackdFluxKron = zpFactor * catalog[Nc].measure[m].dFluxKron; 481 } 441 482 } 442 483 … … 582 623 catalog[Nc].secfilt[Nsecfilt*j+Nsec].FluxKron = stackFluxKron; 583 624 catalog[Nc].secfilt[Nsecfilt*j+Nsec].dFluxKron = stackdFluxKron; 625 catalog[Nc].secfilt[Nsecfilt*j+Nsec].stackID = stackImageIDmin; 584 626 } 585 627
Note:
See TracChangeset
for help on using the changeset viewer.
