Changeset 28218 for trunk/ppTranslate/src/ppMopsMerge.c
- Timestamp:
- Jun 4, 2010, 10:44:09 AM (16 years ago)
- File:
-
- 1 edited
-
trunk/ppTranslate/src/ppMopsMerge.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppTranslate/src/ppMopsMerge.c
r28212 r28218 41 41 for (int i = 0; i < numInputs; i++) { 42 42 ppMopsDetections *det = detections->data[i]; // Detections from 43 if (!det || det->num == 0) { 44 continue; 45 } 43 46 psVector *dupes = duplicates->data[i] = psVectorAlloc(det->num, PS_TYPE_U8); 44 47 psVectorInit(dupes, 0); 45 48 total += det->num; 46 49 } 47 48 psVector *raMerged = psVectorAllocEmpty(total, PS_TYPE_F64); // Merged RAs 49 psVector *decMerged = psVectorAllocEmpty(total, PS_TYPE_F64); // Merged Decs 50 #if 0 51 psVector *xMerged = psVectorAllocEmpty(total, PS_TYPE_F32); // Merged x coords 52 psVector *yMerged = psVectorAllocEmpty(total, PS_TYPE_F32); // Merged y coords 53 #endif 54 psVector *sourceMerged = psVectorAllocEmpty(total, PS_TYPE_U16); // Source image of merged sources 55 psVector *indexMerged = psVectorAllocEmpty(total, PS_TYPE_U32); // Index of merged sources 50 psTrace("ppMops.merge", 2, "Total detections: %ld\n", total); 51 52 psVector *raMerged = psVectorAlloc(total, PS_TYPE_F64); // Merged RAs 53 psVector *decMerged = psVectorAlloc(total, PS_TYPE_F64); // Merged Decs 54 psVector *sourceMerged = psVectorAlloc(total, PS_TYPE_U16); // Source image of merged sources 55 psVector *indexMerged = psVectorAlloc(total, PS_TYPE_U32); // Index of merged sources 56 56 long num = 0; // Number of merged sources 57 57 … … 62 62 double mjd = NAN; // Time of exposure 63 63 64 for (int i = 0; i < detections->n; i++) {64 for (int i = 0; i < numInputs; i++) { 65 65 ppMopsDetections *det = detections->data[i]; // Detections of interest 66 66 if (!det) { … … 82 82 alt = det->alt; 83 83 az = det->az; 84 continue;85 84 } else { 86 85 if (strcmp(raBoresight, det->raBoresight) != 0) { … … 132 131 133 132 psTrace("ppMops.merge", 3, "Accepting %ld detections from input %d\n", det->num, i); 134 memcpy(&raMerged->data.F64[num], det->ra , det->num * PSELEMTYPE_SIZEOF(PS_TYPE_F64));135 memcpy(&decMerged->data.F64[num], det->dec , det->num * PSELEMTYPE_SIZEOF(PS_TYPE_F64));133 memcpy(&raMerged->data.F64[num], det->ra->data.F64, det->num * PSELEMTYPE_SIZEOF(PS_TYPE_F64)); 134 memcpy(&decMerged->data.F64[num], det->dec->data.F64, det->num * PSELEMTYPE_SIZEOF(PS_TYPE_F64)); 136 135 for (long j = 0, k = num; j < det->num; j++, k++) { 137 136 sourceMerged->data.U16[k] = i; … … 215 214 dupNum->data.U32[i]++; 216 215 } 216 psFree(indices); 217 217 } 218 218 psFree(coords); … … 250 250 psArray *table = psListToArray(det->table->list); // Table of data 251 251 for (int j = 0; j < table->n; j++) { 252 psVector *vector = table->data[j]; // Vector to purge 252 psMetadataItem *item = table->data[j]; // Table item 253 psAssert(item->type == PS_DATA_VECTOR, "Table column is not a vector: %x", item->type); 254 psVector *vector = item->data.V; // Vector to purge 253 255 switch (vector->type.type) { 254 256 VECTOR_PURGE_CASE(U8);
Note:
See TracChangeset
for help on using the changeset viewer.
