Changeset 35288
- Timestamp:
- Mar 10, 2013, 5:59:33 PM (13 years ago)
- Location:
- branches/eam_branches/ipp-20130307/Ohana/src/relastro/src
- Files:
-
- 3 edited
-
UpdateObjects.c (modified) (1 diff)
-
args.c (modified) (2 diffs)
-
hpm_objects.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20130307/Ohana/src/relastro/src/UpdateObjects.c
r34749 r35288 385 385 } 386 386 387 fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT"\n", (NaveSum + NpmSum + NparSum), NaveSum, NpmSum, NparSum, NskipSum);387 if (VERBOSE) fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT"\n", (NaveSum + NpmSum + NparSum), NaveSum, NpmSum, NparSum, NskipSum); 388 388 return (TRUE); 389 389 } -
branches/eam_branches/ipp-20130307/Ohana/src/relastro/src/args.c
r35287 r35288 89 89 if ((N = get_argument (argc, argv, "-high-speed"))) { 90 90 // XXX include a parallax / no-parallax option 91 if (N >= argc - 5) usage();91 if (N >= argc - 4) usage(); 92 92 FIT_TARGET = TARGET_HIGH_SPEED; 93 93 remove_argument (N, &argc, argv); … … 103 103 104 104 if ((N = get_argument (argc, argv, "-hpm"))) { 105 if (N >= argc - 3) usage();105 if (N >= argc - 2) usage(); 106 106 FIT_TARGET = TARGET_HPM; 107 107 remove_argument (N, &argc, argv); -
branches/eam_branches/ipp-20130307/Ohana/src/relastro/src/hpm_objects.c
r35287 r35288 2 2 # define MAX_TRANGE 180.0 3 3 # define MIN_PS1_DET 3 4 # define MAX_CHISQ_PM 10 .05 # define MIN_NPOS_FRAC 0.84 # define MAX_CHISQ_PM 1000000.0 5 # define MIN_NPOS_FRAC 1.0 6 6 7 7 # define NEXT_I { if (Ngroup < 2) slowMoving[ni] = TRUE; newI = TRUE; i++; continue; } … … 56 56 dvo_catalog_init (&testcat, TRUE); 57 57 testcat.Naverage = 1; // this is fixed -- only one obj in testcat 58 testcat.Nsecfilt = Nsecfilt; 58 59 off_t NMEASURE_TESTCAT = 1000; 59 REALLOCATE (catalogOut.average, Average, 1);60 REALLOCATE (catalogOut.measure, Measure, NMEASURE_TESTCAT);61 REALLOCATE (catalogOut.secfilt, SecFilt, Nsecfilt);60 ALLOCATE (testcat.average, Average, 1); 61 ALLOCATE (testcat.measure, Measure, NMEASURE_TESTCAT); 62 ALLOCATE (testcat.secfilt, SecFilt, Nsecfilt); 62 63 63 64 // mask with which to mark objects to be ignored … … 65 66 memset (slowMoving, 0, catalog[0].Naverage*sizeof(int)); 66 67 off_t Nslow = 0; 68 69 time_t T2000 = ohana_date_to_sec ("2000/01/01"); 67 70 68 71 // mark (exclude) objects which do not meet the selection criterion … … 76 79 } 77 80 78 // selection criteria : (Nps1 > 2) && (Trange < 180)79 if (catalog[0].average[i].Trange > MAX_TRANGE) {80 slowMoving[i] = TRUE;81 Nslow ++;82 continue;83 }84 81 // count the PS1 detections via explicit photcode ranges? 85 82 // XXX this is a total hard-wired hack... 86 83 int Nps1 = 0; 87 for (j = 0; i < 5; j++) { 88 Nps1 += catalog[0].secfilt[Nsecfilt*i+j].Ncode; 84 double Tmin = +100.0*365.0; // +/- 100 years 85 double Tmax = -100.0*365.0; 86 m = catalog[0].average[i].measureOffset; 87 for (j = 0; j < catalog[0].average[i].Nmeasure; j++) { 88 if (catalog[0].measure[m+j].photcode < 10000) continue; 89 if (catalog[0].measure[m+j].photcode > 10600) continue; 90 double To = (catalog[0].measure[m+j].t - T2000) / 86400.0 ; // time in days relative to J2000 in years 91 Tmin = MIN(Tmin, To); 92 Tmax = MAX(Tmax, To); 93 Nps1 ++; 89 94 } 90 95 if (Nps1 < MIN_PS1_DET) { … … 93 98 continue; 94 99 } 100 // selection criteria : (Nps1 > 2) && (Trange < 180) 101 double Trange = Tmax - Tmin; 102 if (Trange > MAX_TRANGE) { 103 slowMoving[i] = TRUE; 104 Nslow ++; 105 continue; 106 } 95 107 } 96 108 97 109 fprintf (stderr, OFF_T_FMT" slow, "OFF_T_FMT" total objects; "OFF_T_FMT" possible fast\n", Nslow, catalog[0].Naverage, catalog[0].Naverage - Nslow); 110 if (catalog[0].Naverage == Nslow) { 111 fprintf (stderr, "no possible fast objects, skipping this catalog\n"); 112 dvo_catalog_save (&catalogOut, VERBOSE2); 113 dvo_catalog_unlock (&catalogOut); 114 dvo_catalog_free (&catalogOut); 115 free (slowMoving); 116 return TRUE; 117 } 98 118 99 119 // double loop over unmarked objects (sorted in RA / X) … … 229 249 } 230 250 testcat.average[0].Nmeasure = Nmatchmeas; 251 testcat.Nmeasure = Nmatchmeas; 252 populate_tiny_values (&testcat, DVO_TV_MEASURE); 231 253 232 254 // we have now accumulated the measurements for this group, let's try a fit … … 240 262 good |= (testcat.average[0].ChiSqPM < MAX_CHISQ_PM); 241 263 good |= (testcat.average[0].Npos > MIN_NPOS_FRAC * testcat.average[0].Nmeasure); 264 good &= ((testcat.average[0].flags & ID_STAR_FIT_PM) > 0); 242 265 243 266 if (good) {
Note:
See TracChangeset
for help on using the changeset viewer.
