IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 30, 2005, 2:32:16 PM (21 years ago)
Author:
eugene
Message:

adding fixed-psf fitting

File:
1 edited

Legend:

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

    r5629 r5643  
    33// fit psf model to all objects with centroid fixed
    44
    5 bool psphotFitFixedPSF (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky)
     5bool psphotFixedPSF (eamReadout *imdata, psMetadata *config, psArray *sources, pmPSF *psf, psStats *sky)
    66{
    77    bool  status;
    88    float x;
    99    float y;
     10    float Sky;
    1011    int   Nfit = 0;
    11     int   Nsub = 0;
    12     int   Niter = 0;
    1312
    1413    psTimerStart ("psphot");
    1514
    1615    // we may set this differently here from the value used to mark likely saturated stars
    17     float SATURATION   = psMetadataLookupF32 (&status, config, "SATURATION");
    1816    float OUTER_RADIUS = psMetadataLookupF32 (&status, config, "SKY_OUTER_RADIUS");
    1917
    20     float PSF_MIN_SN       = psMetadataLookupF32 (&status, config, "PSF_MIN_SN");
    21     float PSF_MAX_CHI      = psMetadataLookupF32 (&status, config, "PSF_MAX_CHI");
    2218    float PSF_FIT_NSIGMA   = psMetadataLookupF32 (&status, config, "PSF_FIT_NSIGMA");
    2319    float PSF_FIT_PADDING  = psMetadataLookupF32 (&status, config, "PSF_FIT_PADDING");
    24     float PSF_SHAPE_NSIGMA = psMetadataLookupF32 (&status, config, "PSF_SHAPE_NSIGMA");
    2520
    2621    // set the object surface-brightness limit for fitted pixels
     
    4540        // set PSF parameters for this model
    4641        pmModel *model = pmModelFromPSF (modelFLT, psf);
     42        // model->params->data.F32[2] = source->peak->x;
     43        // model->params->data.F32[3] = source->peak->y;
    4744        x = model->params->data.F32[2];
    4845        y = model->params->data.F32[3];
     
    6966
    7067        if (!status || (model->params->data.F32[1] < 0)) {
    71           psLogMsg ("psphot", 5, "PSF fit failed for %f, %f (%d iterations)\n", x, y, model->nIter);
     68          psLogMsg ("psphot", 5, "PSF fit failed for %f, %f (peak %f\n", x, y, model->params->data.F32[1]);
    7269          source->type = PM_SOURCE_FAIL_FIT_PSF;  // better choice?
    7370          psFree (model);
     
    7774        // model succeeded : tentatively keep it
    7875        source->modelPSF = model;
    79         Niter += model[0].nIter;
    8076        Nfit ++;
    8177
    8278        // subtract object, leave local sky
    83         sky = model->params->data.F32[0];
     79        Sky = model->params->data.F32[0];
    8480        model->params->data.F32[0] = 0;
    8581        pmSourceSubModel (source->pixels, source->mask, source->modelPSF, false);
    86         model->params->data.F32[0] = sky;
     82        model->params->data.F32[0] = Sky;
    8783    }
    8884
    89     psLogMsg ("psphot", 3, "fit fixed PSF models: %f sec for %d objects (%d total iterations)\n", psTimerMark ("psphot"), Nfit, Niter);
     85    psLogMsg ("psphot", 3, "fit fixed PSF models: %f sec for %d objects\n", psTimerMark ("psphot"), Nfit);
    9086    return (true);
    9187}
Note: See TracChangeset for help on using the changeset viewer.