IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 31, 2007, 2:30:19 AM (19 years ago)
Author:
rhl
Message:

Set PM_SOURCE_MODE_BADPSF when we fail to get a good PSF estimate for an object

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/objects/models/pmModel_QGAUSS.c

    r13424 r13567  
    8888        f2 = 1.0 / PS_SQR(params[PM_PAR_SYY]) - 1.0 / PS_SQR(params[PM_PAR_SXX]);
    8989        q1 = PS_SQR(f1)*AR_RATIO - PS_SQR(f2);
    90         assert (q1 > 0);
     90        if (q1 <= 0) {
     91            psError(PM_ERR_PSF, true, "Q1 < 0 (%g)", q1);
     92            return false;
     93        }
    9194        q2  = 0.5*sqrt (q1);
    9295    }
     
    124127        if (fabs(beta[nParam]) > fabs(beta_lim)) {
    125128            beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
     129            psError(PM_ERR_PSF, true, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
     130                    nParam, beta[nParam], beta_lim);
    126131            return false;
    127132        }
     
    158163        if (params[nParam] < params_min) {
    159164            params[nParam] = params_min;
     165            psError(PM_ERR_PSF, true, "params[nParam==%d] < params_min; %g v. %g",
     166                    nParam, params[nParam], params_min);
    160167            return false;
    161168        }
     
    192199        if (params[nParam] > params_max) {
    193200            params[nParam] = params_max;
     201            psError(PM_ERR_PSF, true, "params[nParam==%d] > params_max; %g v. %g",
     202                    nParam, params[nParam], params_max);
    194203            return false;
    195204        }
     
    362371        if (psf->params_NEW->data[i] == NULL)
    363372            continue;
    364         PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
    365         PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
     373
     374        if (!PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL) ||
     375            !PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL)) {
     376            psError(PM_ERR_PSF, false, "Setting limits at (r,c) = (%.1f, %.1f)",
     377                    in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
     378            return false;
     379        }
    366380    }
    367381
Note: See TracChangeset for help on using the changeset viewer.