IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 4, 2011, 1:04:41 PM (15 years ago)
Author:
eugene
Message:

updates to pmPeak to better distinguish peak flux versions; updates to visualization; add bits for substantial suspect masking; consolidate assignment of source position and flux based on peak, moments, etc; improve footprint culling process; fix PSF_QF and PSF_QF_PERFECT calculations; fix source model chisq values

Location:
trunk/psModules
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules

    • Property svn:ignore
      •  

        old new  
        2828ChangeLog
        2929psmodules-*.tar.*
         30a.out.dSYM
  • trunk/psModules/src/objects/models/pmModel_GAUSS.c

    r29004 r31153  
    193193bool PM_MODEL_GUESS (pmModel *model, pmSource *source)
    194194{
    195     pmMoments *moments = source->moments;
    196     pmPeak    *peak    = source->peak;
    197     psF32     *PAR  = model->params->data.F32;
    198 
    199     psEllipseMoments emoments;
    200     emoments.x2 = moments->Mxx;
    201     emoments.y2 = moments->Myy;
    202     emoments.xy = moments->Mxy;
    203 
    204     // force the axis ratio to be < 20.0
    205     psEllipseAxes axes = psEllipseMomentsToAxes (emoments, 20.0);
    206     psEllipseShape shape = psEllipseAxesToShape (axes);
    207 
     195    psF32 *PAR  = model->params->data.F32;
     196
     197    // sky is set to 0.0
    208198    PAR[PM_PAR_SKY]  = 0.0;
    209     PAR[PM_PAR_I0]   = peak->flux;
    210     PAR[PM_PAR_XPOS] = peak->xf;
    211     PAR[PM_PAR_YPOS] = peak->yf;
    212     PAR[PM_PAR_SXX] = PS_MAX(0.5, M_SQRT2*shape.sx);
    213     PAR[PM_PAR_SYY] = PS_MAX(0.5, M_SQRT2*shape.sy);
    214     PAR[PM_PAR_SXY] = shape.sxy;
     199
     200    // set the shape parameters
     201    if (!pmModelSetShape(&PAR[PM_PAR_SXX], &PAR[PM_PAR_SXY], &PAR[PM_PAR_SYY], source->moments)) {
     202      return false;
     203    }
     204
     205    // set the model normalization
     206    if (!pmModelSetNorm(&PAR[PM_PAR_I0], source)) {
     207      return false;
     208    }
     209
     210    // set the model position
     211    if (!pmModelSetPosition(&PAR[PM_PAR_XPOS], &PAR[PM_PAR_YPOS], source)) {
     212      return false;
     213    }
     214
    215215    return(true);
    216216}
     
    258258    psEllipseAxes axes = psEllipseShapeToAxes (shape, 20.0);
    259259    psF64 radius = axes.major * sqrt (2.0 * log(PAR[PM_PAR_I0] / flux));
    260     psAssert (isfinite(radius), "fix this code: radius should not be nan for %f", PAR[PM_PAR_I0]);
     260    psAssert (isfinite(radius), "fix this code: radius should not be nan for Io = %f, flux = %f, major = %f (%f, %f, %f)",
     261              PAR[PM_PAR_I0], flux, axes.major, PAR[PM_PAR_SXX], PAR[PM_PAR_SXY], PAR[PM_PAR_SYY]);
    261262
    262263    return (radius);
Note: See TracChangeset for help on using the changeset viewer.