- Timestamp:
- Feb 24, 2016, 1:07:37 PM (10 years ago)
- Location:
- trunk/Ohana/src/relastro
- Files:
-
- 3 edited
-
include/relastro.h (modified) (1 diff)
-
src/UpdateObjects.c (modified) (8 diffs)
-
src/args.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/relastro/include/relastro.h
r39389 r39390 748 748 int CatalogMaxNmeasure (Catalog *catalog, int Ncatalog); 749 749 int FitAstromPoints_Project (FitStats *fitStats, double *Tmean, double *Trange, double *parRange); 750 int UpdateObjects_SelectMeasures (FitStats *fit, Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int isStack );750 int UpdateObjects_SelectMeasures (FitStats *fit, Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int isStack, int *stackEntry); 751 751 int UpdateObjects_Stack (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats); 752 752 int UpdateObjects_Chips (Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int Nsecfilt, FitStats *fitStats, int cat, off_t measOff); -
trunk/Ohana/src/relastro/src/UpdateObjects.c
r39387 r39390 18 18 int DumpObjectsWith2MASS (Catalog *catalog, int Ncatalog); 19 19 20 static DVOAverageFlags astromBits = 21 ID_OBJ_LARGE_PM | // star with large proper motion 22 ID_OBJ_RAW_AVE | // simple weighted average position was used (no IRLS fitting) 23 ID_OBJ_FIT_AVE | // average position was fitted 24 ID_OBJ_FIT_PM | // proper motion model was fitted 25 ID_OBJ_FIT_PAR | // parallax model was fitted 26 ID_OBJ_USE_AVE | // average position used (not PM or PAR) 27 ID_OBJ_USE_PM | // proper motion used (not AVE or PAR) 28 ID_OBJ_USE_PAR | // parallax used (not AVE or PM) 29 ID_OBJ_NO_MEAN_ASTROM | // mean astrometry could not be measured 30 ID_OBJ_STACK_FOR_MEAN | // stack position used for mean astrometry 31 ID_OBJ_MEAN_FOR_STACK | // mean astrometry could not be measured 32 ID_OBJ_BAD_PM; // failure to measure proper-motion model 33 20 34 // This function operates on both Measure and MeasureTiny. In the big stages, this should 21 35 // be called with just MeasureTiny set and Measure == NULL … … 56 70 SecFilt *secfilt = &catalog[i].secfilt[j*Nsecfilt]; 57 71 72 if (RESET) { average[0].flags &= ~astromBits; } 73 58 74 UpdateObjects_Stack(average, secfilt, measure, measureBig, Nsecfilt, fitStatsStack); 59 75 UpdateObjects_Chips(average, secfilt, measure, measureBig, Nsecfilt, fitStatsChips, i, m); … … 133 149 134 150 // select the measurements to be used in this analysis 135 UpdateObjects_SelectMeasures (fitStats, average, secfilt, measure, measureBig, FALSE );151 UpdateObjects_SelectMeasures (fitStats, average, secfilt, measure, measureBig, FALSE, NULL); 136 152 137 153 // if there are no exposure detections, use the stack position … … 555 571 556 572 // select the measurements to be used in this analysis 557 status = UpdateObjects_SelectMeasures (fitStats, average, secfilt, measure, measureBig, TRUE); 573 int stackEntry = -1; 574 status = UpdateObjects_SelectMeasures (fitStats, average, secfilt, measure, measureBig, TRUE, &stackEntry); 558 575 if (status & SELECT_MEAS_HAS_STACK) { 559 576 // if we have any stack measurements, set the default value to the mean position … … 561 578 // if we exit this function without updating the stack position, it means we 562 579 // have a stack measurement, but not a good stack measuremetn 580 563 581 average[0].Rstk = average[0].R; // RA in degrees 564 582 average[0].Dstk = average[0].D; // DEC in degrees 565 583 average[0].dRstk = average[0].dR; // RA scatter in arcsec 566 584 average[0].dDstk = average[0].dD; // DEC scatter in arcsec 585 if (stackEntry > -1) { 586 // save the epoch for one of the stacks 587 average[0].Tmean = measure[stackEntry].t; 588 } 567 589 average[0].flags |= ID_OBJ_MEAN_FOR_STACK; 568 590 } … … 627 649 } 628 650 629 int UpdateObjects_SelectMeasures (FitStats *fit, Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int isStack ) {651 int UpdateObjects_SelectMeasures (FitStats *fit, Average *average, SecFilt *secfilt, MeasureTiny *measure, Measure *measureBig, int isStack, int *stackEntry) { 630 652 631 653 // I've already allocated fit->points (and fit->sample) with space for fit->NpointsAlloc entries … … 633 655 int has2MASS = FALSE; 634 656 int hasStack = FALSE; 657 if (stackEntry) *stackEntry = -1; 635 658 636 659 int Npoints = fit->Npoints = 0; … … 662 685 if (!isGPC1stack(measure[k].photcode)) continue; 663 686 hasStack = TRUE; 687 if (stackEntry && *stackEntry == -1) *stackEntry = k; // save a reference to one of the valid stack entries 664 688 } else { 665 689 if ( isGPC1stack(measure[k].photcode)) continue; -
trunk/Ohana/src/relastro/src/args.c
r39389 r39390 285 285 } 286 286 287 N_BOOTSTRAP_SAMPLES = 1 ;287 N_BOOTSTRAP_SAMPLES = 100; 288 288 if ((N = get_argument (argc, argv, "-bootstrap-samples"))) { 289 289 remove_argument (N, &argc, argv); 290 290 N_BOOTSTRAP_SAMPLES = atoi (argv[N]); 291 291 remove_argument (N, &argc, argv); 292 if ((N_BOOTSTRAP_SAMPLES < 1) || ((N_BOOTSTRAP_SAMPLES > 1) && (N_BOOTSTRAP_SAMPLES < 20))) {293 fprintf (stderr, "-bootstrap-samples must be either 1(no sampling) or >= 20\n");292 if ((N_BOOTSTRAP_SAMPLES > 0) && (N_BOOTSTRAP_SAMPLES < 20)) { 293 fprintf (stderr, "-bootstrap-samples must be either 0 (no sampling) or >= 20\n"); 294 294 exit (2); 295 295 } … … 749 749 } 750 750 751 N_BOOTSTRAP_SAMPLES = 1 ;751 N_BOOTSTRAP_SAMPLES = 100; 752 752 if ((N = get_argument (argc, argv, "-bootstrap-samples"))) { 753 753 remove_argument (N, &argc, argv); 754 754 N_BOOTSTRAP_SAMPLES = atoi (argv[N]); 755 755 remove_argument (N, &argc, argv); 756 if ((N_BOOTSTRAP_SAMPLES < 1) || ((N_BOOTSTRAP_SAMPLES > 1) && (N_BOOTSTRAP_SAMPLES < 20))) {757 fprintf (stderr, "-bootstrap-samples must be either 1(no sampling) or >= 20\n");756 if ((N_BOOTSTRAP_SAMPLES > 0) && (N_BOOTSTRAP_SAMPLES < 20)) { 757 fprintf (stderr, "-bootstrap-samples must be either 0 (no sampling) or >= 20\n"); 758 758 exit (2); 759 759 }
Note:
See TracChangeset
for help on using the changeset viewer.
