Changeset 37006
- Timestamp:
- Jul 13, 2014, 11:06:04 AM (12 years ago)
- Location:
- branches/eam_branches/ipp-20140610/Ohana/src/relastro
- Files:
-
- 12 edited
-
include/relastro.h (modified) (3 diffs)
-
src/BrightCatalog.c (modified) (8 diffs)
-
src/FitChip.c (modified) (1 diff)
-
src/ImageOps.c (modified) (3 diffs)
-
src/UpdateObjectOffsets.c (modified) (1 diff)
-
src/UpdateObjects.c (modified) (7 diffs)
-
src/args.c (modified) (2 diffs)
-
src/initialize.c (modified) (2 diffs)
-
src/launch_region_hosts.c (modified) (1 diff)
-
src/load_catalogs.c (modified) (1 diff)
-
src/markObjects.c (modified) (2 diffs)
-
src/share_mean_pos.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140610/Ohana/src/relastro/include/relastro.h
r36995 r37006 75 75 double X, Y; /* Chip Coords - pixels */ 76 76 float Mag; 77 float Color; 77 float ColorBlue; 78 float ColorRed; 78 79 float dMag; 79 80 float dPos; … … 209 210 SkyRegionSelection SELECTION; 210 211 211 char *DCR_COLOR_POS, *DCR_COLOR_NEG; 212 PhotCode *DCR_PHOTCODE_POS, *DCR_PHOTCODE_NEG; 213 int DCR_NSEC_POS, DCR_NSEC_NEG; 212 char *DCR_BLUE_COLOR_POS, *DCR_BLUE_COLOR_NEG; 213 PhotCode *DCR_BLUE_PHOTCODE_POS, *DCR_BLUE_PHOTCODE_NEG; 214 int DCR_BLUE_NSEC_POS, DCR_BLUE_NSEC_NEG; 215 216 char *DCR_RED_COLOR_POS, *DCR_RED_COLOR_NEG; 217 PhotCode *DCR_RED_PHOTCODE_POS, *DCR_RED_PHOTCODE_NEG; 218 int DCR_RED_NSEC_POS, DCR_RED_NSEC_NEG; 214 219 215 220 int ImagSelect; … … 523 528 int select_mosaics_hostregion (RegionHostTable *regionHosts, Image *image, off_t Nimage); 524 529 525 float getColor (off_t meas, int cat); 530 float getColorBlue (off_t meas, int cat); 531 float getColorRed (off_t meas, int cat); 526 532 527 533 int strextend (char *input, char *format,...); -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/BrightCatalog.c
r36987 r37006 145 145 if (!gfits_fread_ftable_data (f, &ftable, FALSE)) goto escape; 146 146 147 GET_COLUMN(R, "RA", double); 148 GET_COLUMN(D, "DEC", double); 149 GET_COLUMN(dR, "RA_ERR", float); 150 GET_COLUMN(dD, "DEC_ERR", float); 151 GET_COLUMN(uR, "U_RA", float); 152 GET_COLUMN(uD, "U_DEC", float); 153 GET_COLUMN(duR, "V_RA_ERR", float); 154 GET_COLUMN(duD, "V_DEC_ERR", float); 155 GET_COLUMN(P, "PAR", float); 156 GET_COLUMN(dP, "PAR_ERR", float); 157 GET_COLUMN(ChiSqAve, "CHISQ_POS", float); 158 GET_COLUMN(ChiSqPM, "CHISQ_PM", float); 159 GET_COLUMN(ChiSqPar, "CHISQ_PAP", float); 160 GET_COLUMN(Tmean, "MEAN_EPOCH", int); 161 GET_COLUMN(Trange, "TIME_RANGE", int); 162 GET_COLUMN(stargal, "STARGAL_SEP", float); 163 GET_COLUMN(Npos, "NUMBER_POS", short); 164 GET_COLUMN(Nmeasure, "NMEASURE", short); 165 GET_COLUMN(Nmissing, "NMISSING", short); 166 GET_COLUMN(Nextend, "NEXTEND", short); 167 GET_COLUMN(measureOffset, "OFF_MEASURE", int); 168 GET_COLUMN(missingOffset, "OFF_MISSING", int); 169 GET_COLUMN(refColor, "REF_COLOR", float); 170 GET_COLUMN(flags, "FLAGS", int); 171 GET_COLUMN(photFlagsUpper, "PHOTFLAGS_U", int); 172 GET_COLUMN(photFlagsLower, "PHOTFLAGS_L", int); 173 GET_COLUMN(objID, "OBJ_ID", int); 174 GET_COLUMN(catID, "CAT_ID", int); 175 GET_COLUMN(extID, "EXT_ID", int64_t); 147 GET_COLUMN(R, "RA", double); 148 GET_COLUMN(D, "DEC", double); 149 GET_COLUMN(dR, "RA_ERR", float); 150 GET_COLUMN(dD, "DEC_ERR", float); 151 GET_COLUMN(uR, "U_RA", float); 152 GET_COLUMN(uD, "U_DEC", float); 153 GET_COLUMN(duR, "V_RA_ERR", float); 154 GET_COLUMN(duD, "V_DEC_ERR", float); 155 GET_COLUMN(P, "PAR", float); 156 GET_COLUMN(dP, "PAR_ERR", float); 157 GET_COLUMN(ChiSqAve, "CHISQ_POS", float); 158 GET_COLUMN(ChiSqPM, "CHISQ_PM", float); 159 GET_COLUMN(ChiSqPar, "CHISQ_PAP", float); 160 GET_COLUMN(Tmean, "MEAN_EPOCH", int); 161 GET_COLUMN(Trange, "TIME_RANGE", int); 162 GET_COLUMN(stargal, "STARGAL_SEP", float); 163 GET_COLUMN(Npos, "NUMBER_POS", short); 164 GET_COLUMN(Nmeasure, "NMEASURE", short); 165 GET_COLUMN(Nmissing, "NMISSING", short); 166 GET_COLUMN(Nextend, "NEXTEND", short); 167 GET_COLUMN(measureOffset, "OFF_MEASURE", int); 168 GET_COLUMN(missingOffset, "OFF_MISSING", int); 169 GET_COLUMN(refColorBlue, "REF_COLOR_BLUE", float); 170 GET_COLUMN(refColorRed, "REF_COLOR_RED", float); 171 GET_COLUMN(flags, "FLAGS", int); 172 GET_COLUMN(photFlagsUpper, "PHOTFLAGS_U", int); 173 GET_COLUMN(photFlagsLower, "PHOTFLAGS_L", int); 174 GET_COLUMN(objID, "OBJ_ID", int); 175 GET_COLUMN(catID, "CAT_ID", int); 176 GET_COLUMN(extID, "EXT_ID", int64_t); 176 177 gfits_free_header (&theader); 177 178 gfits_free_table (&ftable); … … 202 203 average[i].measureOffset = measureOffset[i] ; 203 204 average[i].missingOffset = missingOffset[i] ; 204 average[i].refColor = refColor[i] ; 205 average[i].refColorBlue = refColorBlue[i] ; 206 average[i].refColorRed = refColorRed[i] ; 205 207 average[i].flags = flags[i] ; 206 208 average[i].photFlagsUpper = photFlagsUpper[i] ; … … 234 236 free (measureOffset); 235 237 free (missingOffset); 236 free (refColor); 238 free (refColorBlue); 239 free (refColorRed); 237 240 free (flags); 238 241 free (photFlagsUpper); … … 454 457 gfits_create_table_header (&theader, "BINTABLE", "AVERAGE"); 455 458 456 gfits_define_bintable_column (&theader, "D", "RA", "RA", "", 1.0, 0.0); 457 gfits_define_bintable_column (&theader, "D", "DEC", "DEC", "", 1.0, 0.0); 458 gfits_define_bintable_column (&theader, "E", "RA_ERR", "RA error", "", 1.0, 0.0); 459 gfits_define_bintable_column (&theader, "E", "DEC_ERR", "DEC error", "", 1.0, 0.0); 460 gfits_define_bintable_column (&theader, "E", "U_RA", "RA*cos(D) proper-motion", "", 1.0, 0.0); 461 gfits_define_bintable_column (&theader, "E", "U_DEC", "DEC proper-motion", "", 1.0, 0.0); 462 gfits_define_bintable_column (&theader, "E", "V_RA_ERR", "RA*cos(D) p-m error", "", 1.0, 0.0); 463 gfits_define_bintable_column (&theader, "E", "V_DEC_ERR", "DEC p-m error", "", 1.0, 0.0); 464 gfits_define_bintable_column (&theader, "E", "PAR", "parallax", "", 1.0, 0.0); 465 gfits_define_bintable_column (&theader, "E", "PAR_ERR", "parallax error", "", 1.0, 0.0); 466 gfits_define_bintable_column (&theader, "E", "CHISQ_POS", "astrometry analysis chisq", "", 1.0, 0.0); 467 gfits_define_bintable_column (&theader, "E", "CHISQ_PM", "astrometry analysis chisq", "", 1.0, 0.0); 468 gfits_define_bintable_column (&theader, "E", "CHISQ_PAP", "astrometry analysis chisq", "", 1.0, 0.0); 469 gfits_define_bintable_column (&theader, "J", "MEAN_EPOCH", "mean epoch (PM-PAR ref)", "", 1.0, 0.00); 470 gfits_define_bintable_column (&theader, "J", "TIME_RANGE", "mean epoch (PM-PAR ref)", "", 1.0, 0.00); 471 gfits_define_bintable_column (&theader, "E", "STARGAL_SEP", "star/galaxy separator", "", 1.0, 0.0); 472 gfits_define_bintable_column (&theader, "I", "NUMBER_POS", "number of detections used for astrometry", "", 1.0, 0.0); 473 gfits_define_bintable_column (&theader, "I", "NMEASURE", "number of psf measurements", "", 1.0, 0.0); 474 gfits_define_bintable_column (&theader, "I", "NMISSING", "number of missings", "", 1.0, 0.0); 475 gfits_define_bintable_column (&theader, "I", "NEXTEND", "number of extended measurements", "", 1.0, 0.0); 476 gfits_define_bintable_column (&theader, "J", "OFF_MEASURE", "offset to first psf measurement", "", 1.0, 0.0); 477 gfits_define_bintable_column (&theader, "J", "OFF_MISSING", "offset to first missing obs", "", 1.0, 0.0); 478 gfits_define_bintable_column (&theader, "E", "REF_COLOR", "reference color", "", 1.0, 0.0); 479 gfits_define_bintable_column (&theader, "J", "FLAGS", "average object flags (star; ghost; etc)", "", 1.0, 0.0); 480 gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_U", "upper bit of 2 bit summary of per-measure photflags", "", 1.0, 0.0); 481 gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_L", "lower bit of 2 bit summary of per-measure photflags", "", 1.0, 0.0); 482 gfits_define_bintable_column (&theader, "J", "OBJ_ID", "unique ID for object in table", "", 1.0, 0.0); 483 gfits_define_bintable_column (&theader, "J", "CAT_ID", "unique ID for table in which object was first realized", "", 1.0, 0.0); 484 gfits_define_bintable_column (&theader, "K", "EXT_ID", "external ID for object (eg PSPS objID)", "", 1.0, 0.0); 459 gfits_define_bintable_column (&theader, "D", "RA", "RA", "", 1.0, 0.0); 460 gfits_define_bintable_column (&theader, "D", "DEC", "DEC", "", 1.0, 0.0); 461 gfits_define_bintable_column (&theader, "E", "RA_ERR", "RA error", "", 1.0, 0.0); 462 gfits_define_bintable_column (&theader, "E", "DEC_ERR", "DEC error", "", 1.0, 0.0); 463 gfits_define_bintable_column (&theader, "E", "U_RA", "RA*cos(D) proper-motion", "", 1.0, 0.0); 464 gfits_define_bintable_column (&theader, "E", "U_DEC", "DEC proper-motion", "", 1.0, 0.0); 465 gfits_define_bintable_column (&theader, "E", "V_RA_ERR", "RA*cos(D) p-m error", "", 1.0, 0.0); 466 gfits_define_bintable_column (&theader, "E", "V_DEC_ERR", "DEC p-m error", "", 1.0, 0.0); 467 gfits_define_bintable_column (&theader, "E", "PAR", "parallax", "", 1.0, 0.0); 468 gfits_define_bintable_column (&theader, "E", "PAR_ERR", "parallax error", "", 1.0, 0.0); 469 gfits_define_bintable_column (&theader, "E", "CHISQ_POS", "astrometry analysis chisq", "", 1.0, 0.0); 470 gfits_define_bintable_column (&theader, "E", "CHISQ_PM", "astrometry analysis chisq", "", 1.0, 0.0); 471 gfits_define_bintable_column (&theader, "E", "CHISQ_PAP", "astrometry analysis chisq", "", 1.0, 0.0); 472 gfits_define_bintable_column (&theader, "J", "MEAN_EPOCH", "mean epoch (PM-PAR ref)", "", 1.0, 0.00); 473 gfits_define_bintable_column (&theader, "J", "TIME_RANGE", "mean epoch (PM-PAR ref)", "", 1.0, 0.00); 474 gfits_define_bintable_column (&theader, "E", "STARGAL_SEP", "star/galaxy separator", "", 1.0, 0.0); 475 gfits_define_bintable_column (&theader, "I", "NUMBER_POS", "number of detections used for astrometry", "", 1.0, 0.0); 476 gfits_define_bintable_column (&theader, "I", "NMEASURE", "number of psf measurements", "", 1.0, 0.0); 477 gfits_define_bintable_column (&theader, "I", "NMISSING", "number of missings", "", 1.0, 0.0); 478 gfits_define_bintable_column (&theader, "I", "NEXTEND", "number of extended measurements", "", 1.0, 0.0); 479 gfits_define_bintable_column (&theader, "J", "OFF_MEASURE", "offset to first psf measurement", "", 1.0, 0.0); 480 gfits_define_bintable_column (&theader, "J", "OFF_MISSING", "offset to first missing obs", "", 1.0, 0.0); 481 gfits_define_bintable_column (&theader, "E", "REF_COLOR_BLUE", "reference color", "", 1.0, 0.0); 482 gfits_define_bintable_column (&theader, "E", "REF_COLOR_RED", "reference color", "", 1.0, 0.0); 483 gfits_define_bintable_column (&theader, "J", "FLAGS", "average object flags (star; ghost; etc)", "", 1.0, 0.0); 484 gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_U", "upper bit of 2 bit summary of per-measure photflags", "", 1.0, 0.0); 485 gfits_define_bintable_column (&theader, "J", "PHOTFLAGS_L", "lower bit of 2 bit summary of per-measure photflags", "", 1.0, 0.0); 486 gfits_define_bintable_column (&theader, "J", "OBJ_ID", "unique ID for object in table", "", 1.0, 0.0); 487 gfits_define_bintable_column (&theader, "J", "CAT_ID", "unique ID for table in which object was first realized", "", 1.0, 0.0); 488 gfits_define_bintable_column (&theader, "K", "EXT_ID", "external ID for object (eg PSPS objID)", "", 1.0, 0.0); 485 489 486 490 // generate the output array that carries the data … … 510 514 int *measureOffset ; ALLOCATE (measureOffset , int , catalog->Naverage); 511 515 int *missingOffset ; ALLOCATE (missingOffset , int , catalog->Naverage); 512 float *refColor ; ALLOCATE (refColor , float , catalog->Naverage); 516 float *refColorBlue ; ALLOCATE (refColorBlue , float , catalog->Naverage); 517 float *refColorRed ; ALLOCATE (refColorRed , float , catalog->Naverage); 513 518 int *flags ; ALLOCATE (flags , int , catalog->Naverage); 514 519 int *photFlagsUpper; ALLOCATE (photFlagsUpper, int , catalog->Naverage); … … 543 548 measureOffset[i] = average[i].measureOffset ; 544 549 missingOffset[i] = average[i].missingOffset ; 545 refColor[i] = average[i].refColor ; 550 refColorBlue[i] = average[i].refColorBlue ; 551 refColorRed[i] = average[i].refColorRed ; 546 552 flags[i] = average[i].flags ; 547 553 photFlagsUpper[i] = average[i].photFlagsUpper ; … … 553 559 554 560 // add the columns to the output array 555 gfits_set_bintable_column (&theader, &ftable, "RA", R, catalog->Naverage); 556 gfits_set_bintable_column (&theader, &ftable, "DEC", D, catalog->Naverage); 557 gfits_set_bintable_column (&theader, &ftable, "RA_ERR", dR, catalog->Naverage); 558 gfits_set_bintable_column (&theader, &ftable, "DEC_ERR", dD, catalog->Naverage); 559 gfits_set_bintable_column (&theader, &ftable, "U_RA", uR, catalog->Naverage); 560 gfits_set_bintable_column (&theader, &ftable, "U_DEC", uD, catalog->Naverage); 561 gfits_set_bintable_column (&theader, &ftable, "V_RA_ERR", duR, catalog->Naverage); 562 gfits_set_bintable_column (&theader, &ftable, "V_DEC_ERR", duD, catalog->Naverage); 563 gfits_set_bintable_column (&theader, &ftable, "PAR", P, catalog->Naverage); 564 gfits_set_bintable_column (&theader, &ftable, "PAR_ERR", dP, catalog->Naverage); 565 gfits_set_bintable_column (&theader, &ftable, "CHISQ_POS", ChiSqAve, catalog->Naverage); 566 gfits_set_bintable_column (&theader, &ftable, "CHISQ_PM", ChiSqPM, catalog->Naverage); 567 gfits_set_bintable_column (&theader, &ftable, "CHISQ_PAP", ChiSqPar, catalog->Naverage); 568 gfits_set_bintable_column (&theader, &ftable, "MEAN_EPOCH", Tmean, catalog->Naverage); 569 gfits_set_bintable_column (&theader, &ftable, "TIME_RANGE", Trange, catalog->Naverage); 570 gfits_set_bintable_column (&theader, &ftable, "STARGAL_SEP", stargal, catalog->Naverage); 571 gfits_set_bintable_column (&theader, &ftable, "NUMBER_POS", Npos, catalog->Naverage); 572 gfits_set_bintable_column (&theader, &ftable, "NMEASURE", Nmeasure, catalog->Naverage); 573 gfits_set_bintable_column (&theader, &ftable, "NMISSING", Nmissing, catalog->Naverage); 574 gfits_set_bintable_column (&theader, &ftable, "NEXTEND", Nextend, catalog->Naverage); 575 gfits_set_bintable_column (&theader, &ftable, "OFF_MEASURE", measureOffset, catalog->Naverage); 576 gfits_set_bintable_column (&theader, &ftable, "OFF_MISSING", missingOffset, catalog->Naverage); 577 gfits_set_bintable_column (&theader, &ftable, "REF_COLOR", refColor, catalog->Naverage); 578 gfits_set_bintable_column (&theader, &ftable, "FLAGS", flags, catalog->Naverage); 579 gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_U", photFlagsUpper, catalog->Naverage); 580 gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_L", photFlagsLower, catalog->Naverage); 581 gfits_set_bintable_column (&theader, &ftable, "OBJ_ID", objID, catalog->Naverage); 582 gfits_set_bintable_column (&theader, &ftable, "CAT_ID", catID, catalog->Naverage); 583 gfits_set_bintable_column (&theader, &ftable, "EXT_ID", extID, catalog->Naverage); 561 gfits_set_bintable_column (&theader, &ftable, "RA", R, catalog->Naverage); 562 gfits_set_bintable_column (&theader, &ftable, "DEC", D, catalog->Naverage); 563 gfits_set_bintable_column (&theader, &ftable, "RA_ERR", dR, catalog->Naverage); 564 gfits_set_bintable_column (&theader, &ftable, "DEC_ERR", dD, catalog->Naverage); 565 gfits_set_bintable_column (&theader, &ftable, "U_RA", uR, catalog->Naverage); 566 gfits_set_bintable_column (&theader, &ftable, "U_DEC", uD, catalog->Naverage); 567 gfits_set_bintable_column (&theader, &ftable, "V_RA_ERR", duR, catalog->Naverage); 568 gfits_set_bintable_column (&theader, &ftable, "V_DEC_ERR", duD, catalog->Naverage); 569 gfits_set_bintable_column (&theader, &ftable, "PAR", P, catalog->Naverage); 570 gfits_set_bintable_column (&theader, &ftable, "PAR_ERR", dP, catalog->Naverage); 571 gfits_set_bintable_column (&theader, &ftable, "CHISQ_POS", ChiSqAve, catalog->Naverage); 572 gfits_set_bintable_column (&theader, &ftable, "CHISQ_PM", ChiSqPM, catalog->Naverage); 573 gfits_set_bintable_column (&theader, &ftable, "CHISQ_PAP", ChiSqPar, catalog->Naverage); 574 gfits_set_bintable_column (&theader, &ftable, "MEAN_EPOCH", Tmean, catalog->Naverage); 575 gfits_set_bintable_column (&theader, &ftable, "TIME_RANGE", Trange, catalog->Naverage); 576 gfits_set_bintable_column (&theader, &ftable, "STARGAL_SEP", stargal, catalog->Naverage); 577 gfits_set_bintable_column (&theader, &ftable, "NUMBER_POS", Npos, catalog->Naverage); 578 gfits_set_bintable_column (&theader, &ftable, "NMEASURE", Nmeasure, catalog->Naverage); 579 gfits_set_bintable_column (&theader, &ftable, "NMISSING", Nmissing, catalog->Naverage); 580 gfits_set_bintable_column (&theader, &ftable, "NEXTEND", Nextend, catalog->Naverage); 581 gfits_set_bintable_column (&theader, &ftable, "OFF_MEASURE", measureOffset, catalog->Naverage); 582 gfits_set_bintable_column (&theader, &ftable, "OFF_MISSING", missingOffset, catalog->Naverage); 583 gfits_set_bintable_column (&theader, &ftable, "REF_COLOR_BLUE", refColorBlue, catalog->Naverage); 584 gfits_set_bintable_column (&theader, &ftable, "REF_COLOR_RED", refColorRed, catalog->Naverage); 585 gfits_set_bintable_column (&theader, &ftable, "FLAGS", flags, catalog->Naverage); 586 gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_U", photFlagsUpper, catalog->Naverage); 587 gfits_set_bintable_column (&theader, &ftable, "PHOTFLAGS_L", photFlagsLower, catalog->Naverage); 588 gfits_set_bintable_column (&theader, &ftable, "OBJ_ID", objID, catalog->Naverage); 589 gfits_set_bintable_column (&theader, &ftable, "CAT_ID", catID, catalog->Naverage); 590 gfits_set_bintable_column (&theader, &ftable, "EXT_ID", extID, catalog->Naverage); 584 591 585 592 free (R); … … 605 612 free (measureOffset); 606 613 free (missingOffset); 607 free (refColor); 614 free (refColorBlue); 615 free (refColorRed); 608 616 free (flags); 609 617 free (photFlagsUpper); -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/FitChip.c
r36833 r37006 112 112 } 113 113 114 int Ncolor = 0; 114 int Ncolor; 115 float colorMedian; 115 116 float *colorList = NULL; 116 117 ALLOCATE (colorList, float, Nmatch); 117 118 119 // calculate the median blue color 120 Ncolor = 0; 118 121 for (i = 0; i < Nmatch; i++) { 119 122 if (!raw[i].mask) continue; 120 if (!isnan(ref[i].Color)) { 121 colorList[Ncolor] = ref[i].Color; 122 Ncolor ++; 123 } 123 if (isnan(ref[i].ColorBlue)) continue; 124 colorList[Ncolor] = ref[i].ColorBlue; 125 Ncolor ++; 124 126 } 125 127 fsort (colorList, Ncolor); 126 float colorMedian = (Ncolor > 0) ? colorList[(int)(0.5*Ncolor)] : NAN; 127 image[0].refColor = colorMedian; 128 colorMedian = (Ncolor > 0) ? colorList[(int)(0.5*Ncolor)] : NAN; 129 image[0].refColorBlue = colorMedian; 130 131 // calculate the median red color 132 Ncolor = 0; 133 for (i = 0; i < Nmatch; i++) { 134 if (!raw[i].mask) continue; 135 if (isnan(ref[i].ColorRed)) continue; 136 colorList[Ncolor] = ref[i].ColorRed; 137 Ncolor ++; 138 } 139 fsort (colorList, Ncolor); 140 colorMedian = (Ncolor > 0) ? colorList[(int)(0.5*Ncolor)] : NAN; 141 image[0].refColorRed = colorMedian; 142 128 143 free (colorList); 129 144 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/ImageOps.c
r36910 r37006 345 345 */ 346 346 347 float getColor (off_t meas, int cat) {347 float getColorBlue (off_t meas, int cat) { 348 348 349 349 off_t i; … … 351 351 i = MeasureToImage[cat][meas]; 352 352 if (i == -1) return (NAN); 353 return (image[i].refColor); 353 return (image[i].refColorBlue); 354 } 355 356 float getColorRed (off_t meas, int cat) { 357 358 off_t i; 359 360 i = MeasureToImage[cat][meas]; 361 if (i == -1) return (NAN); 362 return (image[i].refColorRed); 354 363 } 355 364 … … 803 812 ref[i].dPos = GetAstromErrorTiny (&measure[0], ERROR_MODE_POS); 804 813 805 if ((DCR_NSEC_POS >= 0) && (DCR_NSEC_NEG >= -1)) { 806 ref[i].Color = catalog[c].secfilt[n*Nsecfilt + DCR_NSEC_POS].M - catalog[c].secfilt[n*Nsecfilt + DCR_NSEC_NEG].M; 814 if ((DCR_BLUE_NSEC_POS >= 0) && (DCR_BLUE_NSEC_NEG >= -1)) { 815 ref[i].ColorBlue = catalog[c].secfilt[n*Nsecfilt + DCR_BLUE_NSEC_POS].M - catalog[c].secfilt[n*Nsecfilt + DCR_BLUE_NSEC_NEG].M; 816 } 817 if ((DCR_RED_NSEC_POS >= 0) && (DCR_RED_NSEC_NEG >= -1)) { 818 ref[i].ColorRed = catalog[c].secfilt[n*Nsecfilt + DCR_RED_NSEC_POS].M - catalog[c].secfilt[n*Nsecfilt + DCR_RED_NSEC_NEG].M; 807 819 } 808 820 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/UpdateObjectOffsets.c
r36833 r37006 153 153 // XXX note that the above pass in the flag as decimal -- also note that args.c cannot handle 0xHEX values 154 154 155 if (DCR_COLOR_POS && DCR_COLOR_NEG) { 156 strextend (command, "-dcr-color %s %s", DCR_COLOR_POS, DCR_COLOR_NEG); 155 if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) { 156 strextend (command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG); 157 } 158 if (DCR_RED_COLOR_POS && DCR_RED_COLOR_NEG) { 159 strextend (command, "-dcr-red-color %s %s", DCR_RED_COLOR_POS, DCR_RED_COLOR_NEG); 157 160 } 158 161 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/UpdateObjects.c
r36903 r37006 10 10 static double *T; 11 11 static double *dT; 12 static double *C; 12 static double *C_blue; 13 static double *C_red; 13 14 14 15 void initObjectData (Catalog *catalog, int Ncatalog) { … … 38 39 ALLOCATE (pY, double, MAX (1, Nmax)); 39 40 40 ALLOCATE (C, double, MAX (1, Nmax)); 41 ALLOCATE (C_blue, double, MAX (1, Nmax)); 42 ALLOCATE (C_red, double, MAX (1, Nmax)); 41 43 } 42 44 … … 58 60 free (pY); 59 61 60 free (C); 62 free (C_blue); 63 free (C_red); 61 64 } 62 65 … … 66 69 67 70 off_t j, k, m; 68 int i, N, Nc , Nsecfilt, mode, result, status, XVERB;71 int i, N, NcBlue, NcRed, Nsecfilt, mode, result, status, XVERB; 69 72 StatType statsR, statsD; 70 73 Coords coords; … … 130 133 } 131 134 132 Nc = 0; 135 NcBlue = 0; 136 NcRed = 0; 133 137 N = 0; 134 138 m = catalog[i].average[j].measureOffset; … … 225 229 226 230 if (setRefColor) { 227 float color = getColor (m+k, i); 228 if (!isnan(color)) { 229 C[Nc] = color; 230 Nc++; 231 float colorBlue = getColorBlue (m+k, i); 232 if (!isnan(colorBlue)) { 233 C_blue[NcBlue] = colorBlue; 234 NcBlue++; 235 } 236 float colorRed = getColorRed (m+k, i); 237 if (!isnan(colorRed)) { 238 C_red[NcRed] = colorRed; 239 NcRed++; 231 240 } 232 241 } … … 360 369 361 370 if (setRefColor) { 362 dsort (C, Nc); 363 float colorMedian = (Nc > 0) ? C[(int)(0.5*Nc)] : NAN; 364 catalog[i].average[j].refColor = colorMedian; 371 float colorMedian; 372 dsort (C_blue, NcBlue); 373 colorMedian = (NcBlue > 0) ? C_blue[(int)(0.5*NcBlue)] : NAN; 374 catalog[i].average[j].refColorBlue = colorMedian; 375 dsort (C_red, NcRed); 376 colorMedian = (NcRed > 0) ? C_red[(int)(0.5*NcRed)] : NAN; 377 catalog[i].average[j].refColorRed = colorMedian; 365 378 } 366 379 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/args.c
r36833 r37006 294 294 } 295 295 296 DCR_COLOR_POS = NULL; 297 DCR_COLOR_NEG = NULL; 298 if ((N = get_argument (argc, argv, "-dcr-color"))) { 299 remove_argument (N, &argc, argv); 300 DCR_COLOR_POS = strcreate(argv[N]); 301 remove_argument (N, &argc, argv); 302 DCR_COLOR_NEG = strcreate(argv[N]); 296 // eg g - r or r - i 297 DCR_BLUE_COLOR_POS = NULL; 298 DCR_BLUE_COLOR_NEG = NULL; 299 if ((N = get_argument (argc, argv, "-dcr-blue-color"))) { 300 remove_argument (N, &argc, argv); 301 DCR_BLUE_COLOR_POS = strcreate(argv[N]); 302 remove_argument (N, &argc, argv); 303 DCR_BLUE_COLOR_NEG = strcreate(argv[N]); 304 remove_argument (N, &argc, argv); 305 } 306 307 // eg, z - y or i - z 308 DCR_RED_COLOR_POS = NULL; 309 DCR_RED_COLOR_NEG = NULL; 310 if ((N = get_argument (argc, argv, "-dcr-red-color"))) { 311 remove_argument (N, &argc, argv); 312 DCR_RED_COLOR_POS = strcreate(argv[N]); 313 remove_argument (N, &argc, argv); 314 DCR_RED_COLOR_NEG = strcreate(argv[N]); 303 315 remove_argument (N, &argc, argv); 304 316 } … … 696 708 } 697 709 698 DCR_COLOR_POS = NULL; 699 DCR_COLOR_NEG = NULL; 700 if ((N = get_argument (argc, argv, "-dcr-color"))) { 701 remove_argument (N, &argc, argv); 702 DCR_COLOR_POS = strcreate(argv[N]); 703 remove_argument (N, &argc, argv); 704 DCR_COLOR_NEG = strcreate(argv[N]); 710 DCR_BLUE_COLOR_POS = NULL; 711 DCR_BLUE_COLOR_NEG = NULL; 712 if ((N = get_argument (argc, argv, "-dcr-blue-color"))) { 713 remove_argument (N, &argc, argv); 714 DCR_BLUE_COLOR_POS = strcreate(argv[N]); 715 remove_argument (N, &argc, argv); 716 DCR_BLUE_COLOR_NEG = strcreate(argv[N]); 717 remove_argument (N, &argc, argv); 718 } 719 DCR_RED_COLOR_POS = NULL; 720 DCR_RED_COLOR_NEG = NULL; 721 if ((N = get_argument (argc, argv, "-dcr-red-color"))) { 722 remove_argument (N, &argc, argv); 723 DCR_RED_COLOR_POS = strcreate(argv[N]); 724 remove_argument (N, &argc, argv); 725 DCR_RED_COLOR_NEG = strcreate(argv[N]); 705 726 remove_argument (N, &argc, argv); 706 727 } -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/initialize.c
r36833 r37006 8 8 if (RELASTRO_OP == OP_MERGE_SOURCE) return; 9 9 10 if (DCR_ COLOR_POS) fprintf (stderr, "DCR_COLOR_POS: %s\n", DCR_COLOR_POS);11 if (DCR_ COLOR_NEG) fprintf (stderr, "DCR_COLOR_NEG: %s\n", DCR_COLOR_NEG);10 if (DCR_BLUE_COLOR_POS) fprintf (stderr, "DCR_BLUE_COLOR_POS: %s - %s\n", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG); 11 if (DCR_BLUE_COLOR_POS) fprintf (stderr, "DCR_BLUE_COLOR_POS: %s - %s\n", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG); 12 12 13 13 if (PHOTCODE_KEEP_LIST) fprintf (stderr, "PHOTCODE_KEEP_LIST: %s\n", PHOTCODE_KEEP_LIST); … … 23 23 photcodesGroupB = ParsePhotcodeList (PHOTCODE_B_LIST, &NphotcodesGroupB, TRUE); 24 24 25 DCR_NSEC_POS = DCR_NSEC_NEG = -1; 26 if (DCR_COLOR_POS) { 27 DCR_PHOTCODE_POS = GetPhotcodebyName (DCR_COLOR_POS); 28 if (!DCR_PHOTCODE_POS) { 29 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_COLOR_POS); 25 // blue color elements 26 DCR_BLUE_NSEC_POS = DCR_BLUE_NSEC_NEG = -1; 27 if (DCR_BLUE_COLOR_POS) { 28 DCR_BLUE_PHOTCODE_POS = GetPhotcodebyName (DCR_BLUE_COLOR_POS); 29 if (!DCR_BLUE_PHOTCODE_POS) { 30 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_BLUE_COLOR_POS); 30 31 exit (1); 31 32 } 32 DCR_ NSEC_POS = GetPhotcodeNsec (DCR_PHOTCODE_POS[0].code);33 DCR_BLUE_NSEC_POS = GetPhotcodeNsec (DCR_BLUE_PHOTCODE_POS[0].code); 33 34 } 34 if (DCR_ COLOR_NEG) {35 DCR_ PHOTCODE_NEG = GetPhotcodebyName (DCR_COLOR_NEG);36 if (!DCR_ PHOTCODE_NEG) {37 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_ COLOR_NEG);35 if (DCR_BLUE_COLOR_NEG) { 36 DCR_BLUE_PHOTCODE_NEG = GetPhotcodebyName (DCR_BLUE_COLOR_NEG); 37 if (!DCR_BLUE_PHOTCODE_NEG) { 38 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_BLUE_COLOR_NEG); 38 39 exit (1); 39 40 } 40 DCR_NSEC_NEG = GetPhotcodeNsec (DCR_PHOTCODE_NEG[0].code); 41 DCR_BLUE_NSEC_NEG = GetPhotcodeNsec (DCR_BLUE_PHOTCODE_NEG[0].code); 42 } 43 44 // red color elements 45 DCR_RED_NSEC_POS = DCR_RED_NSEC_NEG = -1; 46 if (DCR_RED_COLOR_POS) { 47 DCR_RED_PHOTCODE_POS = GetPhotcodebyName (DCR_RED_COLOR_POS); 48 if (!DCR_RED_PHOTCODE_POS) { 49 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_RED_COLOR_POS); 50 exit (1); 51 } 52 DCR_RED_NSEC_POS = GetPhotcodeNsec (DCR_RED_PHOTCODE_POS[0].code); 53 } 54 if (DCR_RED_COLOR_NEG) { 55 DCR_RED_PHOTCODE_NEG = GetPhotcodebyName (DCR_RED_COLOR_NEG); 56 if (!DCR_RED_PHOTCODE_NEG) { 57 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", DCR_RED_COLOR_NEG); 58 exit (1); 59 } 60 DCR_RED_NSEC_NEG = GetPhotcodeNsec (DCR_RED_PHOTCODE_NEG[0].code); 41 61 } 42 62 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/launch_region_hosts.c
r36884 r37006 81 81 if (ExcludeBogus) strextend (command, "-exclude-bogus %f", ExcludeBogusRadius); 82 82 83 if (DCR_COLOR_POS && DCR_COLOR_NEG) { 84 strextend (command, "-dcr-color %s %s", DCR_COLOR_POS, DCR_COLOR_NEG); 83 if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) { 84 strextend (command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG); 85 } 86 if (DCR_RED_COLOR_POS && DCR_RED_COLOR_NEG) { 87 strextend (command, "-dcr-red-color %s %s", DCR_RED_COLOR_POS, DCR_RED_COLOR_NEG); 85 88 } 86 89 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/load_catalogs.c
r36997 r37006 171 171 if (ExcludeBogus) strextend (command, "-exclude-bogus %f", ExcludeBogusRadius); 172 172 173 if (DCR_COLOR_POS && DCR_COLOR_NEG) { 174 strextend (command, "-dcr-color %s %s", DCR_COLOR_POS, DCR_COLOR_NEG); 173 if (DCR_BLUE_COLOR_POS && DCR_BLUE_COLOR_NEG) { 174 strextend (command, "-dcr-blue-color %s %s", DCR_BLUE_COLOR_POS, DCR_BLUE_COLOR_NEG); 175 } 176 if (DCR_RED_COLOR_POS && DCR_RED_COLOR_NEG) { 177 strextend (command, "-dcr-red-color %s %s", DCR_RED_COLOR_POS, DCR_RED_COLOR_NEG); 175 178 } 176 179 -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/markObjects.c
r36630 r37006 8 8 // How strongly do I own this object? 9 9 for (i = 0; i < Ncatalog; i++) { 10 ALLOCATE (catalog[i].nOwn , int, catalog[i].Naverage);11 memset (catalog[i].nOwn , 0, catalog[i].Naverage*sizeof(int));10 ALLOCATE (catalog[i].nOwn_t, int, catalog[i].Naverage); 11 memset (catalog[i].nOwn_t, 0, catalog[i].Naverage*sizeof(int)); 12 12 for (j = 0; j < catalog[i].Naverage; j++) { 13 13 int nOwn = 0; … … 17 17 nOwn ++; 18 18 } 19 catalog[i].nOwn [j] = nOwn;19 catalog[i].nOwn_t[j] = nOwn; 20 20 } 21 21 } -
branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/share_mean_pos.c
r36630 r37006 33 33 // XXX : sky objects without missing detections 34 34 // XXX watch out for detections which are not associated with an image (REF) 35 if (catalog[i].nOwn [j] == catalog[i].average[j].Nmeasure) continue;35 if (catalog[i].nOwn_t[j] == catalog[i].average[j].Nmeasure) continue; 36 36 37 37 set_mean_pos (&meanpos[Nmeanpos], &catalog[i].average[j]);
Note:
See TracChangeset
for help on using the changeset viewer.
