IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 26916


Ignore:
Timestamp:
Feb 11, 2010, 3:32:38 PM (16 years ago)
Author:
Paul Price
Message:

Adding moderate PSF limits: neither lax nor strict. The idea is to allow slightly bad PSFs to go into the stack PSF envelope calculation.

Location:
trunk/psModules/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/imcombine/pmPSFEnvelope.c

    r26893 r26916  
    158158                goodPSF = false;
    159159            } else {
    160                 model->modelSetLimits(PM_MODEL_LIMITS_STRICT);
     160                model->modelSetLimits(PM_MODEL_LIMITS_MODERATE);
    161161                for (int j = 0; j < model->params->n && goodPSF; j++) {
    162162                    if (!model->modelLimits(PS_MINIMIZE_PARAM_MIN, j, model->params->data.F32, NULL) ||
     
    399399
    400400    pmSourceFitModelInit(SOURCE_FIT_ITERATIONS, 0.01, VARIANCE_VAL, true);
     401    pmModelClassSetLimits(PM_MODEL_LIMITS_STRICT);
    401402
    402403    pmPSFtry *try = pmPSFtryModel(fakes, modelName, options, 0, 0xff);
  • trunk/psModules/src/objects/models/pmModel_GAUSS.c

    r25754 r26916  
    4141static float paramsMinLax[] = { -1.0e3, 1.0e-2, -100, -100, 0.5, 0.5, -1.0 };
    4242static float paramsMaxLax[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0 };
     43
     44// Moderate parameter limits
     45static float *paramsMinModerate = paramsMinLax;
     46static float *paramsMaxModerate = paramsMaxLax;
    4347
    4448// Strict parameter limits
     
    375379        limitsApply = true;
    376380        break;
     381      case PM_MODEL_LIMITS_MODERATE:
     382        paramsMinUse = paramsMinModerate;
     383        paramsMaxUse = paramsMaxModerate;
     384        limitsApply = true;
     385        break;
    377386      case PM_MODEL_LIMITS_STRICT:
    378387        paramsMinUse = paramsMinStrict;
  • trunk/psModules/src/objects/models/pmModel_PGAUSS.c

    r25754 r26916  
    4141static float paramsMinLax[] = { -1.0e3, 1.0e-2, -100, -100, 0.5, 0.5, -1.0 };
    4242static float paramsMaxLax[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0 };
     43
     44// Moderate parameter limits
     45static float *paramsMinModerate = paramsMinLax;
     46static float *paramsMaxModerate = paramsMaxLax;
    4347
    4448// Strict parameter limits
     
    425429        limitsApply = true;
    426430        break;
     431      case PM_MODEL_LIMITS_MODERATE:
     432        paramsMinUse = paramsMinModerate;
     433        paramsMaxUse = paramsMaxModerate;
     434        limitsApply = true;
     435        break;
    427436      case PM_MODEL_LIMITS_STRICT:
    428437        paramsMinUse = paramsMinStrict;
  • trunk/psModules/src/objects/models/pmModel_PS1_V1.c

    r25754 r26916  
    4949static float paramsMinLax[] = { -1.0e3, 1.0e-2, -100, -100, 0.5, 0.5, -1.0, -1.0 };
    5050static float paramsMaxLax[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0, 20.0 };
     51
     52// Moderate parameter limits
     53// Tolerate a small divot (k < 0)
     54static float paramsMinModerate[] = { -1.0e3, 1.0e-2, -100, -100, 0.5, 0.5, -1.0, -0.05 };
     55static float paramsMaxModerate[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0, 20.0 };
    5156
    5257// Strict parameter limits
     
    454459        limitsApply = true;
    455460        break;
     461      case PM_MODEL_LIMITS_MODERATE:
     462        paramsMinUse = paramsMinModerate;
     463        paramsMaxUse = paramsMaxModerate;
     464        limitsApply = true;
     465        break;
    456466      case PM_MODEL_LIMITS_STRICT:
    457467        paramsMinUse = paramsMinStrict;
  • trunk/psModules/src/objects/models/pmModel_QGAUSS.c

    r25754 r26916  
    4646static float paramsMinLax[] = { -1.0e3, 1.0e-2, -100, -100, 0.5, 0.5, -1.0, 0.1 };
    4747static float paramsMaxLax[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0, 20.0 };
     48
     49// Moderate parameter limits
     50static float *paramsMinModerate = paramsMinLax;
     51static float *paramsMaxModerate = paramsMaxLax;
    4852
    4953// Strict parameter limits
     
    446450        limitsApply = true;
    447451        break;
     452      case PM_MODEL_LIMITS_MODERATE:
     453        paramsMinUse = paramsMinModerate;
     454        paramsMaxUse = paramsMaxModerate;
     455        limitsApply = true;
     456        break;
    448457      case PM_MODEL_LIMITS_STRICT:
    449458        paramsMinUse = paramsMinStrict;
  • trunk/psModules/src/objects/models/pmModel_RGAUSS.c

    r25754 r26916  
    4646static float paramsMinLax[] = { -1.0e3, 1.0e-2, -100, -100, 0.5, 0.5, -1.0, 1.25 };
    4747static float paramsMaxLax[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0, 4.0 };
     48
     49// Moderate parameter limits
     50static float *paramsMinModerate = paramsMinLax;
     51static float *paramsMaxModerate = paramsMaxLax;
    4852
    4953// Strict parameter limits
     
    440444        limitsApply = true;
    441445        break;
     446      case PM_MODEL_LIMITS_MODERATE:
     447        paramsMinUse = paramsMinModerate;
     448        paramsMaxUse = paramsMaxModerate;
     449        limitsApply = true;
     450        break;
    442451      case PM_MODEL_LIMITS_STRICT:
    443452        paramsMinUse = paramsMinStrict;
  • trunk/psModules/src/objects/models/pmModel_SERSIC.c

    r25763 r26916  
    4949static float paramsMinLax[] = { -1.0e3, 1.0e-2, -100, -100, 0.05, 0.05, -1.0, 0.05 };
    5050static float paramsMaxLax[] = { 1.0e5, 1.0e8, 1.0e4, 1.0e4, 100, 100, 1.0, 4.0 };
     51
     52// Moderate parameter limits
     53static float *paramsMinModerate = paramsMinLax;
     54static float *paramsMaxModerate = paramsMaxLax;
    5155
    5256// Strict parameter limits
     
    429433        limitsApply = true;
    430434        break;
     435      case PM_MODEL_LIMITS_MODERATE:
     436        paramsMinUse = paramsMinModerate;
     437        paramsMaxUse = paramsMaxModerate;
     438        limitsApply = true;
     439        break;
    431440      case PM_MODEL_LIMITS_STRICT:
    432441        paramsMinUse = paramsMinStrict;
  • trunk/psModules/src/objects/pmModel.h

    r25754 r26916  
    4848    PM_MODEL_LIMITS_NONE,               ///< Apply no limits: suitable for debugging
    4949    PM_MODEL_LIMITS_IGNORE,             ///< Ignore all limits: fit can go to town
    50     PM_MODEL_LIMITS_LAX,                ///< Lax limits: attempting to reproduce mildly bad data
    51     PM_MODEL_LIMITS_STRICT,             ///< Strict limits: good quality data
     50    PM_MODEL_LIMITS_LAX,                ///< Lax limits: attempting to reproduce even bad data
     51    PM_MODEL_LIMITS_MODERATE,           ///< Moderate limits: cope with mildly bad data
     52    PM_MODEL_LIMITS_STRICT,             ///< Strict limits: insist on good quality data
    5253} pmModelLimitsType;
    5354
Note: See TracChangeset for help on using the changeset viewer.