IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17380


Ignore:
Timestamp:
Apr 7, 2008, 3:57:29 PM (18 years ago)
Author:
eugene
Message:

modify guess parameters (SXX, SYY, SXY and I0) somewhat to account for psf convolution

File:
1 edited

Legend:

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

    r17353 r17380  
    2929    pmModel *modelConv = pmSourceModelGuess (source, modelType);
    3030    PS_ASSERT (modelConv, NULL);
     31
     32    // XXX test : modify the Io, SXX, SYY terms based on the psf SXX, SYY terms:
     33    psEllipseShape psfShape;
     34    psfShape.sx  = source->modelPSF->params->data.F32[PM_PAR_SXX] / M_SQRT2;
     35    psfShape.sxy = source->modelPSF->params->data.F32[PM_PAR_SXY];
     36    psfShape.sy  = source->modelPSF->params->data.F32[PM_PAR_SYY] / M_SQRT2;
     37    psEllipseAxes psfAxes = psEllipseShapeToAxes (psfShape, 20.0);
     38
     39    // XXX test : modify the Io, SXX, SYY terms based on the psf SXX, SYY terms:
     40    psEllipseShape extShape;
     41    extShape.sx  = modelConv->params->data.F32[PM_PAR_SXX] / M_SQRT2;
     42    extShape.sxy = modelConv->params->data.F32[PM_PAR_SXY];
     43    extShape.sy  = modelConv->params->data.F32[PM_PAR_SYY] / M_SQRT2;
     44    psEllipseAxes extAxes = psEllipseShapeToAxes (extShape, 20.0);
     45
     46    // decrease the initial guess ellipse by psf_minor axis:
     47    psEllipseAxes extAxesMod;
     48    extAxesMod.major = sqrt (PS_MAX (1.0, PS_SQR(extAxes.major) - PS_SQR(psfAxes.minor)));
     49    extAxesMod.minor = sqrt (PS_MAX (1.0, PS_SQR(extAxes.minor) - PS_SQR(psfAxes.minor)));
     50    extAxesMod.theta = extAxes.theta;
     51
     52    psEllipseShape extShapeMod = psEllipseAxesToShape (extAxesMod);
     53    modelConv->params->data.F32[PM_PAR_SXX] = extShapeMod.sx * M_SQRT2;
     54    modelConv->params->data.F32[PM_PAR_SXY] = extShapeMod.sxy;
     55    modelConv->params->data.F32[PM_PAR_SYY] = extShapeMod.sy * M_SQRT2;
     56
     57    // increase the initial guess central intensity by 2pi r^2:
     58    modelConv->params->data.F32[PM_PAR_I0] *= (1.0 + PS_SQR(psfAxes.minor) / PS_SQR(extAxesMod.minor));
    3159
    3260    psVector *params  = modelConv->params;
Note: See TracChangeset for help on using the changeset viewer.