Changeset 34901 for branches/eam_branches/ipp-20121219
- Timestamp:
- Jan 10, 2013, 11:32:35 AM (14 years ago)
- Location:
- branches/eam_branches/ipp-20121219/Ohana/src
- Files:
-
- 3 edited
-
opihi/dvo/gstar.c (modified) (8 diffs)
-
relastro/src/BrightCatalog.c (modified) (2 diffs)
-
relastro/src/ImageOps.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20121219/Ohana/src/opihi/dvo/gstar.c
r34887 r34901 1 1 # include "dvoshell.h" 2 3 typedef enum { 4 GSTAR_BY_SEQ, 5 GSTAR_BY_TIME, 6 GSTAR_BY_PHOTCODE, 7 } GSTAR_SORT_CODES; 2 8 3 9 typedef enum { … … 23 29 void printPhotcodeSequence (Average *average, SecFilt *secfilt, int entry, int type); 24 30 31 void sort_index_float (float *X, int *IDX, int N) { 32 33 # define SWAPFUNC(A,B){ float tmp; int itmp; \ 34 tmp = X[A]; X[A] = X[B]; X[B] = tmp; \ 35 itmp = IDX[A]; IDX[A] = IDX[B]; IDX[B] = itmp; \ 36 } 37 # define COMPARE(A,B)(X[A] < X[B]) 38 39 OHANA_SORT (N, COMPARE, SWAPFUNC); 40 41 # undef SWAPFUNC 42 # undef COMPARE 43 44 } 45 25 46 int gstar (int argc, char **argv) { 26 47 … … 31 52 off_t i, Nstars, *N1; 32 53 off_t j, k, m, N, Nlo, Nhi; 33 int Nsecfilt, NPTS, QUIET, FULL_OUTPUT, STACK_OUTPUT, INST ;54 int Nsecfilt, NPTS, QUIET, FULL_OUTPUT, STACK_OUTPUT, INST, SHOW_MASKS; 34 55 int found, GetMeasures; 35 56 int SaveVectors; … … 44 65 Nsecfilt = GetPhotcodeNsecfilt (); 45 66 67 GSTAR_SORT_CODES sortCode = GSTAR_BY_SEQ; 68 if ((N = get_argument (argc, argv, "-sort"))) { 69 remove_argument (N, &argc, argv); 70 if (!strcasecmp (argv[N], "time")) { 71 sortCode = GSTAR_BY_TIME; 72 } 73 if (!strcasecmp (argv[N], "photcode")) { 74 sortCode = GSTAR_BY_PHOTCODE; 75 } 76 remove_argument (N, &argc, argv); 77 } 78 46 79 QUIET = FALSE; 47 80 if ((N = get_argument (argc, argv, "-q"))) { … … 53 86 if ((N = get_argument (argc, argv, "-inst"))) { 54 87 INST = TRUE; 88 remove_argument (N, &argc, argv); 89 } 90 91 SHOW_MASKS = FALSE; 92 if ((N = get_argument (argc, argv, "-masks"))) { 93 SHOW_MASKS = TRUE; 55 94 remove_argument (N, &argc, argv); 56 95 } … … 305 344 } 306 345 if (GetMeasures || SaveVectors) { 346 347 if (catalog.average[k].Nmeasure == 0) continue; 348 307 349 m = catalog.average[k].measureOffset; 350 351 int *index = NULL; 352 float *value = NULL; 353 ALLOCATE (index, int, catalog.average[k].Nmeasure); 354 ALLOCATE (value, float, catalog.average[k].Nmeasure); 355 for (j = 0; j < catalog.average[k].Nmeasure; j++) { 356 index[j] = j + m; 357 switch (sortCode) { 358 case GSTAR_BY_SEQ: 359 value[j] = j + m; 360 break; 361 case GSTAR_BY_PHOTCODE: 362 value[j] = catalog.measure[j + m].photcode; 363 break; 364 case GSTAR_BY_TIME: 365 value[j] = catalog.measure[j + m].t; 366 break; 367 } 368 } 369 370 sort_index_float (value, index, catalog.average[k].Nmeasure); 371 308 372 for (j = 0; j < catalog.average[k].Nmeasure; j++, m++) { 309 373 310 Mcat = PhotCat (&catalog.measure[m]); 374 int Nv = index[j]; 375 376 Mcat = PhotCat (&catalog.measure[Nv]); 311 377 if (INST) { 312 Mrel = PhotInst (&catalog.measure[ m]);378 Mrel = PhotInst (&catalog.measure[Nv]); 313 379 } else { 314 Mrel = PhotRel (&catalog.measure[ m], &catalog.average[k], &catalog.secfilt[k*Nsecfilt]);380 Mrel = PhotRel (&catalog.measure[Nv], &catalog.average[k], &catalog.secfilt[k*Nsecfilt]); 315 381 } 316 382 317 383 if (GetMeasures && !QUIET) { 318 date = ohana_sec_to_date (catalog.measure[ m].t);384 date = ohana_sec_to_date (catalog.measure[Nv].t); 319 385 gprint (GP_LOG, "%6.3f ", Mcat); 320 386 gprint (GP_LOG, "%6.3f ", Mrel); 321 gprint (GP_LOG, "% 5.3f ", catalog.measure[m].dM);387 gprint (GP_LOG, "%6.3f ", catalog.measure[Nv].dM); 322 388 gprint (GP_LOG, "%20s ", date); 323 gprint (GP_LOG, "%7.4f ", catalog.measure[m].dR); 324 gprint (GP_LOG, "%7.4f ", catalog.measure[m].dD); 325 gprint (GP_LOG, "0x%08x ", catalog.measure[m].photFlags); 326 gprint (GP_LOG, "0x%08x ", catalog.measure[m].dbFlags); 327 gprint (GP_LOG, "%5d ", catalog.measure[m].photcode); 328 gprint (GP_LOG, "%-20s ", GetPhotcodeNamebyCode (catalog.measure[m].photcode)); 329 gprint (GP_LOG, "%5.2f ", FromShortPixels(catalog.measure[m].FWx)); 330 gprint (GP_LOG, "%5.2f ", FromShortPixels(catalog.measure[m].FWy)); 389 gprint (GP_LOG, "%7.4f ", catalog.measure[Nv].dR); 390 gprint (GP_LOG, "%7.4f ", catalog.measure[Nv].dD); 391 gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].photFlags); 392 gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].dbFlags); 393 if (SHOW_MASKS) { 394 gprint (GP_LOG, "%5d ", catalog.measure[Nv].photcode); 395 PhotCode *code = GetPhotcodebyCode (catalog.measure[Nv].photcode); 396 int badMask = 0; 397 int poorMask = 0; 398 if (code) { 399 badMask = catalog.measure[Nv].photFlags & code->photomBadMask; 400 poorMask = catalog.measure[Nv].photFlags & code->photomPoorMask; 401 } 402 gprint (GP_LOG, "0x%08x ", poorMask); 403 gprint (GP_LOG, "0x%08x ", badMask); 404 } 405 gprint (GP_LOG, "%5d ", catalog.measure[Nv].photcode); 406 gprint (GP_LOG, "%-20s ", GetPhotcodeNamebyCode (catalog.measure[Nv].photcode)); 407 gprint (GP_LOG, "%5.2f ", FromShortPixels(catalog.measure[Nv].FWx)); 408 gprint (GP_LOG, "%5.2f ", FromShortPixels(catalog.measure[Nv].FWy)); 331 409 332 410 if (FULL_OUTPUT) { 333 gprint (GP_LOG, "%6.3f ", catalog.measure[ m].Mcal);334 gprint (GP_LOG, "%6.3f ", catalog.measure[ m].Map);335 gprint (GP_LOG, "%6.3f ", catalog.measure[ m].Mkron);336 gprint (GP_LOG, "%6.3f ", catalog.measure[ m].dMkron);337 gprint (GP_LOG, "%5.1f ", pow(10.0, 0.4*catalog.measure[ m].dt));338 gprint (GP_LOG, "%5.3f ", catalog.measure[ m].airmass);339 gprint (GP_LOG, "%6.1f ", catalog.measure[ m].az);340 gprint (GP_LOG, "%6.1f ", catalog.measure[ m].Xccd);341 gprint (GP_LOG, "%6.1f ", catalog.measure[ m].Yccd);342 gprint (GP_LOG, "%3.1f ", FromShortPixels(catalog.measure[ m].dXccd));343 gprint (GP_LOG, "%3.1f ", FromShortPixels(catalog.measure[ m].dYccd));344 gprint (GP_LOG, "%6.1f ", catalog.measure[ m].Sky);345 gprint (GP_LOG, "%5.1f ", catalog.measure[ m].dSky);346 gprint (GP_LOG, "%8d ", catalog.measure[ m].averef);347 gprint (GP_LOG, "0x%08x ", catalog.measure[ m].detID);348 gprint (GP_LOG, "0x%08x ", catalog.measure[ m].imageID);349 gprint (GP_LOG, "%.3f ", catalog.measure[ m].psfQF);350 gprint (GP_LOG, "%.1f ", catalog.measure[ m].psfChisq);351 gprint (GP_LOG, "%.1f ", catalog.measure[ m].crNsigma);352 gprint (GP_LOG, "%.1f ", catalog.measure[ m].extNsigma);353 gprint (GP_LOG, "%.1f ", FromShortDegrees(catalog.measure[ m].theta));411 gprint (GP_LOG, "%6.3f ", catalog.measure[Nv].Mcal); 412 gprint (GP_LOG, "%6.3f ", catalog.measure[Nv].Map); 413 gprint (GP_LOG, "%6.3f ", catalog.measure[Nv].Mkron); 414 gprint (GP_LOG, "%6.3f ", catalog.measure[Nv].dMkron); 415 gprint (GP_LOG, "%5.1f ", pow(10.0, 0.4*catalog.measure[Nv].dt)); 416 gprint (GP_LOG, "%5.3f ", catalog.measure[Nv].airmass); 417 gprint (GP_LOG, "%6.1f ", catalog.measure[Nv].az); 418 gprint (GP_LOG, "%6.1f ", catalog.measure[Nv].Xccd); 419 gprint (GP_LOG, "%6.1f ", catalog.measure[Nv].Yccd); 420 gprint (GP_LOG, "%3.1f ", FromShortPixels(catalog.measure[Nv].dXccd)); 421 gprint (GP_LOG, "%3.1f ", FromShortPixels(catalog.measure[Nv].dYccd)); 422 gprint (GP_LOG, "%6.1f ", catalog.measure[Nv].Sky); 423 gprint (GP_LOG, "%5.1f ", catalog.measure[Nv].dSky); 424 gprint (GP_LOG, "%8d ", catalog.measure[Nv].averef); 425 gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].detID); 426 gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].imageID); 427 gprint (GP_LOG, "%.3f ", catalog.measure[Nv].psfQF); 428 gprint (GP_LOG, "%.1f ", catalog.measure[Nv].psfChisq); 429 gprint (GP_LOG, "%.1f ", catalog.measure[Nv].crNsigma); 430 gprint (GP_LOG, "%.1f ", catalog.measure[Nv].extNsigma); 431 gprint (GP_LOG, "%.1f ", FromShortDegrees(catalog.measure[Nv].theta)); 354 432 } 355 433 if (STACK_OUTPUT) { 356 gprint (GP_LOG, "%10.3e ", catalog.measure[ m].FluxPSF);357 gprint (GP_LOG, "%10.3e ", catalog.measure[ m].dFluxPSF);358 gprint (GP_LOG, "%10.3e ", catalog.measure[ m].FluxKron);359 gprint (GP_LOG, "%10.3e ", catalog.measure[ m].dFluxKron);434 gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].FluxPSF); 435 gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].dFluxPSF); 436 gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].FluxKron); 437 gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].dFluxKron); 360 438 } 361 439 gprint (GP_LOG, "\n"); … … 366 444 if (SaveVectors) { 367 445 vec1[0].elements.Flt[N] = Mcat; 368 vec2[0].elements.Flt[N] = TimeValue (catalog.measure[ m].t, TimeReference, TimeFormat);369 vec3[0].elements.Flt[N] = catalog.measure[ m].airmass;370 vec4[0].elements.Flt[N] = catalog.measure[ m].photcode;371 vec5[0].elements.Flt[N] = catalog.measure[ m].dR;372 vec6[0].elements.Flt[N] = catalog.measure[ m].dD;446 vec2[0].elements.Flt[N] = TimeValue (catalog.measure[Nv].t, TimeReference, TimeFormat); 447 vec3[0].elements.Flt[N] = catalog.measure[Nv].airmass; 448 vec4[0].elements.Flt[N] = catalog.measure[Nv].photcode; 449 vec5[0].elements.Flt[N] = catalog.measure[Nv].dR; 450 vec6[0].elements.Flt[N] = catalog.measure[Nv].dD; 373 451 N ++; 374 452 if (N == NPTS - 1) { … … 383 461 } 384 462 } 463 free (value); 464 free (index); 385 465 } 386 466 } -
branches/eam_branches/ipp-20121219/Ohana/src/relastro/src/BrightCatalog.c
r34898 r34901 346 346 gfits_define_bintable_column (&theader, "E", "MAG_ERR", "magnitude (err)", NULL, 1.0, 0.0); 347 347 gfits_define_bintable_column (&theader, "E", "AIRMASS", "airmass", NULL, 1.0, 0.0); 348 gfits_define_bintable_column (&theader, "E", "X_CCD", "ccd x coord", "pix", 1.0, 0.0); 349 gfits_define_bintable_column (&theader, "E", "Y_CCD", "ccd y coord", "pix", 1.0, 0.0); 348 gfits_define_bintable_column (&theader, "E", "X_CCD", "ccd x raw coord", "pix", 1.0, 0.0); 349 gfits_define_bintable_column (&theader, "E", "Y_CCD", "ccd y raw coord", "pix", 1.0, 0.0); 350 gfits_define_bintable_column (&theader, "E", "X_FIX", "ccd x fixed coord", "pix", 1.0, 0.0); 351 gfits_define_bintable_column (&theader, "E", "Y_FIX", "ccd y fiex coord", "pix", 1.0, 0.0); 350 352 gfits_define_bintable_column (&theader, "E", "EXPTIME", "-2.5 * log (exposure time)", "sec", 1.0, 0.0); 351 353 gfits_define_bintable_column (&theader, "J", "TIME", "time of exp", "sec", 1.0, 1.0*0x8000); … … 467 469 gfits_define_bintable_column (&theader, "J", "MEAN_EPOCH", "mean epoch (PM-PAR ref)", "", 1.0, 1.0*0x8000); 468 470 gfits_define_bintable_column (&theader, "J", "TIME_RANGE", "mean epoch (PM-PAR ref)", "", 1.0, 1.0*0x8000); 469 gfits_define_bintable_column (&theader, "E", "S IGMA_POS", "position scatter","", 1.0, 0.0);471 gfits_define_bintable_column (&theader, "E", "STARGAL_SEP", "star/galaxy separator", "", 1.0, 0.0); 470 472 gfits_define_bintable_column (&theader, "I", "NUMBER_POS", "number of detections used for astrometry", "", 1.0, 1.0*0x80); 471 473 gfits_define_bintable_column (&theader, "I", "NMEASURE", "number of psf measurements", "", 1.0, 1.0*0x80); -
branches/eam_branches/ipp-20121219/Ohana/src/relastro/src/ImageOps.c
r34898 r34901 178 178 int found = FALSE; 179 179 for (k = 0; (k < NphotcodesSkip) && !found; k++) { 180 if (photcodesSkip[k][0].code == catalog[i].measure [j].photcode) found = TRUE;181 if (photcodesSkip[k][0].code == GetPhotcodeEquivCodebyCode(catalog[i].measure [j].photcode)) found = TRUE;180 if (photcodesSkip[k][0].code == catalog[i].measureT[j].photcode) found = TRUE; 181 if (photcodesSkip[k][0].code == GetPhotcodeEquivCodebyCode(catalog[i].measureT[j].photcode)) found = TRUE; 182 182 } 183 183 if (found) continue;
Note:
See TracChangeset
for help on using the changeset viewer.
