IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 21, 2007, 4:20:17 PM (19 years ago)
Author:
eugene
Message:

updating to use pmTrend for the psf parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20070921/psphot/src/psphotChoosePSF.c

    r14971 r14980  
    3535
    3636    // how to model the PSF variations across the field
    37     char *psfTrendMode = psMetadataLookupStr (&status, recipe, "PSF.TREND.MODE");
    38     assert (status);
    39     options->psfTrendMode = pmTrend2DModeFromString (psfTrendMode);
     37    options->psfTrendMode = pmTrend2DModeFromString (psMetadataLookupStr (&status, recipe, "PSF.TREND.MODE"));
     38    assert (status);
     39   
     40    options->psfTrendNx = psMetadataLookupS32 (&status, recipe, "PSF.TREND.NX");
     41    assert (status);
     42
     43    options->psfTrendNy = psMetadataLookupS32 (&status, recipe, "PSF.TREND.NY");
     44    assert (status);
    4045
    4146    // get the fixed PSF fit radius
     
    4449    assert (status);
    4550
    46     pmSourceFitModelInit (15, 0.01, PS_SQR(SKY_SIG), POISSON_ERRORS);
    47 
    48     psPolynomial2D *psfTrendMask = psPolynomial2DfromMetadata (md);
    49     if (!psfTrendMask) {
    50         psError(PSPHOT_ERR_PSF, true, "Unable to construct polynomial from PSF.TREND.MASK in the recipe");
    51         return NULL;
    52     }
     51    options->stats = psStatsAlloc (PS_STAT_ROBUST_MEDIAN | PS_STAT_ROBUST_STDEV);
     52    options->image = psMemIncrRefCounter (readout->image);
     53
     54    pmSourceFitModelInit (15, 0.01, PS_SQR(SKY_SIG), options->poissonErrorsPhotom);
    5355
    5456    psArray *stars = psArrayAllocEmpty (sources->n);
     
    7173        psLogMsg ("psphot.choosePSF", PS_LOG_WARN, "Failed to find any PSF candidates");
    7274        psFree (stars);
    73         psFree (psfTrendMask);
    7475        return NULL;
    7576    }
     
    9697        psMetadataItem *item = psListGetAndIncrement (iter);
    9798        char *modelName = item->data.V;
    98         // models->data[i] = pmPSFtryModel (stars, modelName, RADIUS, POISSON_ERRORS, psfTrendMask, PSF_PARAM_WEIGHTS, maskVal, mark);
    9999        models->data[i] = pmPSFtryModel (stars, modelName, options, maskVal, mark);
    100100    }
     
    103103    psFree (list);
    104104    psFree (stars);
    105     psFree (psfTrendMask);
    106105
    107106    // select the best of the models
     
    134133    if (psTraceGetLevel("psphot") >= 5) {
    135134        for (int i = PM_PAR_SXX; i < try->psf->params->n; i++) {
    136             psPolynomial2D *poly = try->psf->params->data[i];
    137             for (int nx = 0; nx <= poly->nX; nx++) {
    138                 for (int ny = 0; ny <= poly->nY; ny++) {
    139                     if (poly->mask[nx][ny]) continue;
    140                     fprintf (stderr, "%g x^%d y^%d\n", poly->coeff[nx][ny], nx, ny);
    141                 }
    142             }
     135            // XXX re-write the output or some other status info
    143136        }
    144137    }
     
    289282        pmSourcesWritePSFs (try->sources, "psfstars.dat");
    290283        pmSourcesWriteEXTs (try->sources, "extstars.dat", false);
    291         psMetadata *psfData = pmPSFtoMetadata (NULL, try->psf);
    292         psMetadataConfigWrite (psfData, "psfmodel.dat");
    293         psFree (psfData);
     284        // XXX need alternative output function
     285        // psMetadata *psfData = pmPSFtoMetadata (NULL, try->psf);
     286        // psMetadataConfigWrite (psfData, "psfmodel.dat");
    294287        psLogMsg ("psphot.choosePSF", PS_LOG_INFO, "wrote out psf-subtracted image, psf data, exiting\n");
    295288        exit (0);
Note: See TracChangeset for help on using the changeset viewer.