Changeset 25188
- Timestamp:
- Aug 25, 2009, 2:00:54 PM (17 years ago)
- Location:
- branches/pap_mops/ppMops/src
- Files:
-
- 6 edited
-
ppMops.c (modified) (2 diffs)
-
ppMopsArguments.c (modified) (2 diffs)
-
ppMopsDetections.c (modified) (1 diff)
-
ppMopsMerge.c (modified) (4 diffs)
-
ppMopsRead.c (modified) (3 diffs)
-
ppMopsWrite.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/pap_mops/ppMops/src/ppMops.c
r25183 r25188 6 6 int main(int argc, char *argv[]) 7 7 { 8 psLibInit(NULL); 9 8 10 ppMopsArguments *args = ppMopsArgumentsParse(argc, argv); // Parsed arguments 9 11 if (!args) { … … 32 34 psFree(merged); 33 35 psFree(args); 36 37 psLibFinalize(); 34 38 35 39 return PS_EXIT_SUCCESS; -
branches/pap_mops/ppMops/src/ppMopsArguments.c
r25162 r25188 57 57 assert(argv); 58 58 59 psTrace("ppMops.args", 1, "Parsing command-line arguments\n"); 60 61 psArgumentVerbosity(&argc, argv); 62 59 63 psMetadata *arguments = psMetadataAlloc(); // Command-line arguments 60 64 psMetadataAddStr(arguments, PS_LIST_TAIL, "-exp_name", 0, "Exposure name", NULL); … … 98 102 args->rmsAstrom = psMetadataLookupF32(NULL, arguments, "-astrom_rms"); 99 103 100 psTrace("ppMops ", 1, "Done reading command-line arguments\n");104 psTrace("ppMops.args", 1, "Done parsing command-line arguments\n"); 101 105 102 106 return args; -
branches/pap_mops/ppMops/src/ppMopsDetections.c
r25187 r25188 145 145 psVectorAppend(target->naxis2, source->naxis2->data.S32[index]); 146 146 psVectorAppend(target->mask, 0); 147 target->num++; 147 148 return true; 148 149 } -
branches/pap_mops/ppMops/src/ppMopsMerge.c
r25186 r25188 27 27 PS_ASSERT_ARRAY_NON_NULL(detections, NULL); 28 28 29 psTrace("ppMops.merge", 1, "Merging detections from %ld inputs\n", detections->n); 30 29 31 ppMopsDetections *merged = psMemIncrRefCounter(detections->data[0]); // Merged list 32 psTrace("ppMops.merge", 3, "Automatically merging %ld detections from input 0\n", merged->num); 30 33 int num = 1; // Number of merged files 31 34 for (int i = 1; i < detections->n; i++) { 32 35 ppMopsDetections *det = detections->data[i]; // Detections of interest 33 36 if (!det) { 37 psTrace("ppMops.merge", 3, "Ignoring NULL input %d\n", i); 34 38 continue; 35 39 } 36 40 num++; 41 psTrace("ppMops.merge", 3, "Merging %ld detections from input %d\n", det->num, i); 37 42 38 43 // XXX compare exposure properties … … 106 111 } 107 112 if (indices->n == 0) { 113 psTrace("ppMops.merge", 9, "No matches for source %d in input %d\n", j, i); 108 114 psFree(indices); 115 ppMopsDetectionsCopySingle(merged, det, j); 109 116 continue; 110 117 } 118 psTrace("ppMops.merge", 5, "%ld matches for source %d from input %d\n", indices->n, j, i); 111 119 112 120 // Which one do we keep? … … 124 132 float distance = mergeDistance(det, j); // Distance to centre of image 125 133 if (distance < bestDistance) { 134 psTrace("ppMops.merge", 6, "New source clobbers old sources\n"); 126 135 // Blow away existing sources 127 136 for (int k = 0; k < indices->n; k++) { … … 129 138 merged->mask->data.U8[index] = 0xFF; 130 139 } 131 132 140 ppMopsDetectionsCopySingle(merged, det, j); 141 } else { 142 psTrace("ppMops.merge", 6, "Old sources clobber new source\n"); 133 143 } 134 144 psFree(indices); 135 145 } 136 146 147 psTrace("ppMops.merge", 3, "Done merging input %d, %ld merged sources\n", i, merged->num); 148 137 149 psFree(tree); 138 150 ppMopsDetectionsPurge(merged); 139 151 } 152 153 psTrace("ppMops.merge", 2, "%ld sources in merged detections list\n", merged->num); 140 154 141 155 merged->seeing /= num; -
branches/pap_mops/ppMops/src/ppMopsRead.c
r25187 r25188 10 10 psArray *ppMopsRead(const ppMopsArguments *args) 11 11 { 12 psTrace("ppMops.read", 1, "Reading input detections\n"); 13 12 14 psArray *inNames = args->input; // Input names 13 15 long num = inNames->n; // Number of inputs … … 46 48 } 47 49 ppMopsDetections *det = ppMopsDetectionsAlloc(size); 50 51 psTrace("ppMops.read", 3, "Reading %ld rows from %s\n", size, (const char*)inNames->data[i]); 48 52 49 53 det->raBoresight = psMemIncrRefCounter(psMetadataLookupStr(NULL, header, "FPA.RA")); … … 151 155 } 152 156 157 psTrace("ppMops.read", 2, "Read %ld good rows from %s\n", numGood, (const char*)inNames->data[i]); 158 153 159 psFree(table); 154 160 detections->data[i] = det; 155 161 } 156 162 163 psTrace("ppMops.read", 1, "Done reading input detections\n"); 157 164 158 165 return detections; -
branches/pap_mops/ppMops/src/ppMopsWrite.c
r25186 r25188 10 10 bool ppMopsWrite(const ppMopsDetections *det, const ppMopsArguments *args) 11 11 { 12 psTrace("ppMops.write", 1, "Writing %ld rows to %s", det->num, args->output); 13 12 14 psFits *fits = psFitsOpen(args->output, "w"); // FITS file 13 15 if (!fits) { … … 15 17 return false; 16 18 } 19 17 20 18 21 psMetadata *header = psMetadataAlloc(); // Header to write … … 110 113 psFree(header); 111 114 psFitsClose(fits); 115 116 psTrace("ppMops.write", 1, "Done writing %ld rows to %s", det->num, args->output); 117 112 118 return true; 113 119 }
Note:
See TracChangeset
for help on using the changeset viewer.
