Changeset 38642
- Timestamp:
- Jul 27, 2015, 11:45:31 AM (11 years ago)
- Location:
- branches/eam_branches/ipp-20150625/Ohana/src/dvomerge
- Files:
-
- 3 edited
-
include/dvomerge.h (modified) (1 diff)
-
src/merge_catalogs_old.c (modified) (1 diff)
-
src/replace_match.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20150625/Ohana/src/dvomerge/include/dvomerge.h
r38553 r38642 202 202 int dvomergeUpdate_catalogs PROTO((char *input, char *output, SkyTable *outsky, SkyList *inlist, int NsecfiltInput, int NsecfiltOutput, IDmapType *IDmap, int *secfiltMap)); 203 203 204 int replace_match PROTO((Average *average_out, Measure *measure_out, Average *average_in, Measure *measure_in));204 int replace_match PROTO((Average *average_out, Measure *measure_out, off_t *next_meas, Average *average_in, Measure *measure_in)); 205 205 206 206 int IDmapSave PROTO((char *filename, IDmapType *IDmap)); -
branches/eam_branches/ipp-20150625/Ohana/src/dvomerge/src/merge_catalogs_old.c
r38629 r38642 216 216 // index to first measure for this object 217 217 // XXX this does not support lensing measurements 218 int Mout = output[0].average[n].measureOffset; 219 if (replace_match (&output[0].average[n], &output[0].measure[Mout], &input[0].average[N], &input[0].measure[offset])) { 220 input[0].found_t[N] = Mout; 218 if (replace_match (&output[0].average[n], output[0].measure, next_meas, &input[0].average[N], &input[0].measure[offset])) { 219 input[0].found_t[N] = output[0].average[n].measureOffset; 221 220 continue; 222 221 } -
branches/eam_branches/ipp-20150625/Ohana/src/dvomerge/src/replace_match.c
r38629 r38642 6 6 7 7 // average and measure pointers to the objects of interest and their first / current measurement 8 int replace_match (Average *average_out, Measure *measure_out, Average *average_in, Measure *measure_in) {8 int replace_match (Average *average_out, Measure *measure_out, off_t *next_meas, Average *average_in, Measure *measure_in) { 9 9 10 10 int Nout; … … 12 12 unsigned int catID; 13 13 14 myAbort ("fix this function to use next_meas to loop over measurements for an object");14 off_t m = average_out->measureOffset; 15 15 16 16 // find the matching photcode in the object's list of measurements 17 17 for (Nout = 0; Nout < average_out[0].Nmeasure; Nout ++) { 18 if (measure_out[Nout].photcode != measure_in[0].photcode) continue; 18 myAssert (m > -1, "oops"); 19 if (measure_out[m].photcode != measure_in[0].photcode) { 20 m = next_meas[m]; 21 continue; 22 } 19 23 20 24 // set the new measurements 21 averef = measure_out[ Nout].averef;22 catID = measure_out[ Nout].catID;23 measure_out[ Nout] = measure_in[0];25 averef = measure_out[m].averef; 26 catID = measure_out[m].catID; 27 measure_out[m] = measure_in[0]; 24 28 25 29 // old code: find R,D using average_in[0], the get offset relative to average_out[0]. no longer … … 30 34 // measure_out[Nout].dD = 3600.0*(average_out[0].D - Din); 31 35 32 measure_out[ Nout].dbFlags = 0; // XXX why reset these?33 measure_out[ Nout].averef = averef;34 measure_out[ Nout].objID = average_out[0].objID;35 measure_out[ Nout].catID = catID;36 measure_out[m].dbFlags = 0; // XXX why reset these? 37 measure_out[m].averef = averef; 38 measure_out[m].objID = average_out[0].objID; 39 measure_out[m].catID = catID; 36 40 37 float dRoff = dvoOffsetR(&measure_out[ Nout], average_out);41 float dRoff = dvoOffsetR(&measure_out[m], average_out); 38 42 39 43 // rationalize dR 40 44 if (dRoff > +180.0*3600.0) { 41 45 // average on high end of boundary, move star up 42 measure_out[ Nout].R += 360.0;46 measure_out[m].R += 360.0; 43 47 dRoff -= 360.0*3600.0; 44 48 } 45 49 if (dRoff < -180.0*3600.0) { 46 50 // average on low end of boundary, move star down 47 measure_out[ Nout].R -= 360.0;51 measure_out[m].R -= 360.0; 48 52 dRoff += 360.0*3600.0; 49 53 } … … 55 59 if (fabs(dRoff*cosD) > 10*RADIUS) { 56 60 fprintf (stderr, "surprisingly distant detection: %10.6f,%10.6f vs %10.6f,%10.6f\n", 57 average_out[0].R, average_out[0].D, measure_out[ Nout].R, measure_out[Nout].D);61 average_out[0].R, average_out[0].D, measure_out[m].R, measure_out[m].D); 58 62 } 59 63 }
Note:
See TracChangeset
for help on using the changeset viewer.
