IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 15, 2005, 12:12:26 PM (21 years ago)
Author:
eugene
Message:

moved ApResid, etc into pmPSF from pmPSFtry

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/psphotOutput.c

    r5049 r5058  
    22
    33// output functions: we have several fixed modes (sx, obj, cmp)
    4 void psphotOutput (eamReadout *imdata, psMetadata *config, psArray *sources) {
     4void psphotOutput (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky) {
    55
    66    bool status;
     
    2121    }
    2222    if (!strcasecmp (outputMode, "TEXT")) {
    23         pmSourcesWriteText (imdata, outputFile, sources);
     23        pmSourcesWriteText (imdata, outputFile, sources, psf, sky);
    2424        return;
    2525    }
    2626
    2727    if (!strcasecmp (outputMode, "OBJ")) {
    28         pmSourcesWriteOBJ (imdata, outputFile, sources);
     28        pmSourcesWriteOBJ (imdata, outputFile, sources, psf, sky);
    2929        return;
    3030    }
    3131 
    3232    if (!strcasecmp (outputMode, "SX")) {
    33         pmSourcesWriteSX (imdata, outputFile, sources);
     33        pmSourcesWriteSX (imdata, outputFile, sources, psf, sky);
    3434        return;
    3535    }
    3636 
    3737    if (!strcasecmp (outputMode, "CMP")) {
    38         pmSourcesWriteCMP (imdata, outputFile, sources);
     38        pmSourcesWriteCMP (imdata, outputFile, sources, psf, sky);
    3939        return;
    4040    }
    4141 
    4242    if (!strcasecmp (outputMode, "CMF")) {
    43         pmSourcesWriteCMF (imdata, outputFile, sources);
     43        pmSourcesWriteCMF (imdata, outputFile, sources, psf, sky);
    4444        return;
    4545    }
     
    4747}
    4848
    49 bool pmSourcesWriteText (eamReadout *imdata, char *filename, psArray *sources) {
     49bool pmSourcesWriteText (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *sky) {
    5050
    5151    char *name = (char *) psAlloc (strlen(filename) + 10);
     
    6868
    6969// dophot-style output list with fixed line width
    70 bool pmSourcesWriteOBJ (eamReadout *imdata, char *filename, psArray *sources) {
     70bool pmSourcesWriteOBJ (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) {
    7171
    7272    int i, type, status;
    7373    pmModel *model;
    7474    psF32 *PAR, *dPAR;
    75     float sky, dmag, apMag, fitMag;
     75    float skyFlux, dmag, apMag, fitMag;
    7676
    7777    psLine *line = psLineAlloc (104);  // 104 is dophot-defined line length
     
    118118
    119119        // save local sky for later
    120         sky = model->params->data.F32[0];
     120        skyFlux = model->params->data.F32[0];
    121121
    122122        // replace source flux
     
    124124        model->params->data.F32[0] = 0;
    125125        pmSourceAddModel (source->pixels, source->mask, model, false);
    126         model->params->data.F32[0] = sky;
     126        model->params->data.F32[0] = skyFlux;
    127127
    128128        // measure object photometry
    129129        status = pmSourcePhotometry (&fitMag, &apMag, model, source->pixels, source->mask);
     130        fitMag += psf->ApResid;
    130131
    131132        // subtract object, leave local sky
     
    133134        model->params->data.F32[0] = 0;
    134135        pmSourceSubModel (source->pixels, source->mask, model, false);
    135         model->params->data.F32[0] = sky;
     136        model->params->data.F32[0] = skyFlux;
    136137
    137138        if (status == FALSE) continue;
     
    159160
    160161// elixir/sextractor-style output list with fixed line width
    161 bool pmSourcesWriteSX (eamReadout *imdata, char *filename, psArray *sources) {
     162bool pmSourcesWriteSX (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) {
    162163
    163164    int i, status, flags;
     
    224225        // measure object photometry
    225226        status = pmSourcePhotometry (&fitMag, &apMag, model, source->pixels, source->mask);
     227        fitMag += psf->ApResid;
    226228
    227229        // subtract object, leave local sky
     
    257259
    258260// elixir-style pseudo FITS table (header + ascii list)
    259 bool pmSourcesWriteCMP (eamReadout *imdata, char *filename, psArray *sources) {
     261bool pmSourcesWriteCMP (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) {
    260262
    261263    int i, type, status;
     
    328330        // measure object photometry
    329331        status = pmSourcePhotometry (&fitMag, &apMag, model, source->pixels, source->mask);
     332        fitMag += psf->ApResid;
    330333
    331334        // subtract object, leave local sky
     
    360363
    361364// elixir-style FITS table output (header + table in 1st extension)
    362 bool pmSourcesWriteCMF (eamReadout *imdata, char *filename, psArray *sources) {
     365bool pmSourcesWriteCMF (eamReadout *imdata, char *filename, psArray *sources, pmPSF *psf, psStats *skyStats) {
    363366
    364367    // write imdata->header to file
Note: See TracChangeset for help on using the changeset viewer.