Changeset 4641 for trunk/psphot/src/output.c
- Timestamp:
- Jul 27, 2005, 6:55:51 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/output.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/output.c
r4398 r4641 1 1 # include "psphot.h" 2 2 3 // output functions 4 // we have several fixed modes (sx, obj, cmp) 5 6 // we require a fixed number of chars already allocated 7 init_line (char *line, int *Nline) { 8 *Nline = 0; 9 } 10 11 add_to_line (char *line, int *Nline, char *format, ...) { 12 13 va_list ap; 14 15 va_start (ap, format); 16 Nchar = vsprintf (&line[*Nline], format, ap); 17 *Nline += Nchar; 3 // output functions: we have several fixed modes (sx, obj, cmp) 4 5 void output (psImageData *imdata, psMetadata *config, psArray *sources) { 6 7 char *outputMode = psMetadataLookupPtr (&status, config, "OUTPUT_MODE"); 8 9 if (outputMode == NULL) { 10 WriteSourcesText (imdata, config, sources); 11 exit (0); 12 } 13 14 if (!strcasecmp (outputMode, "OBJ")) { 15 WriteSourcesOBJ (imdata, config, sources); 16 exit (0); 17 } 18 19 if (!strcasecmp (outputMode, "SX")) { 20 WriteSourcesSX (imdata, config, sources); 21 exit (0); 22 } 23 24 if (!strcasecmp (outputMode, "CMP")) { 25 WriteSourcesCMP (imdata, config, sources); 26 exit (0); 27 } 28 29 if (!strcasecmp (outputMode, "CMF")) { 30 WriteSourcesCMF (imdata, config, sources); 31 exit (0); 32 } 33 34 psAbort ("psphot", "unknown output mode %s", outputMode); 35 } 36 37 bool WriteSourceText (psImageData *imdata, psMetadata *config, psArray *sources) { 38 39 char *filename = psMetadataLookupPtr (&status, config, "OUTPUT"); 40 41 DumpImage (imdata->image, filename); 42 43 // get these names from config? 44 DumpModelPSF (sources, "psfsources.dat"); 45 DumpModelFLT (sources, "fltsources.dat"); 46 DumpModelNULL (sources, "nullsources.dat"); 47 DumpMoments (sources, "moments.dat"); 48 49 exit (0); 18 50 } 19 51 20 52 // dophot-style output list with fixed line width 21 bool WriteSourcesOBJ (ps Array *sources, char *filename) {53 bool WriteSourcesOBJ (psImageData *imdata, psMetadata *config, psArray *sources) { 22 54 23 55 # define NCHAR 104 24 56 25 57 char line[NCHAR]; 58 59 char *filename = psMetadataLookupPtr (&status, config, "OUTPUT"); 26 60 27 61 FILE *f = fopen (filename, "w"); … … 63 97 64 98 // elixir/sextractor-style output list with fixed line width 65 bool WriteSourcesSX (ps Array *sources, char *filename) {99 bool WriteSourcesSX (psImageData *imdata, psMetadata *config, psArray *sources) { 66 100 67 101 # define NCHAR 104 68 102 69 103 char line[NCHAR]; 104 105 char *filename = psMetadataLookupPtr (&status, config, "OUTPUT"); 70 106 71 107 FILE *f = fopen (filename, "w"); … … 108 144 109 145 // elixir-style pseudo FITS table (header + ascii list) 110 bool WriteSourcesCMP (ps Metadata *header, psArray *sources, char *filename) {146 bool WriteSourcesCMP (psImageData *imdata, psMetadata *config, psArray *sources) { 111 147 112 148 … … 114 150 115 151 char line[NCHAR]; 152 153 char *filename = psMetadataLookupPtr (&status, config, "OUTPUT"); 116 154 117 155 FILE *f = fopen (filename, "w"); … … 121 159 } 122 160 123 // write header to file161 // write imdata->header to file 124 162 125 163 // write sources with models first … … 155 193 156 194 // elixir-style FITS table output (header + table in 1st extension) 157 bool WriteSourcesCMF (psArray *sources, char *filename) { 158 // ??? 159 } 195 bool WriteSourcesCMF (psImageData *imdata, psMetadata *config, psArray *sources) { 196 197 char *filename = psMetadataLookupPtr (&status, config, "OUTPUT"); 198 199 // write imdata->header to file 200 201 // write FITS table to file (use autocode tools) 202 } 203 204 // we require a fixed number of chars already allocated 205 init_line (char *line, int *Nline) { 206 *Nline = 0; 207 } 208 209 add_to_line (char *line, int *Nline, char *format, ...) { 210 211 va_list ap; 212 213 va_start (ap, format); 214 Nchar = vsprintf (&line[*Nline], format, ap); 215 *Nline += Nchar; 216 } 217
Note:
See TracChangeset
for help on using the changeset viewer.
