Changeset 5058 for trunk/psphot/src/psphotOutput.c
- Timestamp:
- Sep 15, 2005, 12:12:26 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphotOutput.c (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotOutput.c
r5049 r5058 2 2 3 3 // output functions: we have several fixed modes (sx, obj, cmp) 4 void psphotOutput (eamReadout *imdata, psMetadata *config, psArray *sources ) {4 void psphotOutput (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky) { 5 5 6 6 bool status; … … 21 21 } 22 22 if (!strcasecmp (outputMode, "TEXT")) { 23 pmSourcesWriteText (imdata, outputFile, sources );23 pmSourcesWriteText (imdata, outputFile, sources, psf, sky); 24 24 return; 25 25 } 26 26 27 27 if (!strcasecmp (outputMode, "OBJ")) { 28 pmSourcesWriteOBJ (imdata, outputFile, sources );28 pmSourcesWriteOBJ (imdata, outputFile, sources, psf, sky); 29 29 return; 30 30 } 31 31 32 32 if (!strcasecmp (outputMode, "SX")) { 33 pmSourcesWriteSX (imdata, outputFile, sources );33 pmSourcesWriteSX (imdata, outputFile, sources, psf, sky); 34 34 return; 35 35 } 36 36 37 37 if (!strcasecmp (outputMode, "CMP")) { 38 pmSourcesWriteCMP (imdata, outputFile, sources );38 pmSourcesWriteCMP (imdata, outputFile, sources, psf, sky); 39 39 return; 40 40 } 41 41 42 42 if (!strcasecmp (outputMode, "CMF")) { 43 pmSourcesWriteCMF (imdata, outputFile, sources );43 pmSourcesWriteCMF (imdata, outputFile, sources, psf, sky); 44 44 return; 45 45 } … … 47 47 } 48 48 49 bool pmSourcesWriteText (eamReadout *imdata, char *filename, psArray *sources ) {49 bool pmSourcesWriteText (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *sky) { 50 50 51 51 char *name = (char *) psAlloc (strlen(filename) + 10); … … 68 68 69 69 // dophot-style output list with fixed line width 70 bool pmSourcesWriteOBJ (eamReadout *imdata, char *filename, psArray *sources ) {70 bool pmSourcesWriteOBJ (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) { 71 71 72 72 int i, type, status; 73 73 pmModel *model; 74 74 psF32 *PAR, *dPAR; 75 float sky , dmag, apMag, fitMag;75 float skyFlux, dmag, apMag, fitMag; 76 76 77 77 psLine *line = psLineAlloc (104); // 104 is dophot-defined line length … … 118 118 119 119 // save local sky for later 120 sky = model->params->data.F32[0];120 skyFlux = model->params->data.F32[0]; 121 121 122 122 // replace source flux … … 124 124 model->params->data.F32[0] = 0; 125 125 pmSourceAddModel (source->pixels, source->mask, model, false); 126 model->params->data.F32[0] = sky ;126 model->params->data.F32[0] = skyFlux; 127 127 128 128 // measure object photometry 129 129 status = pmSourcePhotometry (&fitMag, &apMag, model, source->pixels, source->mask); 130 fitMag += psf->ApResid; 130 131 131 132 // subtract object, leave local sky … … 133 134 model->params->data.F32[0] = 0; 134 135 pmSourceSubModel (source->pixels, source->mask, model, false); 135 model->params->data.F32[0] = sky ;136 model->params->data.F32[0] = skyFlux; 136 137 137 138 if (status == FALSE) continue; … … 159 160 160 161 // elixir/sextractor-style output list with fixed line width 161 bool pmSourcesWriteSX (eamReadout *imdata, char *filename, psArray *sources ) {162 bool pmSourcesWriteSX (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) { 162 163 163 164 int i, status, flags; … … 224 225 // measure object photometry 225 226 status = pmSourcePhotometry (&fitMag, &apMag, model, source->pixels, source->mask); 227 fitMag += psf->ApResid; 226 228 227 229 // subtract object, leave local sky … … 257 259 258 260 // elixir-style pseudo FITS table (header + ascii list) 259 bool pmSourcesWriteCMP (eamReadout *imdata, char *filename, psArray *sources ) {261 bool pmSourcesWriteCMP (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) { 260 262 261 263 int i, type, status; … … 328 330 // measure object photometry 329 331 status = pmSourcePhotometry (&fitMag, &apMag, model, source->pixels, source->mask); 332 fitMag += psf->ApResid; 330 333 331 334 // subtract object, leave local sky … … 360 363 361 364 // elixir-style FITS table output (header + table in 1st extension) 362 bool pmSourcesWriteCMF (eamReadout *imdata, char *filename, psArray *sources ) {365 bool pmSourcesWriteCMF (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) { 363 366 364 367 // write imdata->header to file
Note:
See TracChangeset
for help on using the changeset viewer.
