IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 13567


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

Location:
trunk/psModules/src/objects
Files:
2 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
  • trunk/psModules/src/objects/pmSource.h

    r13034 r13567  
    33 * @author EAM, IfA; GLG, MHPCC
    44 *
    5  * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
    6  * @date $Date: 2007-04-26 01:20:29 $
     5 * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
     6 * @date $Date: 2007-05-31 12:30:19 $
    77 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    88 */
     
    4747    PM_SOURCE_MODE_TEMPSUB    = 0x0800, ///< XXX get me a better name!
    4848    PM_SOURCE_MODE_EXTERNAL   = 0x1000, ///< XXX get me a better name!
     49    PM_SOURCE_MODE_BADPSF     = 0x2000, ///< Failed to get good estimate of object's PSF
    4950} pmSourceMode;
    5051
Note: See TracChangeset for help on using the changeset viewer.