IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17386


Ignore:
Timestamp:
Apr 7, 2008, 5:04:33 PM (18 years ago)
Author:
eugene
Message:

handle errors in psphotPSFConvModel and psphotFitEXT

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20080324/psphot/src/psphotExtendedSourceFits.c

    r17379 r17386  
    155155          pmModel *modelFit = NULL;
    156156          if (convolved) {
    157             modelFit = psphotPSFConvModel (readout, source, modelType, maskVal, psfSize);
    158             psTrace ("psphot", 4, "fit psf-conv model for %f, %f : %s chisq = %f\n", source->moments->x, source->moments->y, pmModelClassGetName (modelFit->type), modelFit->chisq);
    159             Nconvolve ++;
    160             if (!(modelFit->flags & (PM_MODEL_STATUS_BADARGS | PM_MODEL_STATUS_NONCONVERGE | PM_MODEL_STATUS_OFFIMAGE))) {
    161                 NconvolvePass ++;
    162             }
     157              modelFit = psphotPSFConvModel (readout, source, modelType, maskVal, psfSize);
     158              if (!modelFit) {
     159                  psTrace ("psphot", 5, "failed to fit psf-conv model for object at %f, %f", source->moments->x, source->moments->y);
     160                  continue;
     161              }
     162              psTrace ("psphot", 4, "fit psf-conv model for %f, %f : %s chisq = %f\n", source->moments->x, source->moments->y, pmModelClassGetName (modelFit->type), modelFit->chisq);
     163              Nconvolve ++;
     164              if (!(modelFit->flags & (PM_MODEL_STATUS_BADARGS | PM_MODEL_STATUS_NONCONVERGE | PM_MODEL_STATUS_OFFIMAGE))) {
     165                  NconvolvePass ++;
     166              }
    163167          } else {
    164168              psFree (source->modelFlux);
    165169              source->modelFlux = NULL;
    166             modelFit = psphotFitEXT (readout, source, modelType, maskVal);
    167             pmSourceCacheModel (source, maskVal);
    168             psTrace ("psphot", 4, "fit plain model for %f, %f : %s chisq = %f\n", source->moments->x, source->moments->y, pmModelClassGetName (modelFit->type), modelFit->chisq);
    169             Nplain ++;
    170             if (!(modelFit->flags & (PM_MODEL_STATUS_BADARGS | PM_MODEL_STATUS_NONCONVERGE | PM_MODEL_STATUS_OFFIMAGE))) {
    171                 NplainPass ++;
    172             }
     170              modelFit = psphotFitEXT (readout, source, modelType, maskVal);
     171              if (!modelFit) {
     172                  psTrace ("psphot", 5, "failed to fit plain model for object at %f, %f", source->moments->x, source->moments->y);
     173                  continue;
     174              }
     175              pmSourceCacheModel (source, maskVal);
     176              psTrace ("psphot", 4, "fit plain model for %f, %f : %s chisq = %f\n", source->moments->x, source->moments->y, pmModelClassGetName (modelFit->type), modelFit->chisq);
     177              Nplain ++;
     178              if (!(modelFit->flags & (PM_MODEL_STATUS_BADARGS | PM_MODEL_STATUS_NONCONVERGE | PM_MODEL_STATUS_OFFIMAGE))) {
     179                  NplainPass ++;
     180              }
    173181          }
    174           if (!modelFit) {
    175             psTrace ("psphot", 5, "failed to generate model guess for object at %f, %f", source->moments->x, source->moments->y);
    176             continue;
    177           }
    178182
    179183          // save each of the model flux images and store the best
Note: See TracChangeset for help on using the changeset viewer.