Changeset 37606
- Timestamp:
- Nov 16, 2014, 1:35:31 PM (12 years ago)
- Location:
- branches/eam_branches/ipp-20140904/Ohana/src/relastro
- Files:
-
- 13 edited
-
include/relastro.h (modified) (2 diffs)
-
src/ConfigInit.c (modified) (1 diff)
-
src/FitChip.c (modified) (2 diffs)
-
src/ImageOps.c (modified) (2 diffs)
-
src/UpdateChips.c (modified) (1 diff)
-
src/UpdateObjectOffsets.c (modified) (1 diff)
-
src/UpdateObjects.c (modified) (8 diffs)
-
src/high_speed_objects.c (modified) (1 diff)
-
src/hpm_objects.c (modified) (2 diffs)
-
src/relastroVisual.c (modified) (1 diff)
-
src/relastro_images.c (modified) (3 diffs)
-
src/relastro_objects.c (modified) (1 diff)
-
src/relastro_parallel_images.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140904/Ohana/src/relastro/include/relastro.h
r37604 r37606 181 181 double MIN_ERROR; 182 182 183 int IMFIT_TOO_FEW; // need more than this number of stars to fit an image 183 184 int IMFIT_CLIP_NITER; // number of clipping iterations to perform in FitChip 184 185 double IMFIT_CLIP_NSIGMA; // number of sigma to clip in FitChip … … 409 410 void FitSimple (StarData *raw, StarData *ref, int Nmatch, Coords *coords); 410 411 void initObjectData (Catalog *catalog, int Ncatalog); 411 int UpdateObjects (Catalog *catalog, int Ncatalog );412 int UpdateObjects (Catalog *catalog, int Ncatalog, int Nloop); 412 413 int UpdateSimple (Catalog *catalog, int Ncatalog); 413 414 int UpdateChips (Catalog *catalog, int Ncatalog); -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/ConfigInit.c
r37545 r37606 25 25 if (!ScanConfig (config, "RELASTRO_IMFIT_CLIP_NSIGMA", "%lf", 0, &IMFIT_CLIP_NSIGMA)) IMFIT_CLIP_NSIGMA = 3.0; 26 26 if (!ScanConfig (config, "RELASTRO_IMFIT_SYS_SIGMA_LIM", "%lf", 0, &IMFIT_SYS_SIGMA_LIM)) IMFIT_SYS_SIGMA_LIM = 0.01; 27 if (!ScanConfig (config, "RELASTRO_IMFIT_TOO_FEW", "%d", 0, &IMFIT_TOO_FEW)) IMFIT_TOO_FEW = 5; 27 28 28 29 if (!ScanConfig (config, "PM_DT_MIN", "%lf", 0, &PM_DT_MIN)) PM_DT_MIN = 0.25; -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/FitChip.c
r37604 r37606 55 55 // residual vector field 56 56 // dx vs mag, dy vs mag 57 if (relastroGetVisual()) { 58 fprintf (stderr, "fitting chip %s, %d matched stars\n", image->name, Nmatch); 59 } 57 60 relastroVisualPlotChipFit(raw, ref, dRmax, Nmatch); 58 61 … … 74 77 // XXX WATCH OUT HERE!! 75 78 if (!CHIPMAP) order_use = MIN(order_use, 1); 76 fprintf (stderr, "using %d for %s\n", order_use, image[0].name);79 if (VERBOSE2) fprintf (stderr, "using %d for %s\n", order_use, image[0].name); 77 80 78 81 // when fitting the map, first fit a linear model (below? change Npolyterms to -1) -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/ImageOps.c
r37604 r37606 491 491 492 492 int TESTPT = FALSE; 493 494 TESTPT |= CAT_ID_SRC && OBJ_ID_SRC && (measure->imageID == CAT_ID_SRC) && (measure->detID == OBJ_ID_SRC); 495 TESTPT |= CAT_ID_DST && OBJ_ID_DST && (measure->imageID == CAT_ID_DST) && (measure->detID == OBJ_ID_DST); 493 TESTPT |= CAT_ID_SRC && OBJ_ID_SRC && (measure->catID == CAT_ID_SRC) && (measure->objID == OBJ_ID_SRC); 494 TESTPT |= CAT_ID_DST && OBJ_ID_DST && (measure->catID == CAT_ID_DST) && (measure->objID == OBJ_ID_DST); 496 495 if (TESTPT) { 497 496 fprintf (stderr, "got test det\n"); … … 736 735 737 736 n = measure[0].averef; 737 738 int TESTPT = FALSE; 739 TESTPT |= CAT_ID_SRC && OBJ_ID_SRC && (catalog[c].average[n].catID == CAT_ID_SRC) && (catalog[c].average[n].objID == OBJ_ID_SRC); 740 TESTPT |= CAT_ID_DST && OBJ_ID_DST && (catalog[c].average[n].catID == CAT_ID_DST) && (catalog[c].average[n].objID == OBJ_ID_DST); 741 if (TESTPT) { 742 fprintf (stderr, "got test det\n"); 743 } 738 744 739 745 // an object with only one detection provides no information about the image calibration -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/UpdateChips.c
r37562 r37606 74 74 Nskip ++; 75 75 mode[i] = 0; 76 continue; 77 } 78 if (Nraw <= IMFIT_TOO_FEW) { 79 Nskip ++; 80 mode[i] = 0; 81 free (raw); 76 82 continue; 77 83 } -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/UpdateObjectOffsets.c
r37038 r37606 59 59 60 60 // uses MeasureTiny values, but will also update Measure values when populated 61 UpdateObjects (&catalog, 1 );61 UpdateObjects (&catalog, 1, 0); 62 62 63 63 free_tiny_values(&catalog); -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/UpdateObjects.c
r37604 r37606 2 2 # define PAR_TOOFEW 5 3 3 4 int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int i, off_t m );4 int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int i, off_t m, int Nloop); 5 5 int UpdateObjects_Stack (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats); 6 6 … … 99 99 // This function operates on both Measure and MeasureTiny. In the big stages, this should 100 100 // be called with just MeasureTiny set and Measure == NULL 101 int UpdateObjects (Catalog *catalog, int Ncatalog ) {101 int UpdateObjects (Catalog *catalog, int Ncatalog, int Nloop) { 102 102 103 103 initObjectData (catalog, Ncatalog); … … 130 130 131 131 UpdateObjects_Stack(average, secfilt, measure, measureBig, Nsecfilt, &fitStatsStack); 132 UpdateObjects_Chips(average, secfilt, measure, measureBig, Nsecfilt, &fitStatsChips, i, m );132 UpdateObjects_Chips(average, secfilt, measure, measureBig, Nsecfilt, &fitStatsChips, i, m, Nloop); 133 133 } 134 134 if (VERBOSE) fprintf (stderr, "catalog %d : chips "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT", Noffset "OFF_T_FMT"\n", i, fitStatsChips.Nave, fitStatsChips.Npm, fitStatsChips.Npar, fitStatsChips.Nskip, fitStatsChips.Noffset); … … 146 146 // This function operates on both Measure and MeasureTiny. In the big stages, this should 147 147 // be called with just MeasureTiny set and Measure == NULL 148 int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int i, off_t m ) {148 int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int i, off_t m, int Nloop) { 149 149 150 150 int setRefColor = areImagesMatched(); … … 209 209 double Di = getMeanD (&measure[k], average, secfilt); 210 210 211 if (USE_GALAXY_MODEL ) {211 if (USE_GALAXY_MODEL && (Nloop > 0)) { 212 212 Ri -= measure[k].RoffGAL / 3600.0; 213 213 Di -= measure[k].DoffGAL / 3600.0; … … 470 470 break; 471 471 } 472 if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f) pm=(%f %f) plx=(%f +/- %f)\n", 473 average[0].R, 474 average[0].D, 475 fit.Ro, fit.Do, 476 3600*(average[0].R - fit.Ro), 477 3600*(average[0].D - fit.Do), 478 fit.uR, fit.uD, fit.p, fit.dp); 472 if (XVERB) { 473 fprintf (stderr, "%f %f -> %f %f (%f,%f) pm=(%f %f) plx=(%f +/- %f)\n", 474 average[0].R, 475 average[0].D, 476 fit.Ro, fit.Do, 477 3600*(average[0].R - fit.Ro), 478 3600*(average[0].D - fit.Do), 479 fit.uR, fit.uD, fit.p, fit.dp); 480 fprintf (stderr, "-----\n"); 481 } 479 482 480 483 // make sure that the fit succeeded … … 510 513 } 511 514 512 average[0].R = fit.Ro; // RA in degrees513 average[0].D = fit.Do; // DEC in degrees514 average[0].dR = fit.dRo; // RA scatter in arcsec515 average[0].dD = fit.dDo; // DEC scatter in arcsec516 517 average[0].uR = fit.uR; // RA proper motion in arcsec/year518 average[0].uD = fit.uD; // DEC proper motion in arcsec/year519 average[0].duR = fit.duR; // RA proper motion error in arcsec/year520 average[0].duD = fit.duD; // DEC proper motion error in arcsec/year521 522 average[0].P = fit.p; // parallax in arcsec523 average[0].dP = fit.dp; // parallax error in arcsec524 525 average[0].ChiSqAve = fitAve.chisq;526 average[0].ChiSqPM = fitPM.chisq;527 average[0].ChiSqPar = fitPAR.chisq;528 529 average[0].Tmean = (Tmean * 86400 * 365.25) + T2000;530 average[0].Trange = (Trange * 86400 * 365.25);531 average[0].Npos = fit.Nfit;532 533 // unset the NO_ASTROM bit (not(NO_ASTROM) == HAVE_ASTROM)534 average[0].flags &= ~ID_STAR_NO_ASTROM;535 536 515 if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f) pm=(%f %f) chisq=(%f, %f, %f)\n", 537 516 average[0].R, … … 544 523 fitAve.chisq, fitPM.chisq, fitPAR.chisq); 545 524 525 average[0].R = fit.Ro; // RA in degrees 526 average[0].D = fit.Do; // DEC in degrees 527 average[0].dR = fit.dRo; // RA scatter in arcsec 528 average[0].dD = fit.dDo; // DEC scatter in arcsec 529 530 average[0].uR = fit.uR; // RA proper motion in arcsec/year 531 average[0].uD = fit.uD; // DEC proper motion in arcsec/year 532 average[0].duR = fit.duR; // RA proper motion error in arcsec/year 533 average[0].duD = fit.duD; // DEC proper motion error in arcsec/year 534 535 average[0].P = fit.p; // parallax in arcsec 536 average[0].dP = fit.dp; // parallax error in arcsec 537 538 average[0].ChiSqAve = fitAve.chisq; 539 average[0].ChiSqPM = fitPM.chisq; 540 average[0].ChiSqPar = fitPAR.chisq; 541 542 average[0].Tmean = (Tmean * 86400 * 365.25) + T2000; 543 average[0].Trange = (Trange * 86400 * 365.25); 544 average[0].Npos = fit.Nfit; 545 546 // unset the NO_ASTROM bit (not(NO_ASTROM) == HAVE_ASTROM) 547 average[0].flags &= ~ID_STAR_NO_ASTROM; 548 546 549 return (TRUE); 547 550 } -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/high_speed_objects.c
r37386 r37606 266 266 267 267 populate_tiny_values (&catalogOut, DVO_TV_MEASURE); 268 UpdateObjects (&catalogOut, 1 );268 UpdateObjects (&catalogOut, 1, 0); 269 269 free_tiny_values(&catalogOut); 270 270 -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/hpm_objects.c
r37386 r37606 252 252 // distinguishing a bad fit from a fit with 1 or 2 bad points 253 253 FIT_MODE = FIT_PM_ONLY; 254 UpdateObjects (&testcat, 1 );254 UpdateObjects (&testcat, 1, 0); 255 255 256 256 free_tiny_values(&testcat); … … 282 282 283 283 populate_tiny_values (&catalogOut, DVO_TV_MEASURE); 284 UpdateObjects (&catalogOut, 1 );284 UpdateObjects (&catalogOut, 1, 0); 285 285 free_tiny_values(&catalogOut); 286 286 -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/relastroVisual.c
r37038 r37606 24 24 /** Spawn a kapa window */ 25 25 static int initWindow(int *kapid) { 26 if (NTHREADS) { 27 fprintf (stderr, "-visual and -threads are incompatible, quitting\n"); 28 exit (2); 29 } 26 30 if (*kapid == -1) { 27 31 *kapid = KapaOpenNamedSocket("kapa", "relastro_plots"); -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/relastro_images.c
r37545 r37606 65 65 case TARGET_SIMPLE: 66 66 for (i = 0; i < NLOOP; i++) { 67 UpdateObjects (catalog, Ncatalog );67 UpdateObjects (catalog, Ncatalog, i); 68 68 UpdateSimple (catalog, Ncatalog); 69 69 } … … 73 73 for (i = 0; i < NLOOP; i++) { 74 74 // XXX is is really possible that I do not update the measure.R,D on each loop?? 75 UpdateObjects (catalog, Ncatalog ); // calculate <R>,<D>76 FrameCorrection (catalog, Ncatalog);75 UpdateObjects (catalog, Ncatalog, i); // calculate <R>,<D> 76 if (i > 2) FrameCorrection (catalog, Ncatalog); 77 77 UpdateChips (catalog, Ncatalog); // measure.X,Y -> R,D, fit image.coords 78 78 MARKTIME("update chips: %f sec\n", dtime); … … 84 84 case TARGET_MOSAICS: 85 85 for (i = 0; i < NLOOP; i++) { 86 UpdateObjects (catalog, Ncatalog );86 UpdateObjects (catalog, Ncatalog, i); 87 87 UpdateMosaic (catalog, Ncatalog); 88 88 } -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/relastro_objects.c
r36833 r37606 77 77 populate_tiny_values(&catalog, DVO_TV_MEASURE); 78 78 79 UpdateObjects (&catalog, 1 );79 UpdateObjects (&catalog, 1, 0); 80 80 81 81 free_tiny_values(&catalog); -
branches/eam_branches/ipp-20140904/Ohana/src/relastro/src/relastro_parallel_images.c
r36833 r37606 76 76 case TARGET_SIMPLE: 77 77 for (i = 0; i < NLOOP; i++) { 78 UpdateObjects (catalog, Ncatalog );78 UpdateObjects (catalog, Ncatalog, i); 79 79 share_mean_pos (catalog, Ncatalog, regionHosts, i); 80 80 slurp_mean_pos (catalog, Ncatalog, regionHosts, i); … … 87 87 case TARGET_CHIPS: 88 88 for (i = 0; i < NLOOP; i++) { 89 UpdateObjects (catalog, Ncatalog );89 UpdateObjects (catalog, Ncatalog, i); 90 90 share_mean_pos (catalog, Ncatalog, regionHosts, i); 91 91 slurp_mean_pos (catalog, Ncatalog, regionHosts, i); … … 101 101 case TARGET_MOSAICS: 102 102 for (i = 0; i < NLOOP; i++) { 103 UpdateObjects (catalog, Ncatalog );103 UpdateObjects (catalog, Ncatalog, i); 104 104 share_mean_pos (catalog, Ncatalog, regionHosts, i); 105 105 slurp_mean_pos (catalog, Ncatalog, regionHosts, i);
Note:
See TracChangeset
for help on using the changeset viewer.
